SaaS-bevétel elhatárolása az IFRS 15 szerint, könyvelési tételekkel
Az IFRS 15 minden egyes lépése egy SaaS-szerződésre vonatkozóan, valós számokat tartalmazó könyvelési tételekkel és az ezeket automatikusan létrehozó API-hívásokkal bemutatva.
Az IFRS 15 szerint a SaaS-előfizetés időarányosan teljesülő teljesítési kötelezettség, így a bevétele egyenletesen oszlik el a szolgáltatási időszakon, míg a számlázott összeg a bevétel eléréséig a szerződéses kötelezettségek (contract liability) között szerepel. A követelést és az áfát a számla kiállításának napján teljes egészében könyvelni kell, kizárólag a bevétel várakozik.
Ez a teljes szabály. A cikk további része bemutatja, hogyan fest ez a főkönyvben, megadva a terheléseket és jóváírásokat az előfizetéses vállalkozások által leggyakrabban tapasztalt esetekre: éves terv, kedvezményes csomag, mérföldkőhöz kötött számlázás, várható visszatérítés, valamint félidőben módosított szerződés. Minden egyes tétel a litván számlatükröt használja, amelyet a Nordlet alapértelmezésben biztosít, az utolsó szakasz pedig azokat az API-hívásokat mutatja be, amelyek emberi beavatkozás nélkül könyvelik le ezeket a tételeket.
Az öt lépés egyetlen szerződésre alkalmazva
Egy ügyfél 2026. január 1-jén tizenkét hónapos platformhozzáférésre fizet elő 2 400 euró áfa nélküli összegért. A 21%-os litván áfa 504 euró, így a bruttó számla 2 904 euró.
| Lépés | Alkalmazás erre a szerződésre |
|---|---|
| 1. Szerződés | A tizenkét hónapos hozzáférésre vonatkozó elfogadott megrendelés |
| 2. Teljesítési kötelezettségek | Egy: hozzáférés a platformhoz 2026. január 1-jétől december 31-ig |
| 3. Tranzakciós ár | 2 400 euró (ebben az első példában nincs feltételes ellenszolgáltatás) |
| 4. Elosztás | Nem szükséges; egyetlen kötelezettség viseli a teljes árat |
| 5. Elszámolás | Időarányosan, a hozzáférési napok teljével |
Ugyanez a modell elméleti szinten is megvan a SaaS-számvitel részletes bemutatásában. Itt rögtön rátérünk a tételekre.
1. eset: Éves terv
A kiállítás napján, 2026. január 1-jén. A követelés és az áfa ezen a napon valósul meg, a bevétel azonban nem.
| Számla | Tartozik | Követel |
|---|---|---|
| 2410 Vevők (Trade receivables) | 2,904.00 | |
| 4492 Fizetendő áfa (Output VAT payable) | 504.00 | |
| 4910 Halasztott bevételek (szerződéses kötelezettség) | 2,400.00 |
Semmi sem érintette a bevételi számlát. Az áfa azonban a kiállítás napján esedékes a szokásos módon; a januári áfa-bevallás tartalmazza az 504 eurót függetlenül attól, hogy a szolgáltatást teljesítették-e.
Amikor az ügyfél fizet:
| Számla | Tartozik | Követel |
|---|---|---|
| 2710 Bank | 2,904.00 | |
| 2410 Vevők | 2,904.00 |
Minden hónap végén. A tankönyvi változat havonta 200 eurót old fel. A napon alapuló ütemezés, az IFRS 15 B15. bekezdése által a folyamatosan fogyasztott szolgáltatásokra engedélyezett időalapú teljesítési módszer alapján a 365 napból minden hónap megkapja a maga részét:
| Hónap | Napok száma | Részlet |
|---|---|---|
| Január | 31 | 203.84 |
| Február | 28 | 184.11 |
| Március | 31 | 203.84 |
| Április | 30 | 197.26 |
| … | ||
| December | 31 | 203.81 |
| Összesen | 365 | 2,400.00 |
Az utolsó részlet magába szívja a cent-kerekítést, így az ütemezés pontosan megegyezik a halasztott összeggel. A januári feloldás könyvelése:
| Számla | Tartozik | Követel |
|---|---|---|
| 4910 Halasztott bevételek | 203.84 | |
| 5001 Szolgáltatási bevételek | 203.84 |
Tizenkét ilyen tétel után a 4910-es számla egyenlege erre a számlára vonatkozóan nulla, és 2 400 euró került bevételezésre abban az évben, amelyben azt megkeresték.
2. eset: Csomag kedvezménnyel
Ugyanez az ügyfél az előfizetést onboarding (bevezetési) szolgáltatással együtt vásárolja meg. A számlán az előfizetés 2 400 euró, az onboarding pedig 600 euró, ami összesen 3 000 euró nettó összeg. Külön-külön eladva az előfizetés 3 000 euróba, az onboarding pedig 1 000 euróba kerül, így a csomag 1 000 euró kedvezményt tartalmaz.
Az IFRS 15 76–80. bekezdése előírja, hogy a kedvezményt a kötelezettségek önálló eladási áraival arányosan kell elosztani a kötelezettségek között, nem pedig ott hagyni, ahová az értékesítési csapat éppen tette.
| Tétel | Megállapított ár | Önálló eladási ár | Arány | Elosztott összeg |
|---|---|---|---|---|
| Előfizetés (időarányos) | 2,400 | 3,000 | 75 % | 2,250.00 |
| Onboarding (adott időpontban) | 600 | 1,000 | 25 % | 750.00 |
| Összesen | 3,000 | 4,000 | 3,000.00 |
Az áfa a feltüntetett sorárakhoz igazodik, mivel a számla az áfabizonylat: a 3 000 euró 21%-a 630 euró. Az elosztás csak azt változtatja meg, hogy a nettó összeg hogyan oszlik meg a jelenlegi és a későbbi bevétel között.
A kiállítás napján:
| Számla | Tartozik | Követel |
|---|---|---|
| 2410 Vevők | 3,630.00 | |
| 4492 Fizetendő áfa | 630.00 | |
| 5001 Szolgáltatási bevételek (onboarding, teljesítve) | 750.00 | |
| 4910 Halasztott bevételek (előfizetés) | 2,250.00 |
Az onboarding a kiállításkor 750 euró bevételt termel, nem a soron feltüntetett 600 eurót. Az előfizetésből 2 250 euró halasztódik el, a januári részlete pedig 2 250 × 31 ÷ 365 = 191.10 euró.
Elosztás nélkül a tétel 600 euró bevételt és 2 400 euró halasztott összeget mutatott volna. A különbség 150 euró rossz évben kimutatott bevétel.
3. eset: Mérföldkőhöz kötötten számlázott projekt
Egy bevezetési projektet 10 000 euró nettó áron (12 100 euró bruttó) számláznak ki három mérföldkővel: tervezés 30%, kivitelezés 50%, élesítés (go-live) 20%. Minden mérföldkő egy olyan pont, ahol a munka egy adott része teljesül, amit teljesítésigazolás támaszt alá.
A kiállítás napján:
| Számla | Tartozik | Követel |
|---|---|---|
| 2410 Vevők | 12,100.00 | |
| 4492 Fizetendő áfa | 2,100.00 | |
| 4910 Halasztott bevételek | 10,000.00 |
A tervezési igazolás aláírásakor:
| Számla | Tartozik | Követel |
|---|---|---|
| 4910 Halasztott bevételek | 3,000.00 | |
| 5001 Szolgáltatási bevételek | 3,000.00 |
Egy mérföldkő várt dátuma tervezési információ. A bevétel akkor mozdul el, amikor az esemény bekövetkezik, nem pedig akkor, amikor a naptár szerint kellene.
4. eset: Várható visszatérítés
Tegyük fel, hogy a múltbeli adatok azt mutatják, hogy az éves tervek 5%-át visszatérítik az első hónapon belül. Az IFRS 15 55–58. bekezdése a várható visszatérítéseket feltételes ellenszolgáltatásként kezeli: kikerülnek a tranzakciós árból, és visszatérítési kötelezettségként (refund liability) szerepelnek a bizonytalanság megszűnéséig.
Vegyünk egy 1 000 euró nettó (1 210 euró bruttó) értékű, egyszeri termékértékesítést 5%-os visszatérítési becsléssel, adott időpontban elszámolva.
A kiállítás napján:
| Számla | Tartozik | Követel |
|---|---|---|
| 2410 Vevők | 1,210.00 | |
| 4492 Fizetendő áfa | 210.00 | |
| 4450 Visszatérítési kötelezettség (Refund liability) | 50.00 | |
| 5001 Szolgáltatási bevételek | 950.00 |
Egy ügyfél 40 euró nettó visszatérítést kap. A visszatérítést helyesbítő számla (credit note) dokumentálja, amely csökkenti az áfát és a követelést, valamint a bevétel csökkentése helyett a visszatérítési kötelezettséget terheli.
| Számla | Tartozik | Követel |
|---|---|---|
| 4450 Visszatérítési kötelezettség | 40.00 | |
| 4492 Fizetendő áfa | 8.40 | |
| 2410 Vevők | 48.40 |
A visszatérítési ablak bezárul. Az 50 eurós becslésből csak 40 eurót használtak fel, így a fennmaradó 10 euró felszabadul a bevétel javára.
| Számla | Tartozik | Követel |
|---|---|---|
| 4450 Visszatérítési kötelezettség | 10.00 | |
| 5001 Szolgáltatási bevételek | 10.00 |
Olyan sornál, amely független elszámolási ütemtervvel is rendelkezik, a felhasználási sorrend a következő: először a halasztott bevétel (az ütemtervet a távolabbi végétől vágják vissza), majd a visszatérítési kötelezettség, végül a bevétel.
5. eset: A szerződés megváltozik
Az 1. esetben szereplő éves terv félidejében az ügyfél hat hónapos meghosszabbítást tárgyal ki külön költség nélkül. Hat hónapot már elszámoltak (olvashatóság végett egyenlő havi összegekkel számolva 1 200 euró; a rendszer naponként súlyozza), és 1 200 euró halasztott maradt.
Az IFRS 15 20. és 21. bekezdése kétféle elszámolást kínál attól függően, hogy a fennmaradó szolgáltatások elkülönülnek-e a már teljesítettektől.
Prospektív elszámolás [21. bekezdés a) pont]. A fennmaradó áruk vagy szolgáltatások elkülönülnek, így a fel nem ismert 1 200 euró szétoszlik az új, tizenkét hónapos hátralévő időszakon: havi 100 euró. Késedelmi vagy visszamenőleges (catch-up) tételt nem kell könyvelni; a következő feloldás egyszerűen kisebb lesz.
Kumulatív visszamenőleges korrekció [21. bekezdés b) pont]. A kötelezettséget egységesen, részben teljesítettként kezelik, így a bevételt úgy számítják újra, mintha tizennyolc hónap lett volna érvényben a kezdetektől fogva: 2 400 euró ÷ 18 = havi 133.33 euró, június 30-áig 800 euró keresve. Mivel 1 200 eurót már elszámoltak, 400 eurót vissza kell könyvelni:
| Számla | Tartozik | Követel |
|---|---|---|
| 5001 Szolgáltatási bevételek | 400.00 | |
| 4910 Halasztott bevételek | 400.00 |
A fennmaradó 1 600 euró ezután havi 133.33 eurós részletekben oldódik fel az új hátralévő időszak alatt.
A napról napra nyújtott platformhozzáférés általában különálló szolgáltatások sorozata, így a prospektív kezelés a szokásos válasz. Hogy melyik alkalmazandó, az számviteli megítélés kérdése; a főkönyvnek mindkettőt képesnek kell lennie lekönyvelni.
Árváltozások. Az árcsökkenés az eredeti számlára vonatkozó helyesbítő számla, és a fenti felhasználási sorrendet követi. Az áremelkedés új számla a saját elszámolási ütemtervével, amely természeténél fogva prospektív.
Ugyanezek a tételek az API-n keresztül
A fenti tételeket a Nordlet bevétel-elszámolási modulja hozza létre a szokásos számlaadatokból. Az elszámolási módszer a számlasoron utazik.
1. eset. Hozza létre a számlát egy időarányos (ratable) sorral, majd állítsa ki. A kiállítás könyveli a követelést, az áfát és a halasztott bevételt, valamint felépíti a tizenkét részletből álló ütemtervet.
POST /v1/sales/invoices/create
Authorization: Bearer <api key with sales:write>
Idempotency-Key: <your order id>
{
"partnerId": "<customer id>",
"lines": [
{
"description": "Platform subscription 2026",
"unitPriceExclVat": "2400.0000",
"vatRatePercent": "21.00",
"recognition": { "method": "ratable", "startDate": "2026-01-01", "endDate": "2026-12-31" }
}
]
}
POST /v1/sales/invoices/issue
{ "id": "<invoice id>" }
2. eset. Adja hozzá a standaloneSellingPrice mezőt a számla minden sorához. Az elosztás a kiállításkor számítódik ki; az onboarding sor az alapértelmezett point_in_time módszert használja.
3. eset. Adja meg a sorhoz a következőt: "recognition": { "method": "milestone", "milestones": [ { "percent": 30, "description": "Design", "expectedDate": "2026-02-28" }, … ] }. A számlával szembeni teljesítésigazolás kiállítása a sales/acts/issue végponton keresztül a teljesítésigazolás napján elszámolja a függő mérföldkő-részleteket.
4. eset. Állítsa be a refundEstimatePercent értéket a soron. A helyesbítő számlák a leírt sorrendben csökkentik a kötelezettséget; a módosított estimatedTotal paraméterrel meghívott sales/refund-liability/true-up könyveli a felszabadítást vagy a pótlásokat. A számlához illesztett fizetési szolgáltatói visszatérítés a kötelezettségen rögzül, és egy refund_liability.actual webhookot küld, de magát a kötelezettséget nem terheli közvetlenül, mivel a bevétel és a fizetendő áfa csökkentéséhez a helyesbítő számla szükséges áfabizonylatként.
5. eset.
POST /v1/sales/recognition/modify
{ "invoiceLineId": "<line id>", "approach": "prospective", "newEndDate": "2027-06-30" }
A második kezeléshez cserélje le a prospective értéket cumulative_catch_up-ra; a 400 eurós visszakönyvelés azonnal megtörténik, a fennmaradó rész pedig újraosztódik.
Feloldások. Az elszámolás futtatásonként egy naplóbejegyzést könyvel. Ez háromféleképpen indítható el lekérdezés (polling) nélkül: az időszak lezárása először elszámolja az időszak végéig esedékes összes tételt, a teljesítésigazolás kiállítása elszámolja a mérföldkő-részleteket, a következő esedékességre beállított időzítő pedig a lejáratkor könyveli az időarányos részleteket. A sales/recognition/compute előnézetet ad arról, hogy mit könyvelne egy futtatás; a sales/recognition/run lekönyveli; a sales/recognition/summary soronként jelenti az eddig elszámolt, a fennmaradó és a következő esedékes összeget; a sales/recognition-schedules/list pedig az összes részletet státuszukkal együtt mutatja.
Amit a modul nem csinál
A leírt korlátok ugyanolyan fontosak a zárás megtervezésekor, mint a funkciók:
- Az ütemezések fix euróban, a kiállítás napján érvényes árfolyamon rögzülnek. A halasztott egyenlegek nem kerülnek átértékelésre a kiállítás utáni árfolyammozgások miatt.
- Az elosztás minden soron vagy egyik soron sem igényel önálló eladási árat. A 79. bekezdés c) pontja szerinti maradványértékes (residual) megközelítés nincs implementálva.
- A visszatérítési kötelezettség számlaszinten nettó áfával van nyomon követve. A visszaküldött áruk visszaszerzési jogának ellentételező eszköze (B25. bekezdés) nincs modellezve.
- A kumulatív visszamenőleges korrekció csak az időarányos sorokra vonatkozik; a mérföldkő-újratervezés prospektív.
- A jelentős finanszírozási komponensek (60–65. bekezdés), a nem pénzbeni ellenszolgáltatás és az ügyfélnek fizetendő ellenszolgáltatás kívül esnek a hatókörön.
- A szerződéses eszköz számla (2910) létezik a számlatükörben és könyvelési kulcsként is, de a számlázást megelőző bevétel-elszámolás jelenleg manuális könyvelési tételt igényel.
A szoftver képes az IFRS 15 és az ASC 606 szerinti kezelésre. Az egyes kötelezettségek módszerének kiválasztása, az önálló eladási árak és visszatérítési ráták becslése, valamint annak megítélése, hogy a fennmaradó szolgáltatások elkülönülnek-e, továbbra is a jelentéstevő szervezet döntése marad.
FAQ
Mikor kell elszámolni a bevételt egy SaaS-előfizetés után az IFRS 15 szerint?
A szolgáltatási időszak alatt, mivel a szoftverhez való hozzáférés időarányosan teljesülő teljesítési kötelezettség. Előre kiszámlázott tizenkét hónapos terv esetén minden hónap megszerzi a maga részét az árból. A számla kelte határozza meg a követelés és az áfa könyvelésének idejét, nem pedig azt, hogy a bevétel mikor keletkezik.
Mi a halasztott bevétel könyvelési tétele?
Kiállításkor: tartozik a vevők számla a bruttó összeggel, követel a fizetendő áfa, és követel a halasztott bevétel (szerződéses kötelezettség) a nettó összeggel. Minden időszakban: tartozik a halasztott bevétel és követel a szolgáltatási bevétel a megszerzett összeggel. A követelés az ügyfél fizetésekor egyenlítődik ki.
Az áfa követi a bevételi ütemtervet?
Nem. Az áfa a számla kiállításakor vagy az előleg beérkezésekor válik esedékessé az áfa-irányelv és a nemzeti jog általános szabályai szerint. A halasztott bevétel ütemezése és az áfatartozás egymástól függetlenül mozog, ezért az előlegszámla valódi áfabizonylat, adíjbekérő (proforma) pedig nem.
Hogyan osztják el a csomagkedvezményt az IFRS 15 szerint?
A csomagban lévő kötelezettségek önálló eladási árával arányosan (81. bekezdés). Egy 4 000 eurós csomagra adott 1 000 eurós kedvezmény, amelynek részei külön-külön 3 000 és 1 000 euróba kerülnek, egyenként 25%-kal csökkenti az egyes részeket. Az áfa a számlasorokon maradó feltüntetett árakon marad.
Mi a különbség a prospektív és a kumulatív visszamenőleges elszámolás között?
A prospektív elszámolás a módosítás napjától kezdve az új feltételek szerint osztja szét a fel nem ismert fennmaradó részt, a múltbeli bevétel módosítása nélkül. A kumulatív visszamenőleges korrekció úgy számítja újra a bevételt, mintha az új feltételek a kezdetektől fogva érvényesültek volna, és a különbséget azonnal könyveli. Hogy melyik alkalmazandó, attól függ, hogy a fennmaradó szolgáltatások elkülönülnek-e a már teljesítettektől.