Nordlet

← Документация / Ръководства

Признаване на приходи (IFRS 15 / ASC 606)

Отсрочени приходи, погасителни планове за линейно разпределение, постигнати етапи и процент на завършеност, задължения за възстановяване, абонаменти.

Отсрочване на приходите по редове и план за признаване: задължения по договори, методи за признаване с течение на времето, разпределение на цената на сделката, провизии за възстановяване, абонаменти и изменения на договори. Стандартният подход остава непроменен - обикновен ред от фактура признава прихода изцяло към датата на издаване (в определен момент), което е в съответствие с 606/15 за едно задължение за изпълнение, удовлетворено при доставка. Всичко по-долу е опционално за всеки ред от фактурата.

Софтуерът е способен да прилага 606/15; отчетното предприятие е това, което отговаря (или не отговаря) на изискванията. Изборът на подходящ метод за всяко задължение, оценката на самостоятелните продажни цени и процентите на възстановяване, както и преценката дали останалите стоки или услуги са отделни при изменение на договора, остават счетоводни преценки, които се вземат от лицето, подаващо отчетността.

Сметки

Счетоводните потоци се поддържат от три сметки, зададени като ключове за правила за отчитане (подлежащи на презаписване за всяка компания чрез ledger/posting-rules/update): revenue.deferredIncome → 4910 „Ateinančių laikotarpių pajamos“ (задължение по договор), revenue.refundLiability → 4450 „Grąžinimo įsipareigojimai pirkėjams“, revenue.contractAsset → 2910 „Sukauptos pajamos“. Съществуващите компании получават сметките чрез повторно прилагане на шаблона на индивидуалния сметкоплан (ledger/accounts/apply-template).

Задължения за изпълнение по редовете на фактурата

Редовете в sales/invoices/create|update приемане на параметъра recognition: { method, startDate, endDate, milestones }, където method може да бъде един от следните:

Метод Поведение при издаване Признаване
point_in_time (по подразбиране) Кт приходи изцяло към датата на издаване, непроменено
ratable (startDate..endDate) Кт отсрочени приходи месечен план, разпределен по дни за периода на услугата
milestone (milestones[], проценти с обща сума 100) Кт отсрочени приходи по една транша на етап, признава се при настъпване на събитието
percent_complete Кт отсрочени приходи чрез отчети за кумулативния напъдък

Вземанията от клиенти и ДДС остават непроменени: издаването отчита Дт 2410 за брутната сума, Кт 4492 за ДДС и разпределя нето сумата между приходите (редове с признаване в определен момент) и сметка 4910 (отсрочени редове). Графиците се съхраняват във валутата на отчетността на компанията по валутния курс към датата на издаване - sales/recognition-schedules/list (sales:read) показва всяка транша със статус pending | recognized | cancelled (чакаща | призната | отменена).

Разпределение на цената на сделката. Когато има повече от един ред, standaloneSellingPrice на всеки ред разпределя нето сумата на фактурата пропорционално между задълженията (IFRS 15 §76–80); разпределената сума - а не посочената цена на реда - определя разпределението между приходи/отсрочени приходи и графиците. ДДС остава обвързан с редовете на фактурата според указаното.

Двигател за признаване на приходи

Признаването отчита Дт 4910 / Кт приходи (сметка за услуга/продукт и център на разходите от оригиналния ред) като една единствена счетоводна статия за едно изпълнение, записана в sales/recognition/runs/list.

  • POST /v1/sales/recognition/compute (sales:read) { asOfDate? } - предварителен преглед (simulation) на дължимите транши на база линейно разпределение.
  • POST /v1/sales/recognition/run (sales:write) { asOfDate?, postingDate?, scheduleIds? } - отчитане на дължимите транши на база линейно разпределение или точно определените транши, посочени в scheduleIds (за всеки метод).
  • POST /v1/sales/recognition/progress (sales:write) { invoiceLineId, percentComplete, date? } - за редове с процент на завършеност: отчитане на кумулативния напъдък; новоспечелената разлика се отчита незабавно, а корекциите надолу (регресиите) се отхвърлят.
  • POST /v1/sales/recognition/summary (sales:read) - призната сума до момента, остатък, брой чакащи и дата на следващото плащане за всеки ред, заедно с общите суми за компанията.

Три събития задействат признаването без необходимост от изпитване с заявки (polling): заключване на период (ledger/periods/lock), което първо признава всичко дължимо до края на периода, отчетено на датата на края на периода; издаване на приемо-предавателен протокол (sales/acts/issue), което признава свързаните чакащи етапни транши по фактурата на датата на протокола; и таймер за падеж на график, който се активира за следващата дата на линейно разпределение и извършва отчитане по компании при настъпването ѝ (заключеният период се опитва отново по-късно). Етапите са базирани на събития целенасочено - expectedDate на даден етап е план-информация и никога не задейства признаване сама по себе си.

