
Compliance
Für GoBD-relevante Anforderungen gebaut. Revisionssicher. Unveränderbar.
LedgerLou stellt technische Funktionen bereit, die GoBD-relevante Anforderungen unterstützen: Append-only Ledger, kryptographische Audit-Hashes, irreversible Periodenabschlüsse und vollständige Belegverknüpfung sind keine Zusatzfeatures, sondern zentraler Baustein der Architektur. Ob eine konkrete Buchführung im Einzelfall GoBD-konform ist, hängt zusätzlich von Einrichtung, Nutzung, Vollständigkeit der Daten und den internen Kontrollen des Steuerpflichtigen ab.
Was ist die GoBD?
Die Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern, Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff (GoBD) definieren die Anforderungen der deutschen Finanzverwaltung an elektronische Buchführungssysteme. Sie gelten für alle Unternehmen, die ihre Bücher in digitaler Form führen, und sind Grundlage für Betriebsprüfungen durch das Finanzamt.
Die GoBD legt fest:
- Wie Buchungen erfasst und aufbewahrt werden müssen
- Dass nachträgliche Änderungen protokolliert oder verhindert werden müssen
- Welche Zugriffsrechte Betriebsprüfer auf Buchführungsdaten haben
- Wie lange Unterlagen aufzubewahren sind (10 Jahre)
GoBD-Anforderungen und LedgerLou-Umsetzung
1. Unveränderbarkeit und Vollständigkeit
„Jede Eintragung muss so vorgenommen werden, dass sie nicht ohne Spur einer Veränderung geändert werden kann.” — GoBD Rz. 91
ledger_events ist technisch append-only. Eine Datenbankregel (PostgreSQL-Trigger) blockiert jedes UPDATE und DELETE auf Ledger-Einträgen — auch für Datenbankadministratoren. Es gibt keinen API-Endpunkt und keine Admin-Funktion zum Löschen oder Ändern von Buchungen.2. Nachvollziehbarkeit und Audit-Trail
„Die Buchführung muss so beschaffen sein, dass sie einem sachverständigen Dritten innerhalb angemessener Zeit einen Überblick über die Geschäftsvorfälle ermöglicht.” — GoBD Rz. 30
ledger_event erhält beim Schreiben einen SHA256-Hash über seine Kernfelder (Betrag, Konten, Datum, Beschreibung, Mandant). Der Hash wird mit dem Eintrag gespeichert und kann jederzeit zur Verifikation der Datenintegrität herangezogen werden.created_at (UTC), booking_date (wirtschaftliches Datum) und — bei Stornierungen — eine Referenz zur Original-Buchungs-ID. Jede Aktion ist einer Benutzer-ID oder einem API-Key zugeordnet.3. Zeitgerechtheit der Erfassung
„Kasseneinnahmen und Kassenausgaben sollen täglich festgehalten werden.” — GoBD Rz. 47
Buchungen können mit jedem wirtschaftlichen Datum (booking_date) erfasst werden. Das technische Erfassungsdatum (created_at) wird separat gespeichert — der Zeitabstand zwischen wirtschaftlichem Datum und Erfassung ist damit für jeden Eintrag auditierbar.
Die GoBD-Anforderung der zeitnahen Buchungserfassung gilt als erfüllt, wenn Buchungen innerhalb von 10 Tagen nach dem wirtschaftlichen Ereignis erfasst werden. LedgerLou erzwingt diese Frist nicht technisch, macht sie aber durch den Zeitstempelvergleich für jeden Eintrag sichtbar und prüfbar.
4. Periodenabschluss und Periodenintegrität
locked) können nicht wieder geöffnet werden. Es gibt keine API, keinen Admin-Befehl und keine Datenbankoperation zum Entsperren. Der Datenbankauslöser check_period_lock() blockiert jeden Buchungsversuch in gesperrte Perioden auf Datenbankebene.SHA256(tenant_id | periode | letzter_audit_hash). Dieser Hash verkettet den Abschluss mit dem unveränderlichen Ledger-Zustand zum Zeitpunkt der Sperrung — jede nachträgliche Manipulation würde den Hash ungültig machen.5. Belegsicherung und Doppelbuchungsschutz
„Jeder Buchung muss ein Beleg zugrunde liegen.” — GoBD Rz. 65
6. Datenzugriff für Betriebsprüfer (Z1 / Z2 / Z3)
„Der Steuerpflichtige hat dem Prüfer auf Verlangen Daten maschinell auswertbar zur Verfügung zu stellen.” — GoBD Rz. 164
Die GoBD definiert drei Zugriffsarten für Betriebsprüfungen:
7. Aufbewahrungsfristen
„Handelsbücher sind 10 Jahre aufzubewahren.” — § 257 HGB, § 147 AO
8. Datensicherheit und Mandantentrennung
app.current_tenant — Zeilen eines anderen Mandanten sind technisch unsichtbar, auch bei fehlerhafter Anwendungslogik.api.mistral.ai) — keine Daten verlassen die EU.admin-Scope ist nie an OAuth oder MCP delegierbar.