← 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 porscheduleIds(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 recebemnewEndDate; as linhas com marcos recebemnewMilestones(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.