Променливо възнаграждение - задължение за възстановяване

Параметърът refundEstimatePercent на даден ред кредитира този дял от (разпределената) нето сума по сметка 4450 вместо по приходите или отсрочените приходи при издаване - очакваните възстановявания се изключват от цената на сделката (IFRS 15 §55). Състоянието за всяка фактура се съхранява в sales/refund-liability/list (прогнозирано, усвоено, установени уредени възстановявания, остатък).

Действителни стойности: кредитно известие към фактурата дебитира сметка 4450 до размера на оставащото задължение, преди да засегне приходите. sales/refund-liability/true-up (sales:write) { invoiceId, estimatedTotal, date? } актуализира прогнозата и отчита разликата спрямо приходите в двете посоки (ограничена до усвоената сума). Възстановяванията по плащания от доставчици на платежни услуги (PSP), съчетани с фактурата, се записват по задължението и генерират уебхук (webhook) refund_liability.actual - те не се отчитат директно по сметка 4450, тъй като намаляването на приходите и на ДДС за продажби изисква кредитно известие като данъчен документ.

Абонаменти - споразумения към фактури

Присвоете на споразумение billingPeriod (monthly | quarterly | annual) и функцията agreements/generate-invoice (agreements:write) създава чернова на фактурата за следващия нефактуриран период: редове от артикулите по споразумението (или value като един ред за период), всеки с линейно разпределение на признаването през периода на услугата. Функцията agreements/billing/run { asOfDate? } обхожда всички активни споразумения, генерира всеки дължим период и прекратява споразуменията, които са напълно фактурирани след изтичане на крайния им срок. Последните къси периоди се разпределят пропорционално на броя дни; autoRenew удължава срока със собствената му продължителност и продължава фактурирането. Генерираните фактури носят agreementId (може да се филтрира в sales/invoices/list).

Изменения на договори

POST /v1/sales/recognition/modify (sales:write) { invoiceLineId, approach, date?, newEndDate?, newMilestones? }:

  • prospective - отмяна на чакащия график и преразпределение на неизпозлвания остатък при новите условия от датата на изменението (останалите стоки/услуги са отделни: IFRS 15 §20(a), §21(a)). Редовете с линейно разпределение получават newEndDate; етапните редове получават newMilestones (проценти от оставащата сума).
  • cumulative_catch_up (само за линейно разпределение) - преизчисляване на приходите така, сякаш новите условия са се прилагали от самото начало, и незабавно отчитане на разликата в двете посоки (едно частично изпълнено задължение: §21(b)); остатъкът се преразпределя.

Намаленията на цените преминават през кредитни известия: кредитно известие към фактура с чакащи графици дебитира първо отсрочените приходи и съкращава чакащия план от неговия краен срок, след това задължението за възстановяване и едва тогава приходите. Увеличенията на цените са допълнителни фактури със собствен режим на признаване - перспективни по своя характер.

Лимити

  • Графиците и счетоводните статии за признаване са суми във валутата на отчетността (EUR), фиксирани по валутния курс към датата на издаване; отсрочените салда не се преоценяват за валутни разлики след издаването.
  • Сметката за активи по договори (2910) е предоставена в сметкоплана и като ключ за отчитане, но все още няма автоматизиран поток за отчитане на нефактурирани приходи - към момента признаването преди фактуриране е ръчна счетоводна статия.
  • Разпределението изисква самостоятелна продажна цена за всички редове на фактурата или за нито един от тях; остатъчният подход (§79(c)) не е имплементиран.
  • Задълженията за възстановяване се проследeт без ДДС на ниво фактура; съответният актив за правото на получаване обратно на върнати стоки (§B25) не е моделно представен.
  • Кумулативното наваксване се прилага за редове с линейно разпределение; препланирането на етапи е само перспективно; редовете с процент на завършеност се коригират чрез отчети за напредъка, а не чрез modify.
  • Съществените финансиращи компоненти (§60–65), непаричното възнаграждение и дължимото възнаграждение към клиент са извън обхвата.
  • Автоматичните изпълнения за падеж по график се отчитат в деня на тяхното задействане; статиите за наваксване в затворени периоди се отхвърлят - открий периода или използвай отворена дата за отчитане.

FAQ

Как да обработя анулиране на фактура с отсрочени приходи? Издайте кредитно известие за цялата сума. Системата автоматично ще анулира всички чакащи транши в графика и ще отмени съответните салда по сметка 4910.

Мога ли да променям метода на признаване след издаване на фактурата? Не директно на същия ред. Трябва да използвате функцията за изменение на договори (sales/recognition/modify) или да анулирате реда и да издадете нов с правилния метод.

Как се третират авансовите плащания? Авансовите плащания се отчитат като обичайни фактури с метод на признаване по избор. Ако е избран метод с отсрочване (ratable или milestone), сумата остава в сметка 4910 до настъпване на събитието или периода.