Признание выручки в 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), допускаемый параграфом B15 МСФО (IFRS) 15 для услуг, потребляемых непрерывно, распределяет на каждый месяц его долю из 365 дней:
| Месяц | Дней | Трoнш |
|---|---|---|
| Январь | 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: пакет услуг со скидкой
Тот же клиент покупает подписку вместе с услугой по подключению (онбордингу). В счете указаны подписка на сумму 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 евро в месяц. Проводки пересчета задним числом не делаются; следующее начисление просто становится меньше.
Кумулятивный метод с пересчетом (параграф 21(b)). Обязанность рассматривается как единая частично выполненная, поэтому выручка пересчитывается так, будто с самого начала действовал восемнадцатимесячный срок: 2,400 евро ÷ 18 = 133.33 евро в месяц, к 30 июня заработано 800 евро. Поскольку уже было признано 1,200 евро, 400 евро сторнируются:
| Счет | Дебет | Кредит |
|---|---|---|
| 5001 Выручка от услуг | 400.00 | |
| 4910 Доходы будущих периодов | 400.00 |
Оставшиеся 1,600 евро затем начисляются по 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 евро проводится немедленно, а оставшаяся сумма перераспределяется.
Начисления. Признание выручки проводится одной проводкой за запуск. Оно запускается тремя способами без опроса: закрытие периода сначала признает все суммы, подлежащие признанию до конца периода; проведение акта приема-передачи признает транши этапов; таймер, настроенный на следующую дату платежа, проводит равномерные транши по наступлении срока. Метод sales/recognition/compute позволяет предварительно просмотреть проводки запуска; sales/recognition/run проводит их; sales/recognition/summary формирует отчет по признанной на текущий момент сумме, остатку и следующей дате начисления по каждой строке; sales/recognition-schedules/list отображает каждый транш с его статусом.
Чего модуль не делает
Документированные ограничения имеют такое же значение, как и функции, когда вы планируете закрытие периода:
- Графики фиксируются в евро по обменному курсу на дату выставления счета. Балансы доходов будущих периодов не переоцениваются из-за изменения курсов валют после выставления счета.
- Распределение требует наличия самостоятельной цены продажи либо для каждой строки, так и ни для одной. Остаточный подход из параграфа 79(c) не реализован.
- Обязательство по возврату отслеживается за вычетом НДС на уровне счета. Встречный актив на право возврата товаров (параграф B25) не моделируется.
- Кумулятивный метод с пересчетом применяется только к равномерным строкам; перепланирование этапов выполняется перспективно.
- Существенные компоненты финансирования (параграфы 60-65), неденежное возмещение и вознаграждение, выплачиваемое клиенту, находятся вне сферы применения.
- Счет учета выручки по невыставленным договорам (2910) присутствует в плане счетов и в качестве ключа проводок, но признание выручки до выставления счета в настоящее время выполняется вручную.
Программное обеспечение поддерживает учет в соответствии с МСФО (IFRS) 15 и ASC 606. Выбор метода для каждой обязанности, оценка самостоятельных цен продажи и ставок возврата, а также суждение о том, являются ли оставшиеся услуги отдельными, остаются решениями, которые принимает отчитывающаяся организация.
FAQ
Когда признается выручка по SaaS-подписке в соответствии с МСФО (IFRS) 15?
В течение периода обслуживания, поскольку доступ к программному обеспечению является обязанностью к исполнению, выполняемой с течением времени. Для двенадцатимесячного плана, по которому счет выставлен предоплатой, каждый месяц приносит свою долю от цены. Дата счета определяет, когда отражаются дебиторская задолженность и НДС, а не когда признается выручка.
Какова бухгалтерская проводка по отложенной выручке?
В момент выставления счета: дебет торговой дебиторской задолженности на полную сумму с НДС, кредит НДС к уплате и кредит доходов будущих периодов (обязательство по договору) на сумму нетто. В каждом периоде: дебет доходов будущих периодов и кредит выручки на заработанную сумму. Дебиторская задолженность закрывается при оплате клиентом.
Следует ли НДС за графиком признания выручки?
Нет. НДС подлежит уплате в момент выставления счета или получения авансового платежа в соответствии с общими правилами Директивы по НДС и национального законодательства. График доходов будущих периодов и обязательство по НДС движутся независимо друг от друга, поэтому выставленный авансовый счет является полноценным документом по НДС, в отличие от проформы.
Как распределяется скидка на пакет услуг по МСФО (IFRS) 15?
Пропорционально самостоятельным ценам продажи обязанностей, входящих в пакет (параграф 81). Скидка в 1,000 евро на пакет стоимостью 4,000 евро, части которого отдельно стоят 3,000 и 1,000 евро, уменьшает каждую часть на 25 %. НДС остается на строках счета в заявленном виде.
В чем разница между перспективным методом и кумулятивным методом с пересчетом?
Перспективный метод распределяет непризнанный остаток на новый срок с даты изменения без каких-либо корректировок прошлой выручки. Кумулятивный метод с пересчетом пересчитывает выручку так, будто новые условия действовали с самого начала, и сразу отражает разницу. Какой метод применяется, зависит от того, являются ли оставшиеся услуги отдельными от уже оказанных.