Визнання доходу SaaS за стандартом МСФЗ (IFRS) 15 із проведеннями за головною книгою
Кожен крок МСФЗ (IFRS) 15 для SaaS-договору у вигляді бухгалтерських проведень із реальними цифрами та викликів API, які створюють їх автоматично.
Згідно з МСФЗ (IFRS) 15, SaaS-підписка є обов'язком щодо виконання, який виконується з плином часу, тому її дохід визнається рівномірно протягом періоду надання послуг, тоді як виставлена сума обліковується як зобов'язання за договором доти, доки вона не буде зароблена. Дебіторська заборгованість та ПДВ відображаються в повному обсязі в день виставлення рахунка. Очікує на визнання лише дохід.
Це єдине правило. У решті цієї статті показано, який вигляд це має в головній книзі, із дебетами та кредитами для ситуацій, із якими реально стикається підписковий бізнес: річний план, пакет послуг зі знижкою, проєкт із поетапною оплатою, очікуване повернення коштів та договір, який змінюється в середині строку. У кожному проведенні використовується литовський план рахунків, який постачається в Nordlet за замовчуванням, а в останньому розділі показано виклики API, які проводять ці записи без потреби в ручному введенні.
П'ять кроків, застосованих до одного договору
Клієнт оформлює підписку 1 січня 2026 року на дванадцять місяців доступу до платформи за 2 400 євро без ПДВ. Литовський ПДВ за ставкою 21 % додає 504 євро, тож сума рахунка становить 2 ,904 євро брутто.
| Крок | Застосування до цього договору |
|---|---|
| 1. Договор | Прийняте замовлення на дванадцять місяців доступу |
| 2. Обов'язки щодо виконання | Один: доступ до платформи з 1 січня до 31 грудня 2026 року |
| 3. Ціна операції | 2 400 євро (у цьому першому прикладі немає змінної винагороди) |
| 4. Розподіл | Не потрібен; єдиний обов'язок охоплює всю ціну |
| 5. Визнання | З плином часу, по мірі спливання днів доступу |
Цю ж модель концептуально описано в статті Облік у SaaS: пояснення. Тут ми одразу переходимо до проведень.
Випадок 1: річний план
На дату виставлення, 1 січня 2026 року. Дебіторська заборгованість і ПДВ є реальними на цю дату. Дохід – ні.
| Рахунок | Дебет | Кредит |
|---|---|---|
| 2410 Торгова дебіторська заборгованість | 2 904,00 | |
| 4492 ПДВ зобов'язання до сплати | 504,00 | |
| 4910 Доходи майбутніх періодів (зобов'язання за договором) | 2 400,00 |
Жоден рахунок доходів не зачеплено. Проте ПДВ підлягає сплаті на дату виставлення рахунка у звичайному порядку; декларація з ПДВ за січень включає 504 євро незалежно від того, чи була надана послуга.
Коли клієнт сплачує.
| Рахунок | Дебет | Кредит |
|---|---|---|
| 2710 Банк | 2 904,00 | |
| 2410 Торгова дебіторська заборгованість | 2 904,00 |
Наприкінці кожного місяця. Підручниковий варіант передбачає визнання 200 євро на місяць. Графік із прив'язкою до днів, метод визнання за ступенем готовності на основі часу (output method), який МСФЗ (IFRS) 15 §B15 дозволяє для послуг, що споживаються безперервно, дає змогу виділити кожному місяцю його частку з 365 днів:
| Місяць | Дні | Транш |
|---|---|---|
| Січень | 31 | 203,84 |
| Лютий | 28 | 184,11 |
| Березень | 31 | 203,84 |
| Квітень | 30 | 197,26 |
| … | ||
| Грудень | 31 | 203,81 |
| Разом | 365 | 2 400,00 |
Останній транш поглинає округлення центів, щоб графік у сумі точно дорівнював відкладеній сумі. Визнання за січень:
| Рахунок | Дебет | Кредит |
|---|---|---|
| 4910 Доходи майбутніх періодів | 203,84 | |
| 5001 Дохід від надання послуг | 203,84 |
Після дванадцяти таких проведень сальдо за рахунком 4910 за цим рахунком дорівнює нулю, а 2 400 євро перейшли до складу доходів протягом року, в якому вони були зароблені.
Випадок 2: пакет послуг зі знижкою
Той самий клієнт купує підписку разом із послугою впровадження (onboarding). У рахунку зазначено підписку на суму 2 400 євро та впровадження на суму 600 євро, загалом 3 000 євро нетто. При продажу окремо підписка коштує 3 000 євро, а впровадження – 1 000 євро, тобто пакет містить знижку в розмірі 1 000 євро.
Пункти 76 – 80 МСФЗ (IFRS) 15 вимагають розподіляти знижку між обов'язками пропорційно до їхніх цін окремого продажу (standalone selling prices), а не залишати її там, де її випадково вказав відділ продажу.
| Рядок | Заявлена ціна | Ціна окремого продажу | Частка | Розподілено |
|---|---|---|---|---|
| Підписка (з плином часу) | 2 400 | 3 000 | 75 % | 2 250,00 |
| Впровадження (на певну дату) | 600 | 1 000 | 25 % | 750,00 |
| Разом | 3 000 | 4 000 | 3 000,00 |
ПДВ залишається прив'язаним до заявлених цін у рядках, оскільки рахунок є первинним документом з ПДВ: 21 % від 3 000 євро становить 630 євро. Розподіл змінює лише те, як чиста сума ділиться між доходом зараз і доходом у майбутньому.
На дату виставлення.
| Рахунок | Дебет | Кредит |
|---|---|---|
| 2410 Торгова дебіторська заборгованість | 3 630,00 | |
| 4492 ПДВ зобов'язання до сплати | 630,00 | |
| 5001 Дохід від надання послуг (впровадження, виконано) | 750,00 | |
| 4910 Доходи майбутніх періодів (підписка) | 2 250,00 |
Впровадження приносить 750 євро доходу на дату виставлення, а не 600 євро, надрукованих у рядку. Підписка відкладається в сумі 2 250 євро, а її січневий транш становить 2 250 × 31 ÷ 365 = 191,10 євро.
Без розподілу в проведенні було б відображено 600 євро доходу та 2 400 євро майбутніх доходів. Різниця становить 150 євро доходу, відображеного в не тому році.
Випадок 3: проєкт із поетапною оплатою
Проєкт із впровадження виставляється на суму 10 000 євро нетто (12 100 євро брутто) із трьома етапами: дизайн 30 %, розробка 50 %, запуск 20 %. Кожен етап – це момент часу, в який приймається певна частина роботи, що підтверджується актом здачі-приймання.
На дату виставлення.
| Рахунок | Дебет | Кредит |
|---|---|---|
| 2410 Торгова дебіторська заборгованість | 12 100,00 | |
| 4492 ПДВ зобов'язання до сплати | 2 100,00 | |
| 4910 Доходи майбутніх періодів | 10 000,00 |
Коли підписано акт на дизайн.
| Рахунок | Дебет | Кредит |
|---|---|---|
| 4910 Доходи майбутніх періодів | 3 000,00 | |
| 5001 Дохід від надання послуг | 3 000,00 |
Очікувана дата етапу – це інформація для планування. Дохід переміщується, коли відбувається подія, а не тоді, коли календар каже, що вона мала відбутися.
Випадок 4: очікуване повернення коштів
Припустимо, історія показує, що 5 % річних планів повертаються протягом першого місяця. Пункти 55 – 58 МСФЗ (IFRS) 15 розглядають очікувані повернення як змінну винагороду: вони виключаються з ціни операції та обліковуються як зобов'язання щодо повернення коштів до усунення невизначеності.
Візьміть разовий продаж продукту на суму 1 000 євро нетто (1 210 євро брутто) із прогнозом повернення 5 %, визнаний на певну дату.
На дату виставлення.
| Рахунок | Дебет | Кредит |
|---|---|---|
| 2410 Торгова дебіторська заборгованість | 1 210,00 | |
| 4492 ПДВ зобов'язання до сплати | 210,00 | |
| 4450 Зобов'язання щодо повернення коштів | 50,00 | |
| 5001 Дохід від надання послуг | 950,00 |
Клієнту повертають 40 євро нетто. Повернення оформлюється кредитовим авізо, яке сторнує ПДВ і дебіторську заборгованість, а також зменшує зобов'язання замість зменшення доходу.
| Рахунок | Дебет | Кредит |
|---|---|---|
| 4450 Зобов'язання щодо повернення коштів | 40,00 | |
| 4492 ПДВ зобов'язання до сплати | 8,40 | |
| 2410 Торгова дебіторська заборгованість | 48,40 |
Вікно повернення закривається. Було використано лише 40 євро з оцінки в 50 євро, тому решта 10 євро визнаються доходом.
| Рахунок | Дебет | Кредит |
|---|---|---|
| 4450 Зобов'язання щодо повернення коштів | 10,00 | |
| 5001 Дохід від надання послуг | 10,00 |
Для рядка, який також має графік відкладеного визнання, порядок погашення такий: спочатку доходи майбутніх періодів (очікуваний графік скорочується з кінця), потім зобов'язання щодо повернення коштів, і потім дохід.
Випадок 5: зміна договору
У середині річного плану з Випадку 1 клієнт домовляється про продовження на шість місяців без додаткової плати. Шість місяців уже визнано (1 200 євро з використанням рівних щомісячних сум для читабельності; система робить розрахунок за днями), і 1 200 євро залишаються відкладеними.
Пункти 20 та 21 МСФЗ (IFRS) 15 пропонують два підходи залежно от того, чи є послуги, що залишилися, окремими від уже наданих.
Перспективний підхід (§21(a)). Товари або послуги, що залишилися, є окремими, тому невизнані 1 200 євро розподіляються на новий строк, що залишився, – дванадцять місяців: по 100 євро на місяць. Жодних виправних проведень заднім числом не робиться; наступне визнання просто стає меншим.
Коригування на наростачальній основі (Cumulative catch-up, §21(b)). Зобов'язання розглядається як єдине частково виконане, тому дохід перераховується так, ніби з самого початку застосовувалося вісімнадцять місяців: 2 400 євро ÷ 18 = 133,33 євро на місяць, 800 євро зароблено станом на 30 червня. Оскільки 1200 євро вже було визнано, 400 євро сторнуються:
| Рахунок | Дебет | Кредит |
|---|---|---|
| 5001 Дохід від надання послуг | 400,00 | |
| 4910 Доходи майбутніх періодів | 400,00 |
Решта 1600 євро потім визнаються по 133,33 євро на місяць протягом нового строку, що залишився.
Доступ до платформи, що надається день за днем, зазвичай є серією окремих послуг, тому перспективний підхід є звичайним рішенням. Який саме підхід застосовувати – це бухгалтерське судження; головна книга має вміти проводити обидва варіанти.
Зміни ціни. Зменшення ціни є кредитовим авізо до оригінального рахунка і слідує описаному вище порядку погашення. Збільшення ціни – це новий рахунок зі власним графіком визнання, який за своєю суттю є перспективним.
Ті самі проводки через API
Кожне проведення вище створюється модулем визнання доходу Nordlet на основі звичайних даних рахунків. Метод визнання зазначається в рядку рахунка.
Випадок 1. Створіть рахунок із рядком пропорційного визнання, а потім виставте його. Виставлення проводить дебіторську заборгованість, ПДВ та доходи майбутніх періодів, а також будує графік із дванадцяти траншів.
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. Додайте standaloneSellingPrice до кожного рядка рахунка. Розподіл обчислюється в момент виставлення; рядок впровадження використовує метод за замовчуванням point_in_time.
Випадок 3. Передайте в рядку параметри "recognition": { "method": "milestone", "milestones": [ { "percent": 30, "description": "Design", "expectedDate": "2026-02-28" }, … ] }. Виставлення акта здачі-приймання через sales/acts/issue до рахунка визнає транші очікуваних етапів на дату акта.
Випадок 4. Встановіть refundEstimatePercent у рядку. Кредитові авізо погашають зобов'язання в описаному порядку; запит sales/refund-liability/true-up зі зміненим значенням estimatedTotal проводить визнання або донарахування. Повернення коштів платіжною системою, зіпсоване з рахунком, записується на зобов'язання та генерує вебхук refund_liability.actual, але не робить проводок за самим зобов'язанням, оскільки зменшення доходу та вихідного ПДВ вимагає кредитового авізо як первинного документа з ПДВ.
Випадок 5.
POST /v1/sales/recognition/modify
{ "invoiceLineId": "<line id>", "approach": "prospective", "newEndDate": "2027-06-30" }
Замініть prospective на cumulative_catch_up для другого підходу; сторнування 400 євро проводиться негайно, а залишок перерозподіляється.
Визнання доходів. Визнання проводиться як один журнал на пакетну обробку. Воно запускається трьома способами без опитування (polling): закриття періоду спочатку визнає все, що підлягає визнащенню на кінець періоду, виставлення акта здачі-приймання визнає транші етапів, а таймер на наступну дату виконання проводить пропорційні транші, коли вони настають. sales/recognition/compute попередньо переглядає, що зробить пакетна обробка; sales/recognition/run проводить це; sales/recognition/summary звітує про визнану суму на дату, залишок та наступну дату виконання для кожного рядка; sales/recognition-schedules/list показує кожен транш із його статусом.
Чого модуль не робить
Документовані обмеження важливі так само, як і функції, коли ви плануєте закриття періоду:
- Графіки зафіксовані в євро за обмінного курсу на дату виставлення. Залишки доходів майбутніх періодів не переоцінюються щодо коливань валют після виставлення.
- Розподіл вимагає ціни окремого продажу для кожного рядка або для жодного. Залишковий підхід (residual approach) згідно з §79(c) не реалізовано.
- Зобов'язання щодо повернення коштів відстежується за сумою без ПДВ на рівні рахунка. Зустрічний актив на право повернення товарів (§B25) не моделюється.
- Коригування на наростачальній основі (cumulative catch-up) застосовується лише до пропорційних рядків; перепланування етапів є перспективним.
- Суттєві компоненти фінансування (§60 – §65), негрошова винагорода та винагорода, що виплачується клієнту, знаходяться поза межами обсягу.
- Рахунок активів за договором (2910) існує в план рахунків і як ключ проведення, але визнання доходу до виставлення рахунка наразі є ручним журналом.
Програмне забезпечення здатне виконувати облік за стандартами МСФЗ (IFRS) 15 та ASC 606. Вибір методу для кожного обов'язку, оцінка цін окремого продажу та ставок повернення, а також судження про те, чи є послуги, що залишилися, окремими, залишаються рішеннями, які приймає суб'єкт звітності.
FAQ
Коли визнається дохід за SaaS-підпискою за МСФЗ (IFRS) 15?
Протягом періоду надання послуг, оскільки доступ до програмного забезпечення є обов'язком щодо виконання, який виконується з плином часу. Для плану на дванадцять місяців, виставленого наперед, кожен місяць заробляє свою частку ціни. Дата виставлення рахунка визначає, коли записується дебіторська заборгованість та ПДВ, а не коли записується дохід.
Яке бухгалтерське проведення робиться для відкладеного доходу?
На дату виставлення: дебет торгової дебіторської заборгованості на брутто-суму, кредит ПДВ зобов'язань до сплати та кредит доходів майбутніх періодів (зобов'язання за договором) на чисту суму. У кожному періоді: дебет доходів майбутніх періодів та кредит доходу на заробітну суму. Дебіторська заборгованість закривається, коли клієнт здійснює платіж.
Чи слідує ПДВ за графіком визнання доходу?
Ні. ПДВ стає зобов'язанням до сплати при виставленні рахунка або отриманні авансового платежу згідно зі звичайними правилами Директиви про ПДВ та національного законодавства. Графік доходів майбутніх періодів і зобов'язання з ПДВ рухаються незалежно, тому рахунок на аванс є реальним первинним документом з ПДВ, а проформа – ні.
Як розподіляється знижка на пакет за МСФЗ (IFRS) 15?
Пропорційно до цін окремого продажу обов'язків у пакеті (§81). Знижка в 1 000 євро на пакет вартістю 4 000 євро, чиї частини коштують 3 000 євро та 1 000 євро окремо, зменшує кожну частину на 25 %. ПДВ залишається в рядках рахунка в заявленому вигляді.
У чому різниця між перспективним підходом і коригуванням на наростачальній основі?
Перспективний підхід розподіляє невизнаний залишок на нові умови починаючи з дати зміни, без коригування минулих доходів. Коригування на наростачальній основі перераховує дохід так, ніби нові умови застосовувалися з самого початку, і проводить різницю негайно. Який підхід застосовується, залежить від того, чи є послуги, що залишилися, окремими від уже наданих.