SaaS Revenue Recognition Under IFRS 15, With Worked Ledger Entries
Každý krok standardu IFRS 15 pro SaaS smlouvu v podobě účetních zápisů se skutečnými čísly a volání API, která je generují automaticky.
Podle standardu IFRS 15 je SaaS předplatné závazkem plnění splněným v čase (performance obligation satisfied over time). Výnosy se proto zaúčtují rovnoměrně během období poskytování služby, zatímco fakturovaná částka zůstává v závazcích ze smluv, dokud nevznikne nárok na její výnos. Pohledávka a DPH se zaúčtují v plné výši v den vystavení faktury. Čekají pouze výnosy.
To je celé pravidlo. Zbytek tohoto článku ukazuje, jak to vypadá v hlavní knize, včetně má dáti a dal pro situace, se kterými se předplatný byznys běžně setkává: roční plán, balíček se slevou, projekt fakturovaný podle milníků, očekávané vrácení peněz a změna smlouvy v průběhu trvání. Všechny zápisy využívají litevský účtový rozvrh, který Nordlet obsahuje ve výchozím nastavení, a poslední část ukazuje volání API, která tyto zápisy zaúčtují bez nutnosti ručního zadávání.
Pět kroků aplikovaných na jednu smlouvu
Zákazník podepíše 1. ledna 2026 smlouvu na dvanáct měsíců přístupu k platformě za 2 400 EUR bez DPH. Litevská DPH ve výši 21 % činí 504 EUR, celková faktura tedy zní na 2 904 EUR včetně DPH.
| Krok | Aplikace na tuto smlouvu |
|---|---|
| 1. Smlouva | Přijatá objednávka na dvanáct měsíců přístupu |
| 2. Závazky plnění | Jeden: přístup k platformě od 1. ledna do 31. prosince 2026 |
| 3. Cena transakce | 2 400 EUR (v tomto prvním příkladu bez proměnlivé složky) |
| 4. Alokace | Není nutná, jediný závazek pohltí celou cenu |
| 5. Uznání výnosů | V čase, jak plynou dny přístupu |
Týž model je koncepčně popsán v článku SaaS účetnictví podrobně. Zde přejdeme rovnou k účetním zápisům.
Případ 1: roční plán
Při vystavení, 1. ledna 2026. Pohledávka a DPH jsou k tomuto datu skutečné. Výnosy nikoliv.
| Účet | Má dáti | Dal |
|---|---|---|
| 2410 Pohledávky za odběrateli | 2 904,00 | |
| 4492 DPH k úhradě (výstupní DPH) | 504,00 | |
| 4910 Výnosy příštích období (smluvní závazek) | 2 400,00 |
Účet výnosů nebyl nijak dotčen. DPH je však splatná k datu vystavení obvyklým způsobem; přiznání k DPH za leden zahrnuje 504 EUR bez ohledu na to, zda byla služba dodána.
Když zákazník zaplatí.
| Účet | Má dáti | Dal |
|---|---|---|
| 2710 Běžný účet | 2 904,00 | |
| 2410 Pohledávky za odběrateli | 2 904,00 |
Na konci každého měsíce. Učebnicová verze uvolňuje 200 EUR měsíčně. Časově vážený harmonogram odpovídající metodě výstupu na základě uplynulého času (time-elapsed output method), kterou standard IFRS 15 (§B15) umožňuje pro nepřetržitě čerpanou službu, přiděluje každému měsíci jeho podíl z 365 dnů:
| Měsíc | Dny | Tranche |
|---|---|---|
| Leden | 31 | 203,84 |
| Únor | 28 | 184,11 |
| Březen | 31 | 203,84 |
| Duben | 30 | 197,26 |
| … | ||
| Prosinec | 31 | 203,81 |
| Celkem | 365 | 2 400,00 |
Poslední tranše absorbuje centové zaokrouhlení, aby součet harmonogramu přesně odpovídal odložené částce. Leden se zaúčtuje takto:
| Účet | Má dáti | Dal |
|---|---|---|
| 4910 Výnosy příštích období | 203,84 | |
| 5001 Výnosy ze služeb | 203,84 |
Po dvanácti takových zápisech je zůstatek na účtu 4910 pro tuto fakturu nulový a částka 2 400 EUR se promítla do výnosů v roce, ve kterém byla zasloužena.
Případ 2: balíček se slevou
Týž zákazník zakoupí předplatné společně s onboardingovou službou. Na faktuře je uvedeno předplatné za 2 400 EUR a onboarding za 600 EUR, celkem 3 000 EUR bez DPH. Při samostatném prodeji stojí předplatné 3 000 EUR a onboarding 1 000 EUR, balíček tedy obsahuje slevu 1 000 EUR.
Ustanovení IFRS 15 §76 až §80 vyžadují, aby byla sleva rozdělena mezi závazky v poměru k jejich prodejním cenám při samostatném prodeji (standalone selling prices), a nebyla ponechána tam, kam ji obchodní tým zrovna umístil.
| Položka | Uvedená cena | Samostatná prodejní cena | Podíl | Alokováno |
|---|---|---|---|---|
| Předplatné (v čase) | 2 400 | 3 000 | 75 % | 2 250,00 |
| Onboarding (v okamžiku) | 600 | 1 000 | 25 % | 750,00 |
| Celkem | 3 000 | 4 000 | 3 000,00 |
DPH zůstává vázána na uvedené ceny položek, protože faktura je daňovým dokladem: 21 % z 3 000 EUR činí 630 EUR. Alokace mění pouze to, jak se čistá částka rozдели mezi výnosy ihned a výnosy v budoucnu.
Při vystavení.
| Účet | Má dáti | Dal |
|---|---|---|
| 2410 Pohledávky za odběrateli | 3 630,00 | |
| 4492 DPH k úhradě (výstupní DPH) | 630,00 | |
| 5001 Výnosy ze služeb (onboarding, dodáno) | 750,00 | |
| 4910 Výnosy příštích období (předplatné) | 2 250,00 |
Za onboarding se zaúčtují výnosy 750 EUR při vystavení, nikoliv 600 EUR vytištěných na řádku. U předplatného se odloží 2 250 EUR a jeho lednová tranše činí 2 250 × 31 ÷ 365 = 191,10 EUR.
Bez alokace by zápis vykazoval výnosy 600 EUR a 2 400 EUR v odložených výnosech. Rozdíl představuje 150 EUR výnosů vykazovaných v nesprávném roce.
Případ 3: projekt fakturovaný podle milníků
Projekt implementace je fakturován na 10 000 EUR bez DPH (12 100 EUR včetně DPH) se třemi milníky: návrh 30 %, sestavení 50 %, spuštění 20 %. Každý milník představuje okamžik, kdy je určitá část práce akceptována, což je doloženo předávacím protokolem.
Při vystavení.
| Účet | Má dáti | Dal |
|---|---|---|
| 2410 Pohledávky za odběrateli | 12 100,00 | |
| 4492 DPH k úhradě (výstupní DPH) | 2 100,00 | |
| 4910 Výnosy příštích období | 10 000,00 |
Když je podepsán protokol o návrhu.
| Účet | Má dáti | Dal |
|---|---|---|
| 4910 Výnosy příštích období | 3 000,00 | |
| 5001 Výnosy ze služeb | 3 000,00 |
Očekávané datum milníku je plánovací údaj. Výnosy se přesouvají, když k události skutečně dojde, nikoliv když kalendář říká, že by měly.
Případ 4: očekávané vrácení peněz
Předpokládejme, že historická data ukazují, že 5 % ročních plánů je refundováno během prvního měsíce. IFRS 15 §55 až §58 považují očekávaná vrácení peněz za proměnlivou složku protiplnění (variable consideration): jsou vyloučena z ceny transakce a vedena jako dluh z vrácení peněz (refund liability), dokud se nejistota nevyřeší.
Vezměme jednorázový prodej produktu za 1 000 EUR bez DPH (1 210 EUR včetně DPH) s 5% odhadem vrácení peněz, uznaným v daném okamžiku.
Při vystavení.
| Účet | Má dáti | Dal |
|---|---|---|
| 2410 Pohledávky za odběrateli | 1 210,00 | |
| 4492 DPH k úhradě (výstupní DPH) | 210,00 | |
| 4450 Dluh z vrácení peněz | 50,00 | |
| 5001 Výnosy ze služeb | 950,00 |
Zákazníkovi je vráceno 40 EUR bez DPH. Vrácení peněz je doloženo dobropisem, který snižuje DPH a pohledávku a čerpá dluh místo snižování výnosů.
| Účet | Má dáti | Dal |
|---|---|---|
| 4450 Dluh z vrácení peněz | 40,00 | |
| 4492 DPH k úhradě (výstupní DPH) | 8,40 | |
| 2410 Pohledávky za odběrateli | 48,40 |
Okno pro vrácení peněz se uzavírá. Z odhadu ve výši 50 EUR bylo využito pouze 40 EUR, takže zbývajících 10 EUR se uvolní do výnosů.
| Účet | Má dáti | Dal |
|---|---|---|
| 4450 Dluh z vrácení peněz | 10,00 | |
| 5001 Výnosy ze služeb | 10,00 |
U položky, která obsahuje také probíhající harmonogram uznávání výnosů, je pořadí čerpání následující: nejprve výnosy příštích období (probíhající harmonogram se ořezává od svého vzdáleného konce), poté dluh z vrácení peněz a nakonec výnosy.
Případ 5: změna smlouvy
V polovině doby trvání ročního plánu z Případu 1 vyjedná zákazník prodloužení o šest měsíců bez dalším poplatků. Šest měsíců již bylo zaúčtováno do výnosů (1 200 EUR při použití stejných měsíčních částek pro přehlednost; systém počítá podle dnů) a 1 200 EUR zůstává odloženo.
Standard IFRS 15 §20 a §21 nabízejí dva postupy v závislosti na tom, zda jsou zbývající služby odlišné od těch, které již byly dodány.
Prospektivně (§21 odst. písm. a)). Zbývající zboží nebo služby jsou odlišné, takže nezaúčtovaná částka 1 200 EUR se rozloží do nového zbývajícího období dvanácti měsíců: 100 EUR měsíčně. Žádný zpětný vyrovnávací zápis se neúčtuje; následující uvolnění výnosů je jednoduše menší.
Kumulativní vyrovnání (§21 odst. písm. b)). Závazek je považován za jediný částečně splněný, takže výnosy se přepočítají tak, jako by od začátku platilo osmnáct měsíců: 2 400 EUR ÷ 18 = 133,33 EUR měsíčně, přičemž k 30. červnu je zaslouženo 800 EUR. Jelikož již bylo zaúčtováno 1 200 EUR, částka 400 EUR se stornuje:
| Účet | Má dáti | Dal |
|---|---|---|
| 5001 Výnosy ze služeb | 400,00 | |
| 4910 Výnosy příštích období | 400,00 |
Zbývajících 1 600 EUR se poté uvolňuje částkou 133,33 EUR měsíčně během nového zbývajícího období.
Přístup k platformě dodávaný den za dnem je obvykle řadou odlišných služeb, proto je prospektivní postup obvyklou odpovědí. Který postup se použije, je účetním úsudkem; hlavní kniha musí být schopna zaúčtovat oba.
Změny cen. Snížení ceny představuje dobropis k původní faktuře a řídí se výše uvedeným pořadím čerpání. Zvýšení ceny je nová faktura s vlastním harmonogramem uznávání výnosů, která je ze své podstaty prospektivní.
Tyže zápisy prostřednictvím API
Každý výše uvedený zápis je generován modulem pro uznávání výnosů v systému Nordlet z běžných fakturačních dat. Metoda uznávání výnosů se přenáší na řádku faktury.
Případ 1. Vytvořte fakturu s poměrným řádkem a poté ji vystavte. Vystavení zaúčtuje pohledávku, DPH a odložené výnosy a vytvoří dvanáctidílný harmonogram.
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>" }
Případ 2. Přidejte parametr standaloneSellingPrice ke každému řádku faktury. Alokace se vypočítá při vystavení; řádek onboardingu používá výchozí metodu point_in_time.
Případ 3. Přidejte k řádku atribut "recognition": { "method": "milestone", "milestones": [ { "percent": 30, "description": "Design", "expectedDate": "2026-02-28" }, … ] }. Vystavení předávacího protokolu prostřednictvím sales/acts/issue proti faktuře uzná čekající tranše milníků k datu protokolu.
Případ 4. Nastavte refundEstimatePercent na řádku. Dobropisy čerpají dluh v popsaném pořadí; příkaz sales/refund-liability/true-up s revidovanou hodnotou estimatedTotal zaúčtuje uvolnění nebo navýšení. Refundace od platební brány spárovaná s fakturou se zaúčtuje na dluh a odešle webhook refund_liability.actual, ale nezaúčtuje se přímo proti dluhu, protože snížení výnosů a výstupní DPH vyžaduje dobropis jako daňový doklad.
Případ 5.
POST /v1/sales/recognition/modify
{ "invoiceLineId": "<line id>", "approach": "prospective", "newEndDate": "2027-06-30" }
Nahraďte prospective hodnotou cumulative_catch_up pro druhý postup; storno částky 400 EUR se zaúčtuje okamžitě a zbytek se přepočítá.
Uvolnění výnosů. Uznání výnosů se zaúčtuje jako jeden denní zápis na jedno spuštění. Spouští se třemi způsoby bez nutnosti dotazování: uzamčení období nejprve uzná vše splatné do konce období, vystavení předávacího protokolu uzná tranše milníků a časovač nastavený na příští datum splatnosti zaúčtuje poměrné tranše, jakmile jsou splatné. Endpoint sales/recognition/compute zobrazí náhled toho, co by spuštění zaúčtovalo; sales/recognition/run to zaúčtuje; sales/recognition/summary hlásí k datu uznané výnosy, zůstatek a příští datum splatnosti na řádek; sales/recognition-schedules/list zobrazuje každou tranši s jejím stavem.
Co modul nedělá
Při plánování účetní závěrky jsou zdokumentovaná omezení stejně důležitá jako funkce:
- Harmonogramy jsou fixovány v eurech podle devizového kurzu platného v den vystavení. Zůstatky odložených položek se po vystavení nepřecenňují na kursové rozdíly.
- Alokace vyžaduje prodejní cenu při samostatném prodeji na každém řádku, nebo na žádném. Zbytková metoda (residual approach) podle §79 odst. písm. c) není implementována.
- Dluh z vrácení peněz se sleduje bez DPH na úrovni faktury. Odpovídající aktivum na právo na vrácení zboží (§B25) není modelováno.
- Kumulativní vyrovnání se vztahuje pouze na poměrné řádky; přeměna milníků je prospektivní.
- Významné finanční složky (§60 až §65), nepeněžní protiplnění a protiplnění splatné zákazníkovi jsou mimo záběr.
- Účet smluvního aktiva (2910) existuje v účtové osnově a jako účetní klíč, ale uznání výnosů před fakturací se dnes provádí ručním zápisem.
Software zvládá účtování podle IFRS 15 a ASC 606. Výběr metody pro každý závazek, odhad prodejních cen při samostatném prodeji a měr vrácení peněz a posouzení, zda jsou zbývající služby odlišné, zůstávají rozhodnutími, která činí vykazující jednotka.
FAQ
Kdy se u SaaS předplatného uznávají výnosy podle IFRS 15?
Během období poskytování služby, protože přístup k softwaru je závazkem plnění splněným v čase. U dvanácti měsíčního plánu fakturovaného předem si každý měsíc připíše svůj podíl na ceně. Datum fakturace určuje, kdy se zaúčtuje pohledávka a DPH, nikoliv kdy se zaúčtují výnosy.
Jak vypadá účetní zápis pro odložené výnosy?
Při vystavení: MD pohledávky za odběrateli v celkové částce, Dal výstupní DPH a Dal výnosy příštích období (smluvní závazek) v čisté částce. V každém období: MD výnosy příštích období a Dal výnosy ve výši zasloužené částky. Pohledávka se vyrovná, když zákazník zaplatí.
Sleduje DPH harmonogram výnosů?
Ne. DPH se stává splatnou při vystavení faktury nebo při přijetí platby předem podle běžných pravidel směrnice o DPH a vnitrostátních právních předpisů. Harmonogram odložených výnosů a závazek DPH se pohybují nezávisle na sobě, což je důvod, proč je faktura na zálohu skutečným daňovým dokladem, zatímco proforma faktura nikoliv.
Jak se alokuje sleva na balíčku podle IFRS 15?
V poměru k samostatným prodejním cenám závazků v balíčku (§81). Sleva 1 000 EUR na balíček v hodnotě 4 000 EUR, jehož části stojí samostatně 3 000 EUR a 1 000 EUR, snižuje každou část o 25 %. DPH zůstává na řádcích faktury tak, jak je uvedena.
Jaký je rozdíl mezi prospektivním postupem a kumulativním vyrovnáním?
Prospektivní postup rozkládá nezaúčtovaný zbytek do nových podmínek od data změny bez úpravy minulých výnosů. Kumulativní vyrovnání přepočítá výnosy tak, jako by nové podmínky platily od začátku, a rozdíl zaúčtuje okamžitě. Způsob, který se použije, závisí na tom, zda jsou zbývající služby odlišné od těch, které již byly dodány.