Nordlet

← Documentatie / Handleidingen

Omzetverantwoording (IFRS 15 / ASC 606)

Uitgestelde omzet, gelijkmatige, mijlpaal- en voltooiingspercentage-schema's, teruggaveverplichtingen, abonnementen.

Omzetuitstel per regel en geplande verantwoording: contractverplichtingen, methoden op basis van verstreken tijd, toewijzing van de transactieprijs, voorzieningen voor teruggaven, abonnementen en contractwijzigingen. De standaardwerkwijze blijft ongewijzigd - een gewone factuurregel verantwoordt de omzet nog steeds volledig bij uitgifte (op een specifiek moment), wat consistent is met ASC 606 / IFRS 15 voor een enkele prestatieverplichting die bij levering wordt nagekomen. Alles hieronder is optioneel per factuurregel.

De software is geschikt voor ASC 606 / IFRS 15; de aannemende entiteit is degene die wel of niet compliant is. Het kiezen van de juiste methode per verplichting, het schatten van de reële verkoopprijzen (standalone selling prices) en teruggavepercentages, en het beoordelen of resterende goederen of diensten onderscheidbaar zijn bij een wijziging, blijven boekhoudkundige beoordelingen die de indiener zelf maakt.

Grootboekrekeningen

Drie grootboekrekeningen ondersteunen de stromen, gekoppeld als boekingsregelsleutels (overschrijfbaar per bedrijfsentiteit via ledger/posting-rules/update): revenue.deferredIncome → 4910 "Ateinančių laikotarpių pajamos" (contractverplichting), revenue.refundLiability → 4450 "Grąžinimo įsipareigojimai pirkėjams", revenue.contractAsset → 2910 "Sukauptos pajamos". Bestaande bedrijven ontvangen de rekeningen door de rekeningschema-sjabloon opnieuw toe te passen (ledger/accounts/apply-template).

Prestatieverplichtingen op factuurregels

Regels in sales/invoices/create|update accepteren recognition: { method, startDate, endDate, milestones } waarbij method een van de volgende waarden aanneemt:

Methode Gedrag bij uitgifte Verantwoording
point_in_time (standaard) Volledige creditering omzet bij uitgifte, ongewijzigd
ratable (startDate..endDate) Creditering uitgestelde omzet daggewogen maandelijks schema over de serviceperiode
milestone (milestones[], percentages die optellen tot 100) Creditering uitgestelde omzet één tranches per mijlpaal, verantwoord bij de gebeurtenis
percent_complete Creditering uitgestelde omzet via cumulatieve voortgangsrapportages

Debiteuren en btw blijven onaangetast: bij uitgifte wordt debet 2410 geboekt voor het brutobedrag, credit 4492 voor btw, en wordt het nettobedrag verdeeld tussen omzet (regels op een specifiek moment) en 4910 (uitgestelde regels). Schema's worden opgeslagen in de basisvaluta van het bedrijf tegen de wisselkoers op de uitgiftedatum - sales/recognition-schedules/list (sales:read) toont elke tranches met de status pending | recognized | cancelled.

Toewijzing van de transactieprijs. Bij meer dan één regel zorgt standaloneSellingPrice op elke regel voor een pro-rata toewijzing van het factuurnetto over de verplichtingen (IFRS 15 §76–80); het toegewezen bedrag - niet de vermelde regelprijs - bepaalt de verdeling tussen omzet en uitgesteld, evenals de schema's. De btw blijft gekoppeld aan de factuurregels zoals vermeld.

Verantwoordingsengine

De omzetverantwoording boekt debet 4910 / credit omzet (service-/productrekening en kostenplaats van de oorspronkelijke regel) als één enkele journaalpost per run, vastgelegd in sales/recognition/runs/list.

  • POST /v1/sales/recognition/compute (sales:read) { asOfDate? } - proefdraaien (dry-run) van vervallen gelijkmatige tranches.
  • POST /v1/sales/recognition/run (sales:write) { asOfDate?, postingDate?, scheduleIds? } - boek vervallen gelijkmatige tranches, of exact de tranches aangeduid met scheduleIds (ongeacht de methode).
  • POST /v1/sales/recognition/progress (sales:write) { invoiceLineId, percentComplete, date? } - regels op basis van voltooiingspercentage: rapporteer de cumulatieve voortgang; de zojuist verdiende delta wordt onmiddellijk geboekt, regressies worden afgewezen.
  • POST /v1/sales/recognition/summary (sales:read) - tot op heden verantwoord, resterend, aantal in afwachting en volgende vervaldatum per regel, plus totalen op bedrijfsniveau.

Drie gebeurtenissen sturen de verantwoording aan zonder dat polling nodig is: periodevergrendeling (ledger/periods/lock) verantwoordt eerst alles wat verschuldigd is tot en met het einde van de periode, geboekt op de datum van het periode-einde; uitgifte van het leveringsbewijs (sales/acts/issue) verantwoordt de gekoppelde factuurtranches in afwachting op de datum van het bewijs; en een schema-vervaltijdmerker (schedule-due timer) activeert op de volgende gelijkmatige vervaldatum en boekt per bedrijf wanneer deze aanbreekt (een vergrendelde periode probeert het later opnieuw). Mijlpalen zijn doelbewust gebeurtenisgestuurd - de expectedDate van een mijlpaal is planningsinformatie en activeert nooit op zichzelf de verantwoording.

