Nordlet

← Documentacao / Guias

Reconhecimento de proveitos (IFRS 15 / ASC 606)

Proveitos diferidos, planos lineares, por marcos e de percentagem de conclusão, passivos por reembolso, avenças.

Diferimento de proveitos por linha e reconhecimento programado: passivos de contratos, métodos ao longo do tempo, afetação do preço de transação, provisões para reembolsos, avenças e modificações contratuais. O comportamento predefinido mantém-se inalterado - uma linha de fatura simples continua a reconhecer os proveitos na totalidade no momento da emissão (momento específico), o que está em conformidade com a norma 606/15 para uma única obrigação de desempenho satisfeita na entrega. Tudo o que se segue é opcional por linha de fatura.

O software possui as capacidades necessárias para a norma 606/15; a entidade relatores é a responsável pela conformidade (ou falta dela). A escolha do método correto por obrigação, a estimativa de preços de venda independentemente (standalone) e de taxas de reembolso, bem como a avaliação sobre se os bens ou serviços remanescentes são distintos em caso de modificação, continuam a ser julgamentos contabilísticos a efetuar pela entidade declarante.

Contas

Três contas do plano de contas sustentam estes fluxos, configuradas como chaves de regras de publicação (com possibilidade de substituição por empresa através de ledger/posting-rules/update): revenue.deferredIncome → 4910 "Ateinančių laikotarpių pajamos" (passivo de contrato), revenue.refundLiability → 4450 "Grąžinimo įsipareigojimai pirkėjams", revenue.contractAsset → 2910 "Sukauptos pajamos". As empresas existentes obtêm estas contas através da reaplicação do modelo de plano de contas (ledger/accounts/apply-template).

Obrigações de desempenho nas linhas da fatura

As linhas de sales/invoices/create|update aceitam recognition: { method, startDate, endDate, milestones }, sendo method um dos seguintes:

Método Comportamento na emissão Reconhecimento
point_in_time (predefinido) Cédito (CR) de proveitos na totalidade no momento da emissão, inalterado
ratable (startDate..endDate) Cédito (CR) de proveitos diferidos plano mensal ponderado pelos dias ao longo do período de serviço
milestone (milestones[], percentagens cuja soma seja 100) Cédito (CR) de proveitos diferidos uma tranche por marco, reconhecida aquando do evento
percent_complete Cédito (CR) de proveitos diferidos através de relatórios de progresso acumulado

As contas de clientes (AR) e IVA não sofrem alterações: a emissão lança um débito (DR) na conta 2410 pelo montante bruto, um crédito (CR) na conta 4492 pelo IVA, e divide o valor líquido entre proveitos (linhas com reconhecimento num momento específico) e a conta 4910 (linhas diferidas). Os planos são armazenados na moeda base da empresa à taxa de câmbio da data de emissão - sales/recognition-schedules/list (sales:read) apresenta cada tranche com o estado pending | recognized | cancelled.

Afetação do preço de transação. Com mais do que uma linha, o campo standaloneSellingPrice em todas as linhas afeta o valor líquido da fatura pelas obrigações em proporção (IFRS 15 §76–80); o montante afetado - e não o preço indicado na linha - determina a divisão entre proveitos e proveitos diferidos, bem como os planos. O IVA mantém-se associado às linhas da fatura conforme indicado.

Motor de reconhecimento

O reconhecimento efetua um débito (DR) na conta 4910 e um crédito (CR) em proveitos (conta de serviço/produto e centro de custos da linha original) como um único lançamento por execução, registado em sales/recognition/runs/list.

  • POST /v1/sales/recognition/compute (sales:read) { asOfDate? } - pré-visualização de simulação das tranches lineares vencidas.
  • POST /v1/sales/recognition/run (sales:write) { asOfDate?, postingDate?, scheduleIds? } - contabiliza as tranches lineares vencidas, ou exatamente as tranches especificadas por scheduleIds (qualquer método).
  • POST /v1/sales/recognition/progress (sales:write) { invoiceLineId, percentComplete, date? } - linhas com percentagem de conclusão: reporta o progresso acumulado; o novo delta gerado é contabilizado imediatamente, sendo as regressões rejeitadas.
  • POST /v1/sales/recognition/summary (sales:read) - montante reconhecido até à data, montante remanescente, contagem de pendentes e próxima data de vencimento por linha, além dos totais da empresa.

Três eventos acionam o reconhecimento sem necessidade de sondagem (polling): o fecho de período (ledger/periods/lock) reconhece primeiro tudo o que estiver vencido até ao final do período, lançado na data de fim do período; a emissão do auto de receção (sales/acts/issue) reconhece as tranches de marcos pendentes da fatura associada na data do auto; e um temporizador de vencimento de plano programa-se para a data linear de vencimento seguinte e efetua o lançamento por empresa quando esta chega (um período fechado efetuará uma nova tentativa mais tarde). Os marcos são baseados em eventos de propósito - o campo expectedDate de um marco é informação de planeamento e nunca despoleta o reconhecimento por si só.

