← Dokumentacija / Vodiči
Priznavanje prihoda (MSFI 15 / ASC 606)
Odgođeni prihodi, linearni rasporedi, rasporedi prema prekretnicama i postotku dovršenosti, obveze po osnovi povrata, pretplate.
Odgoda prihoda po stavci i raspoređeno priznavanje: obveze po ugovorima, metode s obzirom na protek vremena, alokacija transakcijske cijene, rezerviranja za povrate, pretplate i izmjene ugovora. Zadani tijek ostaje nepromijenjen - obična stavka računa i dalje u cijelosti priznaje prihod prilikom izdavanja (u određenom trenutku), što je u skladu sa standardom 606/15 za jedinstvenu obvezu izvršenja koja je podmirena pri isporuci. Sve navedeno u nastavku primjenjuje se opcionalno (opt-in) po pojedinoj stavci računa.
Softver je prilagođen standardima 606/15; izvještajni subjekt je taj koji je (ili nije) u skladu s njima. Odabir ispravne metode po obvezi, procjena pojedinačnih prodajnih cijena i stopa povrata te donošenje prosudbe o tome jesu li preostala roba ili usluge zasebni prilikom izmjene ugovora i dalje ostaju računovodstvene prosudbe koje donosi obveznik izvještavanja.
Računi
Tri konta glavne knjige podržavaju ove tijekove, povezana kao ključevi pravila knjiženja (mogu se nadjačati po tvrtki putem ledger/posting-rules/update): revenue.deferredIncome → 4910 "Ateinančių laikotarpių pajamos" (obveza po ugovoru), revenue.refundLiability → 4450 "Grąžinimo įsipareigojimai pirkėjams", revenue.contractAsset → 2910 "Sukauptos pajamos". Postojeće tvrtke dobivaju konta ponovnom primjenom predloška kontnog plana (ledger/accounts/apply-template).
Obveze izvršenja na stavkama računa
Stavke u sales/invoices/create|update prihvaćaju objekt recognition: { method, startDate, endDate, milestones } pri čemu method može biti jedan od sljedećih:
| Metoda | Ponašanje pri izdavanju | Priznavanje |
|---|---|---|
point_in_time (zadano) |
KONTO prihod u cijelosti | pri izdavanju, neizmjenjeno |
ratable (startDate..endDate) |
KONTO odgođeni prihod | Mjesečni raspored ponderiran prema danima tijekom razdoblja usluge |
milestone (milestones[], postoci čiji je zbroj 100) |
KONTO odgođeni prihod | jedna tranša po prekretnici, priznaje se pri nastanku događaja |
percent_complete |
KONTO odgođeni prihod | putem izvješća o kumulativnom napretku |
Potraživanja od kupaca (AR) i PDV ostaju netaknuti: izdavanjem se knjiženi dugovni iznos (DR) 2410 za bruto iznos, potražni iznos (CR) 4492 za PDV, a neto iznos se dijeli između prihoda (stavke u određenom trenutku) i konta 4910 (odgođene stavke). Rasporedi se pohranjuju u izvještajnoj valuti tvrtke prema tečaju na dan izdavanja - sales/recognition-schedules/list (sales:read) prikazuje svaku tranšu sa statusom pending | recognized | cancelled (u tijeku | priznato | poništeno).
Alokacija transakcijske cijene. S više od jedne stavke, standaloneSellingPrice na svakoj stavci raspodjeljuje neto iznos računa proporcionalno na obveze (MSFI 15, §76–80); raspoređeni iznos - a ne iskazana cijena stavke - upravlja raspodjelom na prihode/odgođene prihode i rasporedima. PDV ostaje vezan uz stavke računa kako je iskazano.
Mehanizam priznavanja
Priznavanje knjiži dugovno (DR) 4910 / potražno (CR) prihod (konto usluge/proizvoda i troškovno mjesto s izvorne stavke) kao jedinstveni temeljni dokument po pokretanju, zabilježen u sales/recognition/runs/list.
POST /v1/sales/recognition/compute(sales:read){ asOfDate? }- probni pregled dospjelih linearnih tranša.POST /v1/sales/recognition/run(sales:write){ asOfDate?, postingDate?, scheduleIds? }- knjiženje dospjelih linearnih tranša ili točno određenih tranši navedenih krozscheduleIds(bilo koja metoda).POST /v1/sales/recognition/progress(sales:write){ invoiceLineId, percentComplete, date? }- stavke s postotkom dovršenosti: prijavljivanje kumulativnog napretka; novo ostvarena razlika knjiži se odmah, a nazadovanja (regresije) se odbijaju.POST /v1/sales/recognition/summary(sales:read) - priznato do danas, preostali iznos, broj stavki na čekanju i sljedeći datum dospijeća po stavci, uz ukupne iznose za tvrtku.
Tri događaja pokreću priznavanje bez potrebe za stalnim provjeravanjem (polling): zaključenje razdoblja (ledger/periods/lock) najprije priznaje sve što dospijeva do kraja razdoblja, s knjiženjem na datum završetka razdoblja; izdavanje primopredajnog zapisnika (sales/acts/issue) priznaje povezane tranše prekretnica s računa na datum zapisnika; te mjerač vremena dospijeća rasporeda koji se postavlja na sljedeći linearni datum dospijeća i knjiži za svaku tvrtku kada on nastupi (zaključeno razdoblje ponovno pokušava knjiženje kasnije). Prekretnice su namjerno temeljene na događajima - expectedDate neke prekretnice predstavlja informaciju za planiranje i sama po sebi nikada ne pokreće priznavanje.
Promjenjiva naknada - obveza po osnovi povrata
refundEstimatePercent na stavci odobrava taj udio (raspoređenog) neto iznosa na konto 4450 umjesto na prihod ili odgođeni prihod prilikom izdavanja - očekivani povrati su isključeni iz transakcijske cijene (MSFI 15 §55). Stanje za pojedini račun nalazi se u sales/refund-liability/list (procijenjeno, iskorišteno, uočeni ostvareni povrati, preostalo).
Stvarni iznosi: odobrenje (kreditna nota) za račun zadužuje konto 4450 do visine preostale obveze prije diranja u prihod. sales/refund-liability/true-up (sales:write) { invoiceId, estimatedTotal, date? } revidira procjenu i knjiži razliku u odnosu na prihod u bilo kojem smjeru (s donjom granicom na iskorišteni iznos). Povrati od strane pružatelja platnih usluga (PSP) koji su usklađeni s računom bilježe se na obvezi i odašilju webhook refund_liability.actual - oni se ne knjiže izravno na teret konta 4450, jer smanjenje prihoda i izlaznog PDV-a zahtijeva odobrenje kao knjigovodstvenu ispravu za PDV.
Pretplate - ugovori i računi
Dodjeljivanjem parametra billingPeriod (monthly | quarterly | annual) ugovoru, funkcija agreements/generate-invoice (agreements:write) kreira nacrt računa za sljedeće razdoblje za koje nije izdan račun: stavke proizašle iz stavki ugovora (ili vrijednost value kao jedna stavka po razdoblju), svaka s linearnim priznavanjem tijekom razdoblja usluge. Funkcija agreements/billing/run { asOfDate? } obuhvaća sve aktivne ugovore, generira svako dospjelo razdoblje i zaključuje ugovore koji su u potpunosti fakturirani nakon isteka njihova roka. Konačna kratka razdoblja proporcionalno se dijele prema danima; autoRenew produljuje ugovor za njegovo vlastito trajanje i nastavlja s fakturiranjem. Generirani računi nose oznaku agreementId (može se filtrirati u sales/invoices/list).
Izmjene ugovora
POST /v1/sales/recognition/modify (sales:write) { invoiceLineId, approach, date?, newEndDate?, newMilestones? }:
prospective- poništavanje rasporeda na čekanju i ponovni raspored nepriznatog ostatka prema novim uvjetima počevši od datuma izmjene (preostala roba/usluge su zasebne: MSFI 15 §20(a), §21(a)). Linearne stavke primajunewEndDate; stavke s prekretnicama primajunewMilestones(postotci preostalog iznosa).cumulative_catch_up(samo za linearne) - ponovni izračun prihoda kao da su se novi uvjeti primjenjivali od početka i trenutno knjiženje razlike u bilo kojem smjeru (jedinstvena djelomično podmirena obveza: §21(b)); ostatak se ponovno raspodjeljuje.
Smanjenja cijena provode se kroz odobrenja (kreditne note): odobrenje za račun s rasporedima na čekanju najprije zadužuje odgođeni prihod i skraćuje plan na čekanju s njegove krajnje strane, zatim obvezu po osnovi povrata, te tek na kraju prihod. Povećanja cijena predstavljaju dodatne račune s vlastitim priznavanjem - prospectivno po samoj svojoj prirodi.
Ograničenja
- Rasporedi i knjiženja priznavanja su iznosi u izvještajnoj valuti (EUR) fiksirani prema tečaju na dan izdavanja; odgođeni saldo se nakon izdavanja ne preračunava prema tečajnim razlikama.
- Konto imovine po ugovoru (2910) naveden je u kontnom planu i kao ključ knjiženja, ali se automatski tijek nenaplaćenih prihoda još uvijek ne knjiži na njega - priznavanje prije fakturiranja trenutno predstavlja ručni temeljni dokument.
- Alokacija zahtijeva pojedinačnu prodajnu cijenu na svim stavkama računa ili ni na jednoj; rezidualni pristup (§79(c)) nije implementiran.
- Obveze po osnovi povrata prate se bez PDV-a na razini računa; pripadajuća imovina za pravo na povrat vraćene robe (§B25) nije modelirana.
- Kumulativno usklađivanje primjenjuje se na linearne stavke; ponovno planiranje prekretnica isključivo je prospectivno; stavke s postotkom dovršenosti prilagođavaju se putem izvješća o napretku, a ne putem funkcije
modify. - Značajne financijske komponente (§60–65), nenovčana naknada i naknada plativa kupcu izvan su obuhvata.
- Automatska pokretanja dospjelih rasporeda knjiže se na dan kada se aktiviraju; naknadna knjiženja u zaključena razdoblja se odbijaju - otključajte razdoblje ili upotrijebite otvoreni datum knjiženja.