← Dokumentacija / Vadovai
Pajamų pripažinimas (IFRS 15 / ASC 606)
Ateinančių laikotarpių pajamos, proporcingas, etapų ir baigtumo procento grafikai, grąžinimo įsipareigojimai, prenumeratos.
Pajamų atidėjimas ir suplanuotas pripažinimas eilutės lygmeniu: sutartiniai įsipareigojimai (contract liabilities), pripažinimo per laikotarpį metodai (over-time methods), sandorio kainos paskirstymas, grąžinimo atidėjiniai, prenumeratos ir sutarčių modifikacijos. Numatytasis būdas išlieka nepakitęs – įprasta sąskaitos faktūros eilutė vis tiek pripažįsta pajamas visa apimtimi išrašymo metu (konkrečiu momentu, point in time), o tai atitinka 606/15 standartus vienam vykdymo įsipareigojimui, kuris įvykdomas pristatymo metu. Viskas, kas aprašyta toliau, yra pasirenkama (opt-in) kiekvienai sąskaitos faktūros eilutei atskirai.
Programinė įranga yra pritaikyta 606/15 standartams; atskaitingas subjektas yra tas, kuris jų laikosi (arba ne). Tinkamo metodo parinkimas kiekvienam įsipareigojimui, atskirų pardavimo kainų (standalone selling prices) ir grąžinimo normų įvertinimas bei sprendimas, ar likusios prekės ar paslaugos yra atskiros atliekant modifikaciją, išlieka apskaitos vertinimais, kuriuos atlieka įmonė.
Sąskaitos
Šiuos srautus palaiko trys sąskaitų plano sąskaitos, susietos kaip registravimo taisyklių raktai (kuriuos galima pakeisti kiekvienai įmonei per ledger/posting-rules/update): revenue.deferredIncome → 4910 „Ateinančių laikotarpių pajamos“ (sutartinis įsipareigojimas), revenue.refundLiability → 4450 „Grąžinimo įsipareigojimai pirkėjams“, revenue.contractAsset → 2910 „Sukauptos pajamos“. Esamoms įmonėms šios sąskaitos sukuriamos iš naujo pritaikius sąskaitų plano šabloną (ledger/accounts/apply-template).
Vykdymo įsipareigojimai sąskaitų faktūrų eilutėse
sales/invoices/create|update eilutės priima recognition: { method, startDate, endDate, milestones }, kur method yra vienas iš:
| Metodas | Elgsena išrašymo metu | Pripažinimas |
|---|---|---|
point_in_time (numatytasis) |
K pajamos visa apimtimi | išrašymo metu, nepakitęs |
ratable (startDate..endDate) |
K ateinančių laikotarpių pajamos | dienomis svertinis mėnesinis grafikas per paslaugų teikimo laikotarpį |
milestone (milestones[], procentų suma 100) |
K ateinančių laikotarpių pajamos | viena dalis (tranche) kiekvienam etapui, pripažįstama įvykus įvykiui |
percent_complete |
K ateinančių laikotarpių pajamos | per kaupiamosios pažangos ataskaitas |
Gautinos sumos ir PVM lieka nepaliesti: išrašymo metu registruojama D 2410 (bruto suma), K 4492 (PVM), o neto suma paskirstoma tarp pajamų (point_in_time eilutės) ir 4910 sąskaitos (atidėtos eilutės). Grafikai saugomi bazine valiuta (EUR) išrašymo datos valiutos kursu – sales/recognition-schedules/list (sales:read) rodo kiekvieną dalį su statusu pending | recognized | cancelled.
Sandorio kainos paskirstymas. Esant daugiau nei vienai eilutei, standaloneSellingPrice kiekvienoje eilutėje proporcingai (pro-rata) paskirsto sąskaitos faktūros neto sumą įsipareigojimams (IFRS 15 76–80 str.); ši paskirstyta suma, o ne nurodyta eilutės kaina, lemia pajamų ir atidėjimo padalijimą bei grafikus. PVM lieka prie sąskaitos faktūros eilučių taip, kaip nurodyta.
Pripažinimo variklis
Pripažinimas registruoja D 4910 / K pajamos (paslaugos / produkto sąskaita ir kaštų centras iš pradinės eilutės) kaip vieną didžiosios knygos įrašą per vieną vykdymą, užfiksuotą sales/recognition/runs/list.
POST /v1/sales/recognition/compute(sales:read){ asOfDate? }— bandomoji (dry-run) mokėtinų proporcingų dalių peržiūra.POST /v1/sales/recognition/run(sales:write){ asOfDate?, postingDate?, scheduleIds? }— registruoti mokėtinas proporcingas dalis arba tiksliai tas dalis, kurios nurodytosscheduleIds(bet koks metodas).POST /v1/sales/recognition/progress(sales:write){ invoiceLineId, percentComplete, date? }— baigtumo procento eilutės: pranešti apie kaupiamąją pažangą; naujai uždirbtas skirtumas (delta) registruojamas nedelsiant, sumažėjimai atmetami.POST /v1/sales/recognition/summary(sales:read) — iki šiol pripažintos sumos, likučiai, laukiančių dalių skaičius ir kitas mokėjimo terminas kiekvienai eilutei, plius įmonės bendros sumos.
Trys įvykiai skatina pripažinimą be nuolatinės apklausos (polling): laikotarpio uždarymas (ledger/periods/lock) pirmiausia pripažįsta viską, kas priklauso iki laikotarpio pabaigos, ir užregistruoja tai laikotarpio pabaigos data; perdavimo akto išrašymas (sales/acts/issue) akto išrašymo data pripažįsta susietos sąskaitos faktūros laukiančias etapų (milestone) dalis; o grafiko vykdymo laikmatis nustatomas kitai proporcingo mokėjimo datai ir užregistruoja įmonės duomenis jai atėjus (jei laikotarpis uždarytas, vėliau bandoma dar kartą). Etapai yra pagrįsti įvykiais sąmoningai – etapo expectedDate yra planavimo informacija, kuri pati savaime niekada neinicijuoja pripažinimo.
Kintamas atlygis — grąžinimo įsipareigojimas
refundEstimatePercent eilutėje kredituoja tą (paskirstytos) neto sumos dalį į 4450 sąskaitą, o ne į pajamas ar ateinančių laikotarpių pajamas išrašymo metu – tikėtini grąžinimai neįtraukiami į sandorio kainą (IFRS 15 55 str.). Informacija apie kiekvienos sąskaitos faktūros būseną saugoma sales/refund-liability/list (įvertinta, panaudota, stebėti atsiskaitymų grąžinimai, likutis).
Faktiniai duomenys: sąskaitai faktūrai priskirta kreditinė sąskaita faktūra debetuoja 4450 sąskaitą iki likusio įsipareigojimo sumos, prieš paliečiant pajamas. sales/refund-liability/true-up (sales:write) { invoiceId, estimatedTotal, date? } patikslina įvertinimą ir registruoja skirtumą iš pajamų bet kuria kryptimi (apatinė riba yra panaudota suma). Mokėjimo paslaugų teikėjo (PSP) atsiskaitymų grąžinimai, susieti su sąskaita faktūra, įrašomi į įsipareigojimą ir išsiunčia refund_liability.actual „webhook“ – jie nėra tiesiogiai registruojami į 4450 sąskaitą, nes pajamų ir pardavimo PVM sumažinimui būtina kreditinė sąskaita faktūra kaip PVM dokumentas.
Prenumeratos — nuo sutarčių iki sąskaitų faktūrų
Priskirkite sutarčiai billingPeriod (monthly | quarterly | annual) ir agreements/generate-invoice (agreements:write) sukurs kito dar neapmokestinto laikotarpio juodraštinę sąskaitą faktūrą: eilutės formuojamos iš sutarties elementų (arba value kaip viena eilutė per laikotarpį), kiekviena su proporcingu pripažinimu per paslaugų teikimo laikotarpį. agreements/billing/run { asOfDate? } patikrina visas aktyvias sutartis, sugeneruoja sąskaitas kiekvienam mokėtinam laikotarpiui ir užbaigia sutartis, kurios visiškai apmokestintos ir kurių pabaigos data praėjo. Paskutiniai sutrumpinti laikotarpiai apskaičiuojami proporcingai dienoms; autoRenew pratęsia terminą tokiam pat laikotarpiui ir tęsia sąskaitų išrašymą. Sugeneruotose sąskaitose faktūrose nurodomas agreementId (galima filtruoti per sales/invoices/list).
Sutarčių modifikacijos
POST /v1/sales/recognition/modify (sales:write) { invoiceLineId, approach, date?, newEndDate?, newMilestones? }:
prospective(perspektyvinis) — atšaukia laukiantį grafiką ir iš naujo paskirsto nepripažintą likutį pagal naujas sąlygas nuo modifikavimo datos (likusios prekės / paslaugos yra atskiros: IFRS 15 20(a) str., 21(a) str.). Proporcingos eilutės naudojanewEndDate; etapų eilutės naudojanewMilestones(likusios sumos procentai).cumulative_catch_up(kaupiamasis koregavimas, tik proporcingoms eilutėms) — perskaičiuoja pajamas taip, lyg naujos sąlygos būtų taikomos nuo pat pradžių, ir nedelsiant užregistruoja skirtumą bet kuria kryptimi (vienas iš dalies įvykdytas įsipareigojimas: 21(b) str.); likutis paskirstomas iš naujo.
Kainų sumažėjimai vykdomi per kreditines sąskaitas faktūras: kreditinė sąskaita faktūra, išrašyta sąskaitai faktūrai su laukiančiais grafikais, pirmiausia debetuoja ateinančių laikotarpių pajamas ir sumažina laukiantį planą pradedant nuo jo pabaigos, tada grąžinimo įsipareigojimą, ir tik po to – pajamas. Kainų padidėjimai yra papildomos sąskaitos faktūros su atskiru jų pripažinimu – pagal struktūrą tai yra perspektyvinis metodas.
Apribojimai
- Grafikai ir pripažinimo įrašai yra sumos bazine valiuta (EUR), fiksuotos išrašymo datos valiutos kursu; atidėtų sumų likučiai po išrašymo nėra perskaičiuojami dėl valiutų kursų pokyčių.
- Sukauptų pajamų (contract-asset) sąskaita (2910) yra pateikta sąskaitų plane ir kaip registravimo raktas, tačiau automatizuotas sąskaitomis faktūromis neįformintų pajamų (unbilled revenue) srautas į ją dar neregistruojamas – pajamų pripažinimas prieš išrašant sąskaitą faktūrą šiuo metu yra rankinis didžiosios knygos įrašas.
- Paskirstymui reikalaujama nurodyti atskirą pardavimo kainą visose sąskaitos faktūros eilutėse arba nė vienoje; likutinės vertės (residual) metodas (79(c) str.) nėra realizuotas.
- Grąžinimo įsipareigojimai stebimi be PVM sąskaitos faktūros lygmeniu; atitinkamas turtas, susijęs su teise atgauti grąžinamas prekes (B25 str.), nėra modeliuojamas.
- Kaupiamasis koregavimas (cumulative catch-up) taikomas proporcingoms eilutėms; etapų perplanavimas yra tik perspektyvinis; baigtumo procento eilutės tikslinamos per pažangos ataskaitas, o ne per
modify. - Reikšmingi finansavimo komponentai (60–65 str.), nepiniginis atlygis ir klientui mokėtinas atlygis nepatenka į šios sistemos taikymo sritį.
- Automatiniai grafikų vykdymo paleidimai registruojami tą pačią dieną, kai jie įvyksta; praėjusių laikotarpių koregavimo (catch-up) įrašai uždarytuose laikotarpiuose atmetami – atidarykite laikotarpį arba naudokite atvirą registravimo datą.