Contraprestação variável - passivo por reembolso

O campo refundEstimatePercent numa linha credita essa quota da parte líquida (afetada) na conta 4450 em vez de em proveitos ou proveitos diferidos na emissão - os reembolsos esperados são excluídos do preço de transação (IFRS 15 §55). O estado por fatura encontra-se em sales/refund-liability/list (estimado, consumido, reembolsos de liquidação observados, remanescente).

Valores reais: uma nota de crédito emitida contra a fatura debita a conta 4450 até ao limite do passivo remanescente antes de tocar nos proveitos. A operação sales/refund-liability/true-up (sales:write) { invoiceId, estimatedTotal, date? } revê a estimativa e contabiliza o delta face aos proveitos em qualquer direção (com o limite mínimo do montante consumido). Os reembolsos de liquidação de prestadores de serviços de pagamento (PSP) associados à fatura são registados no passivo e emitem um webhook refund_liability.actual - estes não são lançados diretamente contra a conta 4450, pois a anulação de proveitos e de IVA liquidado exige a nota de crédito como documento de IVA.

Avenças - de acordos a faturas

Atribua a um acordo um período de faturação (billingPeriod: monthly | quarterly | annual), e a rota agreements/generate-invoice (agreements:write) cria a rascunho da fatura do período seguinte ainda não faturado: linhas provenientes dos artigos do acordo (ou o campo value como uma linha por período), cada uma com reconhecimento linear ao longo do período de serviço. A operação agreements/billing/run { asOfDate? } processa todos os acordos ativos, gera todos os períodos vencidos e caduca os acordos totalmente faturados após a respetiva data de fim. Os períodos curtos finais são calculados proporcionalmente por dias; o parâmetro autoRenew prolonga o prazo pela respetiva duração e mantém a faturação. As faturas geradas contêm o campo agreementId (filtrável em sales/invoices/list).

Modificações contratuais

POST /v1/sales/recognition/modify (sales:write) { invoiceLineId, approach, date?, newEndDate?, newMilestones? }:

  • prospective - cancela o plano pendente e redistribui o remanescente não reconhecido pelos novos prazos a partir da data de modificação (os bens ou serviços remanescentes são distintos: IFRS 15 §20(a), §21(a)). As linhas lineares recebem newEndDate; as linhas com marcos recebem newMilestones (percentagens do montante remanescente).
  • cumulative_catch_up (apenas para linhas lineares) - recalcula os proveitos como se os novos termos se aplicassem desde o início e contabiliza a diferença imediatamente, em qualquer direção (única obrigação parcialmente satisfeita: §21(b)); o remanescente é redistribuído.

As reduções de preço refletem-se através de notas de crédito: uma nota de crédito emitida contra uma fatura com planos pendentes debita primeiro os proveitos diferidos e reduz o plano pendente a partir do seu extremo final, de seguida o passivo por reembolso, e só depois os proveitos. Os aumentos de preço consistem em faturas adicionais com o respetivo reconhecimento - prospetivas por natureza.

Limites

  • Os planos e lançamentos de reconhecimento correspondem a montantes na moeda base (EUR) fixados à taxa de câmbio da data de emissão; os saldos diferidos não são reavaliados para efeitos cambiais após a emissão.
  • A conta de ativo de contrato (2910) é disponibilizada no plano de contas e como chave de lançamento, mas ainda não existe nenhum fluxo automatizado de proveitos não faturados associado à mesma - o reconhecimento prévio à faturação é efetuado atualmente através de um lançamento de diário manual.
  • A afetação requer um preço de venda independente em todas as linhas da fatura ou em nenhuma; a abordagem residual (§79(c)) não se encontra implementada.
  • Os passivos por reembolso são monitorizados líquidos de IVA ao nível da fatura; o ativo correspondente ao direito de recuperar os bens devolvidos (§B25) não é modelado.
  • A atualização acumulada (cumulative catch-up) aplica-se a linhas lineares; o replaneamento de marcos é estritamente prospetivo; as linhas com percentagem de conclusão são ajustadas através de relatórios de progresso e não através de modify.
  • Componentes de financiamento significativas (§60–65), contraprestações não monetárias e contraprestações a pagar a um cliente estão fora do âmbito.
  • As ejecções automáticas de planos vencidos são lançadas no dia em que ocorrem; os lançamentos de regularização em períodos fechados são rejeitados - deve reabrir o período ou utilizar uma data de lançamento aberta.