← ドキュメント / ガイド
収益認識 (IFRS 15 / ASC 606)
前受収益、期間按分、マイルストーンおよび進捗度基準のスケジュール、返金負債、サブスクリプション。
明細行ごとの収益の繰延べとスケジュールのよる認識: 契約負債、期間経過方式(over-time methods)、取引価格の配分、返金引当金、サブスクリプションおよび契約変更。デフォルトの動作は変更されていません。通常の請求書明細行は、従来通り発行時に(一時点で)全額の収益を認識します。これは、引渡し時に充足される単一の履行義務に対する 606/15 基準に適合しています。以下の機能はすべて、請求書明細行ごとのオプトインです。
本ソフトウェアは 606/15 に**対応可能(capable)**ですが、基準に準拠している(あるいは準拠していない)のは報告主体(企業)自身です。履行義務ごとに適切な方法を選択すること、独立販売価格や返金率を見積ること、および契約変更時に残余の財またはサービスが区別できる(distinct)かどうかを判断することは、申告企業が行うべき会計上の判断事項です。
勘定科目
3つの勘定科目が一連のフローを支えており、仕訳ルールキー(posting-rule keys)として紐付けられています(企業ごとに 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% となるパーセンテージ) |
前受収益を貸方に記帳 | マイルストーンごとに1トランシェ、事象の発生時に認識 |
percent_complete |
前受収益を貸方に記帳 | 累積進捗レポートによる認識 |
売掛金(AR)と付加価値税(VAT)は影響を受けません。発行時には総額で借方 2410、VAT の貸方 4492 が起票され、正味額が収益(一時点認識の明細行)と 4910(繰延明細行)に振り分けられます。スケジュールは発行日の為替レートを使用して会社の機能通貨で保存されます。sales/recognition-schedules/list(sales:read)により、ステータス(pending | recognized | cancelled)とともにすべてのトランシェを確認できます。
取引価格の配分。 複数の明細行がある場合、すべての明細行の standaloneSellingPrice(独立販売価格)を使用して、請求書の正味額が履行義務間で比例配分されます(IFRS 15項 76〜80)。明細行に記載された価格ではなく、この配分された金額が収益と繰延べの振り分けおよびスケジュールを駆動します。VAT は請求書明細行に記載された通りの金額に留まります。
認識エンジン
収益認識では、実行ごとに単一の仕訳として、借方 4910 / 貸方 収益(元の明細行のサービス/製品勘定および原価センター)が起票されます。この仕訳は sales/recognition/runs/list に記録されます。
POST /v1/sales/recognition/compute(sales:read){ asOfDate? }- 期限が到来した期間按分トランシェのドライラン(試行)プレビュー。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)- これまでに認識された金額、残高、保留中の件数、明細行ごとの次回期日、および会社の合計値。
ポーリングを行わずに認識を駆動する3つのイベントがあります。期間のロック(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(決済サービスプロバイダー)の決済返金は負債に記録され、refund_liability.actual Webhook を発行します。これらは 4450 に対して直接起票されません。収益および売上 VAT の減額には、VAT 文書としてのクレジットノートが必要となるためです。
サブスクリプション - 契約から請求書へ
契約に billingPeriod(請求期間: monthly | quarterly | annual)を設定し、agreements/generate-invoice(agreements:write)を実行すると、次の未請求期間の**下書き(draft)**請求書が作成されます。明細行は契約アイテムから生成されるか(または期間ごとに1行の 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))。残余額は再配分されます。
価格の引き下げはクレジットノートを通じて処理されます。保留中のスケジュールを持つ請求書に対するクレジットノートは、まず前受収益を借方記帳して遠い将来のスケジュールから未処理の計画を切り詰め、次に返金負債、その後に初めて収益を減額します。価格の引き上げは、独自の認識を持つ追加の請求書として処理され、構造上将来に向かって適用されます(prospective)。
制限事項
- スケジュールおよび認識の起票金額は、発行時の為替レートで固定された**機能通貨(EUR)**の金額です。繰延残高は発行後の為替変動によって再測定されません。
- 契約資産勘定(2910)は勘定科目および仕訳キーとして提供されていますが、自動化された未請求収益のフローはまだこの勘定に起票されません。請求前の収益認識は、現時点では手動仕訳となります。
- 配分の実行には、請求書のすべての明細行またはどの明細行にも独立販売価格が必要です。残余アプローチ(項 79(c))は実装されていません。
- 返金負債は請求書レベルで VAT 控除後の純額で追跡されます。対応する返品を受ける権利に関する資産(項 B25)はモデル化されていません。
- 累積的影響を認識する手法(cumulative catch-up)は期間按分明細行に適用されます。マイルストーンの再計画は将来適用(prospective)のみです。進捗度基準の明細行は
modifyではなく進捗レポートを通じて調整されます。 - 有意的な金融要素(項 60〜65)、非現金対価、および顧客に支払われる対価は対象外です。
- 自動スケジュール期日実行は、期日が到来した当日に起票を行います。ロックされた期間に対するキャッチアップ起票は拒否されます。期間のロックを解除するか、オープンな起票日を使用してください。