← Põhitõed / SDK-d
Tulude kajastamine (IFRS 15 / ASC 606)
Edasi lükatud tulud, ühtlased, tähistatavad ja protsendipõhised kajastusgraafikud, tagastusreservid, tellimused.
Tulude rida-realt edasilükkamine ja ajatatud kajastamine: lepingu kohustused, ajapõhised meetodid, tehinguhinna jaotamine, tagastusreservid, tellimused ja lepingute muudatused. Vaikimisi toimiv lahendus on muutmata – tavaline arverida kajastab tulud endiselt täies mahus väljaandmise hetkel (tehingu hetkel), mis on IFRS 606/15 kohaselt vastavuses ühe tarnimisel täidetud täitmiskohustusega. Kõik allpool kirjeldatu on arvete ridade kaupa vabatahtlikult kasutatav.
Tarkvara on IFRS 606/15-suutlik; aruandev üksus on see, mis on (või ei ole) nõuetele vastav. Õige meetodi valimine kohustuse kohta, eraldiseisvate müügihindade ja tagastusmäärade hindamine ning otsustamine, kas allesjäänud kaubad või teenused on muudatuse korral eristatavad, jäävad esitaja teha olevateks raamatupidamishinnanguteks.
Kontod
Vooge toetavad kolm kontoplaani kontot, mis on seotud kande-eeskirjade võtmetena (ettevõttepõhiselt muudetavad kaudu ledger/posting-rules/update): revenue.deferredIncome → 4910 "Ateinančių laikotarpių pajamos" (lepingu kohustus), revenue.refundLiability → 4450 "Grąžinimo įsipareigojimai pirkėjams", revenue.contractAsset → 2910 "Sukauptos pajamos". Olemasolevad ettevõtted saavad kontod kontoplaani malli uuesti rakendamise teel (ledger/accounts/apply-template).
Täitmiskohustused arve ridadel
Read sales/invoices/create|update aktsepteerivad välja recognition: { method, startDate, endDate, milestones }, kus method on üks järgmistest:
| Meetod | Käitumine väljaandmisel | Kajastamine |
|---|---|---|
point_in_time (vaikimisi) |
Kreeditarve täies mahus | väljaandmisel, muutmata |
ratable (startDate..endDate) |
Kreeditarve edasi lükatud tulud | päevapõhiselt kaalutud kuugraafik teenuse osutamise perioodil |
milestone (milestones[], protsentide summad 100) |
Kreeditarve edasi lükatud tulud | üks osamakse tähise kohta, kajastatakse sündmuse alusel |
percent_complete |
Kreeditarve edasi lükatud tulud | kumulatiivsete edenemise aruannete kaudu |
Nõuded ostjatele ja käibemaks on puutumata: väljaandmine kannab brutosumma deebetisse kontole 2410, käibemaksu kreediti kontole 4492 ning jagab netosumma tulude (tehingu hetke read) ja konto 4910 (edasi lükatud read) vahel. Graafikud salvestatakse ettevõtte baasvaluutas väljaandmise kuupäeva valuutakursiga – sales/recognition-schedules/list (sales:read) kuvab iga osamakset olekuga pending | recognized | cancelled.
Tehinguhinna jaotamine. Rohkem kui ühe rea korral jaotab standaloneSellingPrice igale reale arve netosumma kohustuste vahel proportsionaalselt (IFRS 15 §76–80); jaotatud summa – mitte märgitud rea hind – määrab tulude ja edasi lükatud tulude jagunemise ning graafikud. Käibemaks jääb arveridadele sellisena, nagu see on märgitud.
Kajastusmootor
Kajastamine kannab deebetisse konto 4910 ja kreeditisse tulud (teenuse/toote konto ja kulukeskus algselt realt) ühe kande kande kohta jooksvalt, mis salvestatakse asukohta sales/recognition/runs/list.
POST /v1/sales/recognition/compute(sales:read){ asOfDate? }– tähtajaliste ühtlaste osamaksete eelvaade (dry-run).POST /v1/sales/recognition/run(sales:write){ asOfDate?, postingDate?, scheduleIds? }– kanda tähtajalised ühtlased osamaksed või täpselt parameetrigascheduleIdsmääratud osamaksed (mis tahes meetodiga).POST /v1/sales/recognition/progress(sales:write){ invoiceLineId, percentComplete, date? }– protsendipõhised read: raporteeri kumulatiivne edenemine; äsja teenitud delta kantakse sisse kohe, tagasiminekud lükatakse tagasi.POST /v1/sales/recognition/summary(sales:read) – seni kajastatud, järelejäänud, ootel olevate arv ja järgmine maksetähtaeg rea kohta, lisaks ettevõtte koondsummad.
Kolm sündmust käivitavad kajastamise ilma küsitluseta: perioodi lukustamine (ledger/periods/lock) kajastab esmalt kõike läbi perioodi lõpu aegunut, mis kantakse perioodi lõpu kuupäevale; üleandmis-vastuvõtuakti väljastamine (sales/acts/issue) kajastab seotud arve ootel olevad tähistatud osamaksed akti kuupäeval; ning graafiku tähtaja taimer seadistatakse järgmisele ühtlasele maksetähtajale ja teeb kande ettevõtte kaupa selle saabumisel (lukustatud periood teeb uue katse hiljem). Tähised põhinevad meelega sündmustel – tähise expectedDate on plaaniline teave ega käivita kunagi kajastamist ise.
Muutuv tasu – tagastusreserv
Parameeter refundEstimatePercent real kreeditab (jaotatud) netosumma seda osa kontole 4450 tulude või edasi lükatud tulude asemel väljaandmise hetkel – oodatud tagastused arvatakse tehinguhinnast välja (IFRS 15 §55). Arvepõhine olek asub aadressil sales/refund-liability/list (hinnanguline, realiseeritud, täheldatud arveldatud tagastused, järelejäänud).
Tegelikud summad: arvepõhine kreeditarve debiteerib kontot 4450 kuni järelejäänud reservini enne tulude puudutamist. sales/refund-liability/true-up (sales:write) { invoiceId, estimatedTotal, date? } korrigeerib hinnangut ja kannab delta tuludesse kummaski suunas (piiratud realiseeritud summaga). Arvega seotud makseteenuse pakkuja (PSP) arveldatud tagastused registreeritakse reservil ja need käivitavad veebikonksu refund_liability.actual – need ei kanna otse kontole 4450, sest tulude ja müügikäibemaksu vähendamine nõuab kreeditarvet käibemaksudokumendina.
Tellimused – lepingud arveteks
Määrake lepingule billingPeriod (monthly | quarterly | annual) ja agreements/generate-invoice (agreements:write) loob järgmise arveldamata perioodi mustandiarve: read lepingupositsioonidest (või value ühe reana perioodi kohta), millest igaühel on ühtlane kajastamine teenuse osutamise perioodil. agreements/billing/run { asOfDate? } käib läbi kõik aktiivsed lepingud, genereerib iga tasumisele kuuluva perioodi ja aegunud lepingud, mis on pärast nende lõppkuupäeva täielikult arveldatud. Lõplikud lühikesed perioodid arvestatakse päevade alusel proportsionaalselt; autoRenew pikendab tähtaega selle enda pikkuse võrra ja jätkab arveldamist. Genereeritud arvetel on agreementId (filtreeritav väljal sales/invoices/list).
Lepingute muudatused
POST /v1/sales/recognition/modify (sales:write) { invoiceLineId, approach, date?, newEndDate?, newMilestones? }:
prospective– tühista ootel oleval graafikul ja jaota kajastamata ülejääk uuesti uute tingimuste alusel alates muudatuse kuupäevast (ülejäänud kaubad/teenused on eristatavad: IFRS 15 §20(a), §21(a)). Ühtlased read võtavad parameetrinewEndDate; tähistatud read võtavad parameetrinewMilestones(ülejäänud summa protsendid).cumulative_catch_up(ainult ühtlased) – arvuta tulud uuesti ümber nii, nagu uued tingimused kehtiksid algusest peale, ja kanna vahe kohe sisse kummaski suunas (üks osaliselt täidetud kohustus: §21(b)); ülejääk jaotatakse uuesti.
Hinna alandamised kajastuvad kreeditarvete kaudu: ootel graafikutega arve kreeditarve debiteerib esmalt edasi lükatud tulusid ja kärbib ootel plaan selle kaugemast otsast, seejärel tagastusreservi ja alles siis tulusid. Hinna tõusud on täiendavad arved oma kajastamisega – olemuselt prospektiivsed.
Piirangud
- Graafikud ja kajastuskanded on baasvaluuta (EUR) summad, mis on fikseeritud väljaandmise kuupäeva valuutakursiga; edasi lükatud saldosid ei hinnata pärast väljaandmist uuesti valuutakursi alusel.
- Lepinguvara konto (2910) on esitatud kontoplaanis ja kande-eeskirja võtmena, kuid sellele ei kanta veel ühtegi automatiseeritud arveldamata tulude voogu – enne arveldamist kajastamine on praegu käsitsi tehtav kanne.
- Jaotamine eeldab eraldiseisvat müügihinda kõigil arve ridadel või mitte ühelgi; jäägimeetodit (§79(c)) ei ole rakendatud.
- Tagastusreservid kajastatakse arve tasemel käibemaksuta (neto); tagastatud kaupade tagasivõtmise õigusega seotud vastavat vara (§B25) ei ole modelleeritud.
- Kumulatiivne järelejõudmine kehtib ühtlastele ridadele; tähiste ümberplaanimine on ainult prospektiivne; protsendipõhiseid ridu korrigeeritakse edenemisaruannete, mitte funktsiooni
modifykaudu. - Olulised finantseerimiskomponendid (§60–65), mitterahaline tasu ja kliendile makstav tasu ei kuulu kohaldamisalasse.
- Automaatsed graafiku tähtaja kanded tehakse nende toimumise päeval; järelejõudmise kanded lukustatud perioodidesse lükatakse tagasi – avage periood või kasutage avatud kande kuupäeva.
FAQ
Q: Kuidas tühistada või parandada ebaõige kajastusgraafik? A: Kui arvet pole veel lukustatud perioodile postitatud, tühistage arve või muutke rida. Juba tehtud kajastuskannete parandamiseks kasutage käsitsi tehtavat korrigeerivat kannet või looge kreeditarve.
Q: Kas ma saan muuta kajastusmeetodit pärast arve väljastamist? A: Otse muuta ei saa. Meetodi muutmiseks tuleb arve tühistada kreeditarvega ja koostada uus õigete parameetritega arve või kasutada lepingute muudatuste (contract modifications) funktsionaalsust, kui see on kohaldatav.
Q: Mis juhtub, kui teenuse osutamise periood ulatub üle mitme majandusaasta? A: Süsteem arvestab graafiku koostamisel täpsed kuupäevad ja jaotab tulud vastavalt perioodidele (päevapõhine kaalumine), tagades vastavuse perioodide eraldatuse printsiibiga ka üle majandusaasta piiride.