Finanzbuchhaltung & Journal
accounting
accounting_controlling
🛡️ RLS Protected
Hauptbuch, Sachkonten nach DATEV SKR03/SKR04, automatisierte Buchungszeilen und Steuerberater-Export.
⚡ Workflows & Lifecycles
Eingangsrechnung → Abrechnung
cascade:business.supplier_invoice.p2p
Kaskade (review_gated).
Buchungssatz erstellen
cascade_target:business.accounting.booking
Kaskade (review_gated).
Benutzerbefehl: accounting agent
plan:command_accounting_agent
Geprüfter Durable-Plan (durable_plan), Start: manual_command.
Buchungskandidat
status:accounting_entry
Beobachtbare Zustandsmaschine (observable_only). Übergänge hier nicht erzwungen — siehe Service-Validierung.
Buchungssatz
status:journal_entry
Beobachtbare Zustandsmaschine (observable_only). Übergänge hier nicht erzwungen — siehe Service-Validierung.
⚙️ Fachprozesse & Capabilities (System-Fachlogik)
Registrierte Fachoperationen und System-Capabilities dieses Moduls zur Steuerung von Workflows, Kaskaden und KI-Agenten.
| Capability & Schlüssel | Fachliche Bezeichnung | Ausführung / Coverage | Risikostufe & Freigabe | Effekte & Kaskaden |
|---|---|---|---|---|
Agent-Einstieg accounting_agent
agent_entry:accounting_agent
|
Agent-Einstieg accounting_agent
Quelle:
code:module_agent_map
|
manual_entry |
✓ Auto
|
Keine Seiteneffekte deklariert |
Accounting: approve
capability:accounting.accounting.approve
Op:
accounting.accounting.approve
|
Objekt:
accounting
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Accounting: approve many
capability:accounting.accounting.approve_many
Op:
accounting.accounting.approve_many
|
Objekt:
accounting
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Accounting: create candidate
capability:accounting.accounting.create_candidate
Op:
accounting.accounting.create_candidate
|
Objekt:
accounting
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Accounting: mark exported
capability:accounting.accounting.mark_exported
Op:
accounting.accounting.mark_exported
|
Objekt:
accounting
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Accounting: reject
capability:accounting.accounting.reject
Op:
accounting.accounting.reject
|
Objekt:
accounting
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Accounting Category: create
capability:accounting.accounting_category.create
Op:
accounting.accounting_category.create
|
Objekt:
accounting_category
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Auto-Match
capability:accounting.bank.auto_match
Op:
accounting.bank.auto_match
|
Objekt:
payment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Kontoauszug
capability:accounting.bank.import_statement
Op:
accounting.bank.import_statement
|
Objekt:
bank_statement
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Buchungssatz erstellen
capability:accounting.entry
Op:
accounting.entry
|
Objekt:
accounting_entry
Quelle:
code:capability_registry
|
reviewed |
🔒 Freigabe nötig
Risiko:
business_record
|
|
Buchungsvorschlag freigeben
capability:accounting.entry.approve
Op:
accounting.entry.approve
|
Objekt:
accounting_entry
Quelle:
code:capability_registry
|
⚙️ Engine |
🔒 Freigabe nötig
Risiko:
business_record
|
|
Buchungsvorschläge sammelfreigeben
capability:accounting.entry.approve_many
Op:
accounting.entry.approve_many
|
Objekt:
accounting_entry
Quelle:
code:capability_registry
|
⚙️ Engine |
🔒 Freigabe nötig
Risiko:
business_record
|
|
FX Neubewertung
capability:accounting.fx.revalue
Op:
accounting.fx.revalue
|
Objekt:
accounting_entry
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Periode schließen
capability:accounting.period.close
Op:
accounting.period.close
|
Objekt:
accounting_period
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Periode öffnen
capability:accounting.period.reopen
Op:
accounting.period.reopen
|
Objekt:
accounting_period
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
USt vorbereiten
capability:accounting.vat.return_prepare
Op:
accounting.vat.return_prepare
|
Objekt:
vat_return
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Buchung freigeben
capability:approve_accounting_entry
Op:
approve_accounting_entry
|
Objekt:
accounting_entry
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Buchungsvorschlag erzeugen
capability:create_accounting_candidate
Op:
create_accounting_candidate
|
Objekt:
accounting_entry
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Buchhaltungsexport generieren
capability:export_accounting
Op:
export_accounting
|
Objekt:
accounting_export_batch
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Zahlung zuordnen
capability:match_payment
Op:
match_payment
|
Objekt:
payment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Operatives Asset mit Finanzanlage verknüpfen
capability:mdm.fixed_asset.link
Op:
mdm.fixed_asset.link
|
Objekt:
fixed_asset_link
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
Keine Seiteneffekte deklariert |
Buchungsvorschlag ablehnen
capability:reject_accounting_entry
Op:
reject_accounting_entry
|
Objekt:
accounting_entry
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Zahlungszuordnung aufheben
capability:unmatch_payment
Op:
unmatch_payment
|
Objekt:
payment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Eingangsrechnung → Abrechnung
cascade:business.supplier_invoice.p2p
|
Eingangsrechnung → Abrechnung
Quelle:
code:cascade_process
|
review_gated |
✓ Auto
|
Keine Seiteneffekte deklariert |
Buchungssatz erstellen
cascade_target:business.accounting.booking
Op:
accounting.entry
|
Buchungssatz erstellen
Quelle:
code:cascade_target
|
review_gated |
🔒 Freigabe nötig
|
Keine Seiteneffekte deklariert |
cost_center: edit form
form_surface_anchor:cost_center.edit
|
Objekt:
cost_center
Quelle:
code:erp_form_surface
|
operator_surface |
✓ Auto
|
Keine Seiteneffekte deklariert |
cost_type: edit form
form_surface_anchor:cost_type.edit
|
Objekt:
cost_type
Quelle:
code:erp_form_surface
|
operator_surface |
✓ Auto
|
Keine Seiteneffekte deklariert |
approve accounting entry
gateway:approve_accounting_entry
Op:
approve_accounting_entry
|
approve accounting entry
Quelle:
code:engine_facade
|
⚙️ Engine |
✓ Auto
|
Keine Seiteneffekte deklariert |
create accounting candidate
gateway:create_accounting_candidate
Op:
create_accounting_candidate
|
create accounting candidate
Quelle:
code:engine_facade
|
⚙️ Engine |
✓ Auto
|
Keine Seiteneffekte deklariert |
reject accounting entry
gateway:reject_accounting_entry
Op:
reject_accounting_entry
|
reject accounting entry
Quelle:
code:engine_facade
|
⚙️ Engine |
✓ Auto
|
Keine Seiteneffekte deklariert |
Benutzerbefehl: accounting agent
plan:command_accounting_agent
|
Benutzerbefehl: accounting agent
Quelle:
code:reviewed_execution_plan
|
durable_plan |
✓ Auto
|
Keine Seiteneffekte deklariert |
Buchungskandidat
status:accounting_entry
|
Objekt:
accounting_entry
Quelle:
code:status_machine
|
observable_only |
✓ Auto
|
Keine Seiteneffekte deklariert |
Buchungssatz
status:journal_entry
|
Objekt:
journal_entry
Quelle:
code:status_machine
|
observable_only |
✓ Auto
|
Keine Seiteneffekte deklariert |
🧠 Fachprozess-Erzählung & Dual Knowledge Architektur
Synthese aus der ideologischen Blaupause (Meta-Fachlogik / Soll), der faktischen System-Implementierung (System-Fachlogik / Ist) und No-Code Customizing für KI-Consultants.
Der durchgängige Businessprozess im Detail (End-to-End Fließtext-Erzählung)
Der durchgängige Rechnungs- und Buchhaltungsprozess in der betrieblichen Praxis
Die Finanzbuchhaltung ist das bilanzielle und steuerliche Rückgrat jedes Unternehmens. Centurio ERP verbindet hochautomatisierte Abrechnungsworkflows mit strikter Einhaltung deutscher und europäischer Rechnungslegungs- und Steuervorschriften.
1. Rechnungserstellung & Belegursprung (Billing Trigger)
Ausgangsrechnungen (AR) entstehen aus verschiedenen betrieblichen Leistungsquellen:
- Auslieferung von Waren (
sales): Sobald der Warenausgang für einen Verkaufsauftrag gebucht ist, stößt das System die Faktura an (cap:invoices.invoice.create_from_order). - Abgeschlossene Werkstatt- und Außendienstaufträge (
workorders,fieldservice): Nach digitaler Kundensignatur auf dem Abnahmeprotokoll werden verbaute Ersatzteile und geleistete Arbeitsstunden zur Rechnung fakturiert. - Wiederkehrende Verträge & Mieten (
contracts,rental): Die automatische Abrechnungs-Engine scannt am Monats- oder Quartalsersten alle aktiven Dauerverträge und erzeugt die zyklischen Rechnungen. - Gutschriften & Korrekturen (
returns): Bei Reklamationen oder Rücksendungen wird eine Rechnungskorrektur mit negativer Verbindlichkeit generiert.
2. Gesetzliche Pflichtangaben & E-Rechnungsstandard (ZUGFeRD / XRechnung)
Seit der E-Rechnungspflicht im B2B-Geschäft generiert Centurio ERP jede Rechnung zweifach:
- Menschlesbares PDF: Gestaltet nach Corporate Design mit allen handels- und steuerrechtlichen Pflichtangaben nach § 14 UStG (Rechnungsdatum, lückenlose Rechnungsnummer, Steuernummer/USt-IdNr., Anschriften, Lieferzeitpunkt, Steuersätze und -beträge).
- Strukturierte XML-Daten nach EU-Norm EN 16931:
- ZUGFeRD 2.2 / Factur-X (Profil EN 16931 / Comfort): Die XML-Datei ist als unsichtbarer Anhang direkt in die PDF-Datei eingebettet (Hybridrechnung).
- Reine XRechnung (CII/UBL): Für Behördenkunden (B2G) mit Angabe der verbindlichen Leitweg-ID.
3. Festschreibung nach GoBD (Immutability & Final Lock)
Vor dem Versand an den Kunden wird die Rechnung über den systemgeprüften Gateway gw:invoice_finalization@v1 festgeschrieben (cap:invoices.invoice.finalize):
- Schreibschutz: Nach diesem Schritt ist die Rechnung rechtlich existent und kann unter keinen Umständen mehr gelöscht oder geändert werden.
- Transaktionale Buchung: Der Rechnungsbetrag wird unmittelbar auf das Erlöskonto (z.B. 8400 Erlöse 19% USt nach SKR03) und das Steuerkonto (1776 Umsatzsteuer) verbucht.
- Anlage des Offenen Postens (OP): Im Debitorenkonto des Kunden entsteht ein offener Posten mit Fälligkeitsdatum und Skontofrist.
4. Versand & Bereitstellung (Multi-Channel Dispatch)
- Die festgeschriebene Rechnung wird per E-Mail mit digitalem ZUGFeRD-Anhang an die hinterlegte Rechnungsadresse versandt (
cap:invoices.invoice.send). - Im B2B-Kundenportal (
portal) wird die Rechnung sofort in der Rechnungsübersicht des Kunden zum Download bereitgestellt.
5. Zahlungsabgleich & Elektronischer Kontoauszug (Bank Reconciliation)
Zahlungseingänge werden hochgradig automatisiert verarbeitet:
- Kontoauszugsabruf (CAMT.053 / MT940 / EBICS): Über das Bankenmodul (
banking) ruft das System täglich die elektronischen Kontoauszüge aller Geschäftsbanken ab. - Automatisches Matching: Die Reconciliation-Engine gleicht Verwendungszwecke, Rechnungsnummern, Beträge und IBANs gegen die offenen Debitorenposten ab (
cap:payments.payment.auto_reconcile). - Skontoprüfung: Zahlt der Kunde innerhalb der Skontofrist unter Abzug von Skonto (z.B. 2%), bucht das System die Skontodifferenz automatisch auf das Skontoaufwandskonto (8736 nach SKR03).
- Zahlungsausgleich: Der offene Posten wird geschlossen; der Rechnungsstatus wechselt auf Bezahlt (
paid).
6. Mehrstufiges Mahnwesen (Dunning Run)
Bleiben Zahlungen nach Fälligkeit aus, greift das automatisierte Mahnwesen:
- Das System ermittelt täglich alle überfälligen Rechnungen unter Berücksichtigung von Kulanzfristen.
- Mahnlauf: Über
cap:invoices.dunning.runwerden Mahnstufen durchlaufen:- Zahlungserinnerung: Höfliche Erinnerung ohne Gebühren.
- 1. Mahnung: Nach 10 Tagen mit Mahngebühr.
- 2. Mahnung: Nach weiteren 10 Tagen mit Verzugszinsen nach BGB § 288 (9 Prozentpunkte über Basiszinssatz im B2B).
- 3. Mahnung / Inkasso: Übergabe an Rechtsabteilung oder Inkassodienstleister; Kreditsperre für den Kunden im Vertriebsmodul.
7. Hauptbuch, Kontenrahmen & DATEV-Export
- Doppelte Buchführung: Alle buchhalterischen Vorgänge (Rechnungen, Zahlungseingänge, Bankspesen, Abschreibungen) werden im Hauptbuchjournal geführt.
- Kontenrahmen: Unterstützung standardisierter Kontenrahmen (SKR03 und SKR04 der DATEV).
- Steuerberaterexport: Zum Monats- oder Quartalsabschluss generiert das Exportmodul (
exports) den DATEV-ASCII-Buchungsstapel inklusive Belegbild-Verknüpfung (cap:exports.datev.generate_batch), der direkt in DATEV Kanzlei-Rechnungswesen eingelesen werden kann.
Meta-Fachlogik: Ideologische Blaupause, Soll-Weltbild & Normen
Meta-Fachlogik: Die ideologische Blaupause & das normative Weltbild
Die Meta-Fachlogik der Buchhaltung stützt sich auf die Grundsätze ordnungsmäßiger Buchführung (GoB/GoBD), das Handelsgesetzbuch (HGB), das Umsatzsteuergesetz (UStG) und europäische E-Rechnungsrichtlinien.
1. Grundsätze ordnungsmäßiger Buchführung (GoB / GoBD)
- Das Belegprinzip: Keine Buchung ohne Beleg. Jede Journalbuchung muss zwingend auf einen rechtssicheren, nachvollziehbaren Beleg zurückzuführen sein.
- Grundsatz der Unveränderbarkeit (§ 146 Abs. 4 HGB / GoBD Rz. 58):
- Eine Buchung oder ein Beleg darf nicht in einer Weise verändert werden, dass der ursprüngliche Inhalt nicht mehr feststellbar ist.
- Das Soll-Modell verbietet das Überschreiben, Löschen oder Zurücksetzen finalisierter Rechnungen. Jede Korrektur muss über einen eigenständigen Gegenbeleg (Stornorechnung / Rechnungskorrektur) mit eindeutigem Referenzbezug erfolgen.
- Zeitgerechtheit & Lückenlosigkeit: Unbare Geschäftsvorfälle sind zeitnah (spätestens innerhalb von 10 Tagen) zu erfassen. Rechnungsnummern müssen lückenlos fortlaufend sein.
2. Umsatzsteuerrecht & E-Rechnungs-Standards
- Umsatzsteuergesetz (§ 14, § 14a UStG):
- Zwingende Pflichtbestandteile: Vollständiger Name und Anschrift von Leistendem und Leistungsempfänger, Steuernummer oder USt-IdNr., Ausstellungsdatum, fortlaufende Nummer, Menge und handelsübliche Bezeichnung der Gegenstände, Zeitpunkt der Lieferung/Leistung, nach Steuersätzen aufgeschlüsseltes Entgelt sowie gesondert ausgewiesene Steuerbeträge.
- Richtlinie 2014/55/EU & Wachstumschancengesetz:
- Verpflichtung zur strukturierten elektronischen Rechnung im B2B-Geschäftsverkehr (EN 16931). Das Soll-Modell betrachtet reine PDF-Rechnungen ohne strukturierte XML-Syntax als veraltet bzw. im B2B ab 2025/2026 als unzulässig.
3. Invarianten des Soll-Modells
- Keine Rechnung ohne eindeutige, lückenlose Belegnummer aus einem geschützten Nummernkreis.
- Eine festgeschriebene Rechnung darf niemals physikalisch aus der Datenbank gelöscht werden.
- Soll und Haben müssen bei jeder Journalbuchung exakt ausgeglichen sein (Summe Soll = Summe Haben).
- Offene Posten dürfen nur durch nachgewiesene Zahlungseingänge, genehmigte Gutschriften oder ausgebuchte Mahndifferenzen geschlossen werden.
Normbezug für accounting
Prüfkatalog Standards-Registry v2026.10.1. Dieser Abschnitt ordnet Prüfreferenzen zu und stellt nicht fest, dass das Modul eine Norm einhält; keine Kataloganforderung ist als PASS bewertet.
Geführte Prüfreferenzen:
de-gobd-2025, GoBD – Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern, Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff, Ausgabe GoBD, Fassung 2019-11-28, geändert 2024-03-11 und 2025-07-14. Art: guidance. Nur öffentliche Zusammenfassung. Keine Volltextprüfung. Kataloganforderungen:gobd-traceability,gobd-immutability,gobd-procedure-documentation,gobd-data-access. Katalogstatus: NOT_ASSESSED.de-ao-145-147, Abgabenordnung (AO) §§ 145–147, Ausgabe AO §§ 145–147, geltende Fassung (Stand 2026-10-25). Art: regulatory. Öffentlicher Text. Die Nennung ist keine Klauselprüfung. Kataloganforderungen:ao-record-keeping,ao-orderliness,ao-retention. Katalogstatus: NOT_ASSESSED.en-16931-2017-a1-2019, EN 16931-1:2017+A1:2019 Electronic invoicing — Part 1: Semantic data model of the core elements of an electronic invoice, Ausgabe EN 16931-1:2017+A1:2019. Art: technical_interoperability. Lizenzierter Volltext liegt nicht vor. Keine Klauselprüfung. Kataloganforderungen:en16931-semantic-model. Katalogstatus: NOT_ASSESSED.xrechnung-3.0.2, XRechnung 3.0.2, Ausgabe XRechnung 3.0.2 (gültig ab 2026-10-13; Vorversion 4.0.0 vom 2026-09-15 nicht produktiv). Art: technical_interoperability. Öffentlicher Text. Die Nennung ist keine Klauselprüfung. Kataloganforderungen:xrechnung-3.0.2/format. Katalogstatus: NOT_ASSESSED.de-ustg-14, Umsatzsteuergesetz (UStG) § 14, Ausgabe UStG § 14, geltende Fassung (Stand 2026-10-25). Art: regulatory. Öffentlicher Text. Die Nennung ist keine Klauselprüfung. Kataloganforderungen:ustg-14-invoice-requirements. Katalogstatus: NOT_ASSESSED.
Plattformweite Katalogwerke mit Geltungsbereich all (unter anderem WCAG 2.2, EN 301 549 V4.1.1, ISO 9241-110:2020, ISO 9241-210:2019, ISO/IEC 25010:2023, ISO 9001:2026, ISO/IEC 27001:2022, APQC PCF 8.0, DSGVO, EU AI Act) umfassen dieses Modul mit. Wo der Volltext fehlt, bleibt der Zugang ohne Quelle, lizenzpflichtig oder nur als öffentliche Zusammenfassung gekennzeichnet. Auch diese Nennung weist keine eingehaltene Vorgabe nach.
Systemische Fachlogik: Faktische Umsetzung in Centurio ERP & Capabilities
Systemische Fachlogik: Die faktische Umsetzung in Centurio ERP
Die System-Fachlogik dokumentiert die Realisierung in den Modulen invoices, accounting, finance und exports.
1. Datenmodelle & Semantische Schicht (ORM)
Invoice: Rechnungskopf (Felder:id,tenant_id,invoice_number,invoice_type[outward, credit_note, correction, cancellation],status,customer_id,invoice_date,due_date,total_net_amount,total_tax_amount,total_gross_amount,currency,zugferd_xml,is_locked).InvoiceLine: Rechnungspositionen (Felder:invoice_id,product_id,quantity,unit_price,tax_rate,revenue_account_code,cost_center_id).GeneralLedgerEntry: Buchungsjournalzeile (Felder:id,entry_number,booking_date,account_code,contra_account_code,debit_amount,credit_amount,reference_doc_id,is_settled).OpenItem: Offener Posten (Felder:invoice_id,customer_id,due_date,open_amount,paid_amount,dunning_level).BankStatementTransaction: Bankkontoauszugsbewegung (Felder:account_iban,valuta_date,amount,remittance_info,matched_invoice_id).
2. Das Capability-Register
cap:invoices.invoice.create: Anlegen eines Rechnungsentwurfs.cap:invoices.invoice.finalize: GoBD-Festschreibung und Sperrung der Rechnung.cap:invoices.invoice.generate_zugferd: Erzeugung der EN 16931 konformen ZUGFeRD-XML-Syntax.cap:invoices.invoice.send: Versand der Hybridrechnung per E-Mail/Portal.cap:invoices.invoice.cancel: Erzeugung einer korrespondierenden Stornorechnung.cap:payments.payment.auto_reconcile: Automatischer Kontoauszugsabgleich gegen offene Posten.cap:invoices.dunning.run: Ausführung des regelbasierten Mahnlaufs.cap:exports.datev.generate_batch: Erstellung des DATEV-kompatiblen ASCII-Buchungsstapels.
3. Der Gateway gw:invoice_finalization@v1
Sichert die fiskalische Rechtsverbindlichkeit ab:
- Plausibilitätsprüfung: Prüft USt-IdNr., Steuersätze, Pflichtfelder nach § 14 UStG und rechnerische Summenintegrität.
- Festschreibung: Setzt
Invoice.is_locked = trueundInvoice.status = 'finalized'. - Journalbuchung: Erzeugt atomar die Soll- und Haben-Zeilen in
GeneralLedgerEntry. - OP-Anlage: Bucht den offenen Posten in
OpenItem. - Outbox-Signal: Feuert
INVOICE_FINALIZED_EVENT.
4. Statusmodelle
- Rechnungs-Status:
draft(Entwurf) ➔finalized(Festgeschrieben/Offen) ➔partially_paid(Teilbezahlt) ➔paid(Ausgeglichen) odercancelled(Storniert). - Mahnstufen:
none(0) ➔reminder(Erinnerung) ➔level_1➔level_2➔level_3(Inkasso).
KI-Consultant Leitfaden: Customizing- & No-Code-Konzept (Soll-Ist-Synthese)
KI-Consultant Blueprint: Customizing & No-Code Architektur
Anleitung für Solution Architects zur Einrichtung der Finanz- und Fakturierungsworkflows.
1. Kundenanforderungsanalyse
- Welcher Kontenrahmen wird genutzt (SKR03 oder SKR04)?
- Welche Skontoregeln und Zahlungsziele gelten standardmäßig (z.B. 14 Tage 2% Skonto, 30 Tage netto)?
- Sollen Behördenkunden (B2G) mit zwingender Leitweg-ID und reiner XRechnung bedient werden?
2. No-Code Zusatzfelder (Custom Fields)
Im No-Code Studio (/semantic/customizing):
- Auf
Invoice:leitweg_id(Text): Zwingend für XRechnung an Bundes- und Landesbehörden.cost_unit_code(Text): Kostenträgerzuordnung für die Kostenstellenrechnung.buyer_reference(Text): Einkaufsreferenz des Kunden (Bestellnummer).
- Auf
OpenItem:dispute_reason(Auswahlliste: Preisklaerung, Mangelruege, Falschlieferung): Sperrt den Mahnlauf bei berechtigten Kundenreklamationen.
3. No-Code Workflow Canvas DAGs
Blueprint A: Automatischer Rechnungsversand nach Warenausgang (Auto-Invoice DAG)
- Trigger-Node: Event
ORDER_DISPATCHEDaus dem Lagermodul. - Condition-Node:
order.customer.invoice_generation_policy == 'immediate'. - Action-Node 1: Rufe
cap:invoices.invoice.create_from_orderauf. - Action-Node 2: Rufe Gateway
gw:invoice_finalization@v1auf. - Action-Node 3: Versende ZUGFeRD-PDF per E-Mail an Rechnungs-Empfänger.
Blueprint B: Automatisches Mahnwesen mit Dispute-Sperre (Dunning DAG)
- Trigger-Node: Scheduled Cron (
0 6 * * 1) – Wöchentlicher Mahnlauf. - Condition-Node:
open_item.days_overdue > 14 AND open_item.dispute_reason == null. - Action-Node: Eskaliere Mahnstufe (
level_1), berechne 5,00 € Mahngebühr und generiere Mahnschreiben mit QR-Zahlcode (GiroCode).
📚 Operative Prozessbegriffe & Transaktionsschnittstellen
- Lieferscheinquittierung aus dem Warenausgang des Lagers
- Abgeschlossene Arbeitsaufträge mit digitaler Kundensignatur
- Abrechnungszyklen aus Miet- und Serviceverträgen
- Elektronische Bankkontoauszüge (CAMT.053 / MT940)
- GoBD-konforme ZUGFeRD-2.2- und XRechnungs-Dokumente
- Doppelte Buchungsjournal-Einträge im Hauptbuch (General Ledger)
- Automatisierte Zahlungsausgleiche und Skontobuchungen
- DATEV-kompatible Exportstapel für Steuerberater und Wirtschaftsprüfer
- Mahnungsdokumente und Verzugszinsaufstellungen
- invoice_finalized -> open_item_created: Sofortige Anlage der offenen Forderung
- payment_matched -> close_open_item: Schließen der Forderung und Auslösen des Rechnungsstatus bezahlt
- invoice_overdue -> trigger_dunning_pipeline: Einsteuern in den Mahnlauf
- batch_exported -> lock_accounting_period: Periodenabschluss mit Schreibschutz
- Rechnungskorrektur und Storno bei berechtigter Reklamation
- Manuelle Klärung von Restbeträgen und Rundungsdifferenzen beim Bankabgleich
- Zahlungssperren bei strittigen Eingangsrechnungen (Dispute Management)
- Währungskursdifferenzbuchung bei Forderungen in Fremdwährungen
- Kontenrahmen (SKR03 oder SKR04) passend zur Steuerberaterkanzlei wählen
- Standard-Zahlungsziele, Skontosätze und Mahngebühren parametrieren
- DATEV-Beraternummer und Mandantennummer in den Exporteinstellungen pflegen
- No-Code Zusatzfelder für Leitweg-ID (Behördenrechnung) auf Invoice anlegen
🗄️ Data Models & Fields
🔌 Entry Points (UI & APIs)
| Art | Method | Endpoint / Path | Titel & Zweck | Required Role |
|---|---|---|---|---|
| ⚡ REST API | DELETE | /api/v1/accounting/currencies/{currency_id} |
delete_currency
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | DELETE | /api/v1/accounting/payment-terms/{term_id} |
delete_payment_term
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | DELETE | /api/v1/accounting/tax-codes/{tax_id} |
delete_tax_code
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | GET | /accounting |
accounting_page
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/categories |
list_categories
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/cost-centers |
list_cost_centers
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/cost-types |
list_cost_types
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/currencies |
list_currencies
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/entries |
list_entries
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/entries/{entry_id} |
get_entry
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/journal-entries |
list_journal_entries
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/journal-entries/{entry_id} |
get_journal_entry
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/journals |
list_journals
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/payment-terms |
list_payment_terms
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/tax-advisor/check |
get_tax_advisor_check
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/tax-advisor/configuration |
get_tax_advisor_configuration
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/tax-advisor/questionnaire |
get_tax_advisor_questionnaire
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/tax-codes |
list_tax_codes
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/accounting/tax-rates |
list_tax_rates
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/alerts |
kpi_alerts
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/bab |
bab
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/bi/catalog |
bi_catalog
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/bi/export.csv |
bi_export
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/bi/query |
bi_query
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/bwa |
bwa
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/cost-centers |
cost_centers
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/exchange-rates |
exchange_rates
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/groups |
groups
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/imputed-costs |
imputed_costs
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/internal-orders |
internal_orders
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/internal-orders/{order_id}/lines |
order_lines
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/kpis |
kpis
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/kpis/{key}/history |
kpi_history
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/margin |
margin
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/plan |
plan
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/snapshots |
snapshots
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/controlling/snapshots/{snapshot_id} |
snapshot
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/costing/entries |
list_entries
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/costing/entries/{entry_id} |
get_entry
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /api/v1/costing/projects/{project_id}/metrics |
project_metrics
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /controlling |
controlling_home
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | GET | /controlling/{page} |
controlling_page
Semantic binding: inventory_only; mutation=False
|
accounting
|
| ⚡ REST API | PATCH | /api/v1/accounting/currencies/{currency_id} |
update_currency
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | PATCH | /api/v1/accounting/payment-terms/{term_id} |
update_payment_term
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | PATCH | /api/v1/accounting/tax-codes/{tax_id} |
update_tax_code
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/categories |
create_category
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/cost-centers |
create_cost_center
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/cost-types |
create_cost_type
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/currencies |
create_currency
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/currencies/seed |
seed_currencies
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/entries |
create_entry
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/entries/{entry_id}/approve |
approve_entry
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/entries/{entry_id}/reject |
reject_entry
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/journal-entries/inventory-adjustment |
post_inventory_adjustment
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/journal-entries/post-expenses |
post_approved_expenses
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/journal-entries/repost/invoice/{invoice_id} |
repost_invoice_journal_entry
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/journal-entries/{entry_id}/reverse |
reverse_journal_entry
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/payment-terms |
create_payment_term
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/payment-terms/seed |
seed_payment_terms
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/tax-advisor/ai-assist |
tax_advisor_ai_assist
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/tax-advisor/apply |
tax_advisor_apply_configuration
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/tax-advisor/proposal |
tax_advisor_proposal
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/tax-codes |
create_tax_code
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/accounting/tax-codes/seed |
seed_tax_codes
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/controlling/backfill-dimensions |
backfill_dimensions
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/controlling/exchange-rates/fetch-ecb |
fetch_ecb_rates
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/controlling/imputed-costs |
create_imputed
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/controlling/internal-orders |
create_order
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/controlling/kpis/snapshot |
kpi_snapshot
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/controlling/snapshots |
freeze
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | POST | /api/v1/costing/entries |
create_entry
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | PUT | /api/v1/controlling/cost-centers/{center_id} |
update_center
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | PUT | /api/v1/controlling/cost-centers/{center_id}/rules |
set_rules
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | PUT | /api/v1/controlling/exchange-rates |
save_rate
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | PUT | /api/v1/controlling/groups/{group_id}/ranges |
set_ranges
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | PUT | /api/v1/controlling/imputed-costs/{cost_id} |
update_imputed
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | PUT | /api/v1/controlling/internal-orders/{order_id} |
update_order
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | PUT | /api/v1/controlling/internal-orders/{order_id}/status |
order_status
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | PUT | /api/v1/controlling/kpis/{key}/target |
set_target
Semantic binding: operator_surface; mutation=True
|
accounting
|
| ⚡ REST API | PUT | /api/v1/controlling/plan |
save_plan
Semantic binding: operator_surface; mutation=True
|
accounting
|
| 🖥️ WEB-UI | GET | /admin/steuerberater |
Steuerberater-Portal
DATEV-Exporte und GoBD-Buchungsstapel
|
accounting:manage
|
| ⚡ REST API | GET | /api/v1/accounting/export/datev |
DATEV Export API
Erzeugt DATEV-konforme CSV-Buchungsstapel
|
accounting:read
|
| 🖥️ WEB-UI | GET | /controlling/bwa |
BWA-Auswertung
Monatliche Betriebswirtschaftliche Auswertung
|
accounting:read
|
| 🖥️ WEB-UI | GET | /controlling/bab |
Betriebsabrechnungsbogen
Gemeinkostenverteilung auf Kostenstellen
|
accounting:read
|
| 🖥️ WEB-UI | GET | /controlling/margin |
Deckungsbeitragsrechnung
Marge nach Aufträgen und Kunden
|
accounting:read
|
🛡️ Regulatory & Compliance
Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:
- GoBD Grundsätze ordnungsmäßiger Buchführung
- DATEV SKR03 / SKR04 Schnittstellenvorgaben
- HGB Rechnungslegung