Variabele tegenprestatie - teruggaveverplichting

refundEstimatePercent op een regel crediteert dat aandeel van het (toegewezen) netto op 4450 in plaats van omzet of uitgestelde omzet bij uitgifte - verwachte teruggaven worden uitgesloten van de transactieprijs (IFRS 15 §55). De status per factuur bevindt zich in sales/refund-liability/list (geschat, verbruikt, geobserveerde afwikkeling van teruggaven, resterend).

Werkelijke bedragen: een creditnota tegen de factuur debiteert 4450 tot het resterende bedrag van de verplichting voordat de omzet wordt aangesproken. sales/refund-liability/true-up (sales:write) { invoiceId, estimatedTotal, date? } herzie de schatting en boekt de delta in beide richtingen tegen de omzet (gemaximeerd op het verbruikte bedrag). PSP-afwikkelingsrestituties die zijn gematcht met de factuur worden geregistreerd op de verplichting en genereren een refund_liability.actual webhook - zij boeken niet rechtstreeks tegen 4450, omdat het ontlasten van de omzet en verschuldigde btw de creditnota vereist als btw-document.

Abonnementen - overeenkomsten tot facturen

Wijs een billingPeriod toe aan een overeenkomst (monthly | quarterly | annual) en agreements/generate-invoice (agreements:write) creëert de conceptfactuur voor de volgende niet-gefactureerde periode: regels uit de overeenkomstitems (of value als één regel per periode), elk met gelijkmatige verantwoording over de serviceperiode. agreements/billing/run { asOfDate? } doorzoekt alle actieve overeenkomsten, genereert elke vervallen periode en laat overeenkomsten vervallen die volledig zijn gefactureerd na hun einddatum. Laatste korte perioden worden naar rato van dagen berekend; autoRenew verlengt de termijn met zijn eigen lengte en zet de facturering voort. Gegenereerde facturen dragen het kenmerk agreementId (filterbaar in sales/invoices/list).

Contractwijzigingen

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

  • prospective - annuleer het openstaande schema en herverdeel het niet-verantwoorde resterende bedrag over de nieuwe voorwaarden vanaf de wijzigingsdatum (resterende goederen of diensten zijn onderscheidbaar: IFRS 15 §20(a), §21(a)). Gelijkmatige regels vereisen newEndDate; mijlpaalregels vereisen newMilestones (percentages van het resterende bedrag).
  • cumulative_catch_up (alleen gelijkmatig) - herbereken de omzet alsof de nieuwe voorwaarden vanaf het begin van toepassing waren en boek het verschil onmiddellijk, in beide richtingen (enkele gedeeltelijk nagekomen verplichting: §21(b)); het resterende bedrag wordt herverdeeld.

Prijsdalingen vloeien door via creditnotas: een creditnota tegen een factuur met openstaande schema's debiteert eerst de uitgestelde omzet en kort het openstaande schema aan de achterkant in, vervolgens de teruggaveverplichting, en pas daarna de omzet. Prijsstijgingen zijn aanvullende facturen met een eigen verantwoording - per definitie prospectief.

Limieten

  • Schema's en verantwoordingsboekingen zijn bedragen in basisvaluta (EUR) vastgelegd tegen de wisselkoers op de uitgiftedatum; uitgestelde saldi worden na uitgifte niet opnieuw gewaardeerd voor wisselkoersen.
  • De rekening voor contractactiva (2910) is beschikbaar in het rekeningschema en als boekingssleutel, maar er boekt nog geen geautomatiseerde stroom voor niet-gefactureerde omzet naar toe - voorafgaand aan facturering verantwoorden is momenteel een handmatige journaalpost.
  • Toewijzing vereist een reële verkoopprijs op alle factuurregels of op geen enkele; de restwaardeaanpak (§79(c)) is niet geïmplementeerd.
  • Teruggaveverplichtingen worden gevolgd exclusief btw op factuurniveau; de overeenkomstige activapost voor het recht om geretourneerde goederen terug te vorderen (§B25) is niet gemodelleerd.
  • Cumulatieve inhaalaanpassing is van toepassing op gelijkmatige regels; herplanning van mijlpalen is uitsluitend prospectief; regels voor voltooiingspercentage worden aangepast via voortgangsrapportages, niet via modify.
  • Significante financieringscomponenten (§60–65), niet-geldelijke tegenprestaties en aan een klant te betalen vergoedingen vallen buiten de scope.
  • Automatische schemavervalruns boeken op de dag dat ze worden geactiveerd; inhaalboekingen in vergrendelde perioden worden afgewezen - ontgrendel de periode of gebruik een open boekingsdatum.

FAQ

Hoe worden wisselkoerswijzigingen verwerkt voor uitgestelde omzet? De bedragen worden vastgelegd tegen de wisselkoers op de uitgiftedatum en er vindt geen herwaardering plaats voor wisselkoersen.

Kan ik een contractwijziging met terugwerkende kracht doorvoeren? Nee, wijzigingen zijn prospectief of gebruiken een cumulatieve inhaalaanpassing vanaf de wijzigingsdatum.

Wat gebeurt er als een contractperiode eindigt in een vergrendelde periode? Inhaalboekingen in vergrendelde perioden worden afgewezen; u dient de periode te ontgrendelen of een open boekingsdatum te gebruiken.