← Dokumentation / Leitfäden
Umsatzerfassung (IFRS 15 / ASC 606)
Passive Rechnungsabgrenzung, ratierliche, meilenstein- und prozentbasierte Zeitpläne, Rückstellungsverbindlichkeiten, Abonnements.
Positionsgenaue Rechnungsabgrenzung und zeitlich gesteuerte Umsatzerfassung: Vertragsverbindlichkeiten, Leistungsfortschrittsverfahren (Over-time-Methoden), Transaktionspreiszuteilung, Rückstellungsrücklagen, Abonnements und Vertragsänderungen. Der Standardpfad bleibt unverändert - eine einfache Rechnungsposition erfasst den Umsatz weiterhin in voller Höhe zum Ausstellungszeitpunkt (Zeitpunktbezogene Erfassung, point in time), was für eine einzelne, bei Lieferung erfüllte Leistungsverpflichtung den Standards 606/15 entspricht. Alles Nachfolgende ist für jede Rechnungsposition optional hinzubuchbar.
Die Software ist 606/15-fähig; das bilanzierende Unternehmen selbst ist jedoch für die Einhaltung der Vorschriften verantwortlich. Die Wahl der richtigen Methode pro Verpflichtung, die Schätzung von eigenständigen Verkaufspreisen (Standalone Selling Prices) und Rückgabequoten sowie die Beurteilung, ob verbleibende Waren oder Dienstleistungen bei einer Änderung eigenständig (distinct) sind, bleiben bilanzielle Ermessensentscheidungen des Einreichers.
Konten
Drei Konten des Kontenrahmens unterstützen die Buchungsabläufe und sind als Buchungsregel-Schlüssel hinterlegt (pro Unternehmen über ledger/posting-rules/update überschreibbar): revenue.deferredIncome → 4910 „Ateinančių laikotarpių pajamos“ (Vertragsverbindlichkeit), revenue.refundLiability → 4450 „Grąžinimo įsipareigojimai pirkėjams“, revenue.contractAsset → 2910 „Sukauptos pajamos“. Bestehende Unternehmen erhalten die Konten durch erneutes Anwenden der Kontenrahmen-Vorlage (ledger/accounts/apply-template).
Leistungsverpflichtungen auf Rechnungspositionen
Positionen in sales/invoices/create|update akzeptieren recognition: { method, startDate, endDate, milestones }, wobei method einen der folgenden Werte annimmt:
| Methode | Verhalten bei Ausstellung | Umsatzerfassung |
|---|---|---|
point_in_time (Standard) |
Haben-Buchung des Umsatzes in voller Höhe | zum Ausstellungszeitpunkt, unverändert |
ratable (startDate..endDate) |
Haben-Buchung passiver Rechnungsabgrenzung | tagesgewichteter monatlicher Zeitplan über den Leistungszeitraum |
milestone (milestones[], Prozentsumme ergibt 100) |
Haben-Buchung passiver Rechnungsabgrenzung | eine Tranche je Meilenstein, erfasst bei Eintritt des Ereignisses |
percent_complete |
Haben-Buchung passiver Rechnungsabgrenzung | über Berichte zum kumulierten Fortschritt |
Forderungen und Umsatzsteuer bleiben unberührt: Die Ausstellung bucht den Bruttobetrag im Soll an 2410, die Umsatzsteuer im Haben an 4492 und teilt den Nettobetrag zwischen Umsatz (zeitpunktbezogene Positionen) und 4910 (abgegrenzte Positionen) auf. Die Zeitpläne werden in der Basiswährung des Unternehmens zum Wechselkurs des Ausstellungsdatums gespeichert - sales/recognition-schedules/list (sales:read) zeigt jede Tranche mit dem Status pending | recognized | cancelled (ausstehend | erfasst | storniert).
Transaktionspreiszuteilung. Bei mehr als einer Position teilt standaloneSellingPrice auf jeder Position den Nettorechnungsbetrag anteilig (pro-rata) auf die Verpflichtungen auf (IFRS 15 §76–80); der zugeteilte Betrag - nicht der angegebene Positionspreis - bestimmt die Aufteilung zwischen Umsatz und Rechnungsabgrenzung sowie die Zeitpläne. Die Umsatzsteuer verbleibt unverändert bei den Rechnungspositionen wie ausgewiesen.
Erfassungs-Engine
Die Umsatzerfassung bucht im Soll an 4910 und im Haben an Umsatz (Ertrags-/Produktkonto und Kostenstelle aus der Ursprungsposition) als einen einzigen Buchungssatz pro Lauf, aufgezeichnet in sales/recognition/runs/list.
POST /v1/sales/recognition/compute(sales:read){ asOfDate? }- Testlauf-Vorschau fälliger ratierlicher Tranchen.POST /v1/sales/recognition/run(sales:write){ asOfDate?, postingDate?, scheduleIds? }- Bucht fällige ratierliche Tranchen oder genau die überscheduleIdsbenannten Tranchen (jede Methode).POST /v1/sales/recognition/progress(sales:write){ invoiceLineId, percentComplete, date? }- Prozentual abgegrenzte Positionen: Melden des kumulierten Fortschritts; die neu verdiente Delta-Tranche wird sofort gebucht, Korrekturen nach unten (Regressionen) werden abgewiesen.POST /v1/sales/recognition/summary(sales:read) - Bisher erfasster Umsatz, verbleibender Betrag, Anzahl ausstehender Tranchen und nächstes Fälligkeitsdatum pro Position sowie Summen des Unternehmens.
Drei Ereignisse steuern die Umsatzerfassung ohne Abfragen (Polling): Die Periode sperren (ledger/periods/lock) erfasst zunächst alles, was bis zum Periodenende fällig ist, gebucht zum Datum des Periodenendes; die Leistungsnachweis-Ausstellung (sales/acts/issue) erfasst die verknüpften ausstehenden Meilenstein-Tranchen der Rechnung zum Datum des Leistungsnachweises; und ein Zeitplan-Fälligkeits-Timer schaltet auf das nächste ratierliche Fälligkeitsdatum und buucht unternehmensbezogen bei dessen Eintreten (eine gesperrte Periode wird zu einem späteren Zeitpunkt erneut versucht). Meilensteine sind bewusst ereignisbasiert - das expectedDate eines Meilensteins ist Planungsinformation und löst die Umsatzerfassung niemals allein aus.
Variable Gegenleistung - Rückstellungsverbindlichkeit
refundEstimatePercent auf einer Position schreibt diesen Anteil des (zugeteilten) Nettobetrags bei Ausstellung im Haben dem Konto 4450 anstelle von Umsatz oder passiver Rechnungsabgrenzung gut - erwartete Rückerstattungen sind vom Transaktionspreis ausgeschlossen (IFRS 15 §55). Der rechnungsbezogene Status befindet sich in sales/refund-liability/list (geschätzt, verbraucht, beobachtete Abrechnungsrückerstattungen, verbleibend).
Tatsächliche Beträge: Eine Gutschrift zur Rechnung belastet das Konto 4450 im Soll bis zur Höhe der verbleibenden Verbindlichkeit, bevor der Umsatz angetastet wird. sales/refund-liability/true-up (sales:write) { invoiceId, estimatedTotal, date? } revidiert die Schätzung und bucht das Delta in beide Richtungen gegen den Umsatz (begrenzt nach unten durch den bereits verbrauchten Betrag). Der Rechnung zugeordnete PSP-Abrechnungsrückerstattungen werden auf der Verbindlichkeit verbucht und lösen einen Webhook vom Typ refund_liability.actual aus - sie werden nicht direkt gegen 4450 gebucht, da die Minderung von Umsatz und Ausgangssteuer die Gutschrift als Steuerdokument erfordert.
Abonnements - Vereinbarungen zu Rechnungen
Weisen Sie einer Vereinbarung einen Abrechnungszeitraum billingPeriod (monthly | quarterly | annual) zu, erstellt agreements/generate-invoice (agreements:write) den Entwurf der nächsten noch nicht abgerechneten Periode: Positionen aus den Vereinbarungspositionen (oder value als eine Position pro Periode), jeweils mit ratierlicher Erfassung über den Leistungszeitraum. agreements/billing/run { asOfDate? } erfasst alle aktiven Vereinbarungen, generiert jede fällige Periode und lässt vollständig abgerechnete Vereinbarungen nach Ablauf ihres Enddatums auslaufen. Abschließende kurze Zeiträume werden tageweise abgegrenzt (pro-rata); autoRenew verlängert die Laufzeit um ihre eigene Länge und führt die Rechnungsstellung fort. Generierte Rechnungen tragen die Kennung agreementId (filterbar in sales/invoices/list).
Vertragsänderungen
POST /v1/sales/recognition/modify (sales:write) { invoiceLineId, approach, date?, newEndDate?, newMilestones? }:
prospective- Stornierung des ausstehenden Zeitplans und Neuzuteilung des nicht erfassten Rests zu den neuen Bedingungen ab dem Änderungsdatum (verbleibende Waren oder Dienstleistungen sind eigenständig: IFRS 15 §20(a), §21(a)). Ratierliche Positionen übernehmennewEndDate; Meilenstein-Positionen übernehmennewMilestones(Prozentwerte des verbleibenden Betrags).cumulative_catch_up(nur ratierlich) - Neuberechnung des Umsatzes so, als wären die neuen Bedingungen von Anfang an angewendet worden, und sofortige Buchung der Differenz in beide Richtungen (einzelne teilweise erfüllte Verpflichtung: §21(b)); der Restbetrag wird neu verteilt.
Preissenkungen fließen über Gutschriften ein: Eine Gutschrift zu einer Rechnung mit ausstehenden Zeitplänen belastet zuerst die passive Rechnungsabgrenzung und kürzt den ausstehenden Plan von seinem Ende her, danach die Rückstellungsverbindlichkeit und erst im Anschluss den Umsatz. Preiserhöhungen sind zusätzliche Rechnungen mit eigener Umsatzerfassung - von Natur aus prospektiv.
Grenzen
- Zeitpläne und Erfassungsbuchungen basieren auf Beträgen in Basiswährung (EUR), fixiert zum Wechselkurs des Ausstellungsdatums; abgegrenzte Salden werden nach der Ausstellung nicht mehr auf Fremdwährungsbasis bewertet.
- Das Konto für Vertragsvermögenswerte (2910) ist im Kontenrahmen und als Buchungsschlüssel vorhanden, es führt jedoch noch keinen automatisierten Ablauf für noch nicht abgerechnete Umsätze aus - eine Erfassung vor Rechnungsstellung erfolgt derzeit über einen manuellen Buchungssatz.
- Die Zuteilung erfordert einen eigenständigen Verkaufspreis auf allen Positionen der Rechnung oder auf keiner; der Restwertansatz (Residualansatz, §79(c)) ist nicht implementiert.
- Rückstellungsverbindlichkeiten werden auf Rechnungsebene netto ohne Umsatzsteuer geführt; der entsprechende Vermögenswert für das Recht auf Rücknahme zurückgegebener Waren (§B25) ist nicht abgebildet.
- Die kumulierte Anpassung (Cumulative Catch-up) gilt für ratierliche Positionen; die Neuplanung von Meilensteinen erfolgt ausschließlich prospektiv; prozentual abgegrenzte Positionen werden über Fortschrittsberichte angepasst, nicht über
modify. - Signifikante Finanzierungskomponenten (§60–65), nicht-monatliche Gegenleistungen und an Kunden zu zahlende Gegenleistungen fallen nicht in den Anwendungsbereich.
- Automatische Fälligkeitsläufe für Zeitpläne buchen am Tag ihrer Auslösung; Nachholbuchungen (Catch-up-Buchungen) in gesperrte Perioden werden abgewiesen - heben Sie die Sperrung auf oder verwenden Sie ein offenes Buchungsdatum.