LedgerLou Docs ist für Desktop optimiert.

Bitte öffne diese Seite auf einem Gerät mit breiterem Bildschirm.

Lou Compliance Shield

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.

Append-only LedgerAudit-Hash (SHA256)PeriodenabschlussStorno statt LöschenEU-Datenhaltung10-Jahres-Aufbewahrung

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

Append-only LedgerDie Tabelle 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.
Storno statt LöschenFehlerhafte Buchungen werden nicht gelöscht, sondern durch einen Stornoeintrag (Gegenbuchung) korrigiert. Beide Einträge bleiben dauerhaft im Ledger sichtbar — die ursprüngliche Buchung und die Stornokorrektur, jeweils mit Zeitstempel und Benutzer-ID.
Soll = Haben ValidierungJede Buchung wird vor der Verbuchung auf ausgeglichene Soll- und Haben-Positionen geprüft. Unausgeglichene Buchungssätze werden vom System abgelehnt — ein unvollständiger Eintrag kann nie in den Ledger gelangen.

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

Kryptographischer Audit-HashJeder 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.
Vollständige ZeitstempelketteJede Buchung trägt 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.
BuchungsursprungJeder Eintrag protokolliert seinen Ursprung: manuelle Buchung (Dashboard oder REST API), agentische Buchung (welcher Key/Agent) oder importierter Bankbeleg. Der Weg von Beleg zur Buchung ist vollständig rekonstruierbar.

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

Irreversibler PeriodenabschlussAbgeschlossene Perioden (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.
Abschluss-HashBei jedem Periodenabschluss wird ein Closing-Hash berechnet: 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.
P13 / P14 AnpassungsperiodenNeben regulären Monatsperioden unterstützt LedgerLou die steuerrechtlich üblichen Anpassungsperioden P13 (Bilanzanpassungen) und P14 (Steuerliche Korrekturen). Beide werden unabhängig von der regulären Monatsperiode gesperrt und sind separat im Audit-Log nachvollziehbar.

5. Belegsicherung und Doppelbuchungsschutz

„Jeder Buchung muss ein Beleg zugrunde liegen.” — GoBD Rz. 65

BelegverknüpfungBuchungen können direkt mit hochgeladenen Belegen (PDF, Bild) verknüpft werden. Belege werden in Hetzner Object Storage (Deutschland) mit unveränderlichem SHA256-Inhalts-Hash gespeichert. Die Verbindung zwischen Buchung und Beleg ist im Ledger hinterlegt.
DoppelbuchungsschutzJedes hochgeladene Dokument erhält einen SHA256-Inhalts-Hash. Ein identisches Dokument kann kein zweites Mal in den Ledger gelangen — Mehrfachverbuchungen desselben Belegs sind technisch ausgeschlossen.

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:

ZugriffsartDefinitionLedgerLou
Z1Unmittelbarer Nur-Lese-Zugriff auf das SystemPrüfer-API-Key mit Nur-Lese-Scopes für Journal, Bank und Auswertungen
Z2Mittelbarer Zugriff — Auswertungen auf AnfrageREST API Endpunkte für Journal, GuV, Bilanz, BWA, OPOS-Listen und Kontenblätter — alle maschinell auswertbar
Z3Datenträgerüberlassung — Export der BuchführungsdatenDATEV-Export (CSV) und strukturierter JSON-Export aller Buchungsdaten inklusive Metadaten und Audit-Hashes

7. Aufbewahrungsfristen

„Handelsbücher sind 10 Jahre aufzubewahren.” — § 257 HGB, § 147 AO

Unbegrenzte Ledger-AufbewahrungBuchungseinträge werden nie automatisch gelöscht. Das append-only Modell stellt sicher, dass alle Buchungen für die gesamte Laufzeit des Mandanten dauerhaft erhalten bleiben. Eine automatische Löschung nach Ablauf von Aufbewahrungsfristen ist nicht vorgesehen.
Belege in EU-Object-StorageHochgeladene Belege (PDFs, Bilder) werden in Hetzner Object Storage in Deutschland gespeichert. Daten verlassen zu keinem Zeitpunkt die EU. Die Storage-Architektur ist auf langfristige Aufbewahrung ausgelegt.

8. Datensicherheit und Mandantentrennung

PostgreSQL Row Level SecurityDie Mandantentrennung ist auf Datenbankebene durch PostgreSQL Row Level Security (RLS) erzwungen. Jede Abfrage setzt die Sitzungsvariable app.current_tenant — Zeilen eines anderen Mandanten sind technisch unsichtbar, auch bei fehlerhafter Anwendungslogik.
EU-Datenhaltung (Hetzner Deutschland)Datenbank, Redis, Object Storage und alle KI-Verarbeitungsschritte laufen ausschließlich auf Hetzner-Infrastruktur in Deutschland. KI-Anfragen gehen an die Mistral EU-API (api.mistral.ai) — keine Daten verlassen die EU.
Scope-gesteuerter ZugriffJeder Zugriff — auch innerhalb eines Mandanten — ist durch das Scope-System auf das Minimum eingeschränkt. API-Keys für Steuerberater, Agenten oder Integrationen erhalten nur die explizit notwendigen Rechte. Der admin-Scope ist nie an OAuth oder MCP delegierbar.

GoBD-Konformitätsübersicht

GoBD-AnforderungUmsetzungEbene
UnveränderbarkeitAppend-only Trigger auf ledger_eventsDatenbank
VollständigkeitSoll = Haben Validierung vor jeder VerbuchungAnwendung
NachvollziehbarkeitSHA256 Audit-Hash pro BuchungseintragDatenbank
PeriodenintegritätIrreversibler Abschluss + Closing-HashDatenbank
BelegsicherungSHA256 Inhalts-Hash + Hetzner Object Storage DEInfrastruktur
DoppelbuchungsschutzEindeutiger Dokumenten-Hash verhindert DuplikateAnwendung
Zeitstempelcreated_at (UTC) + booking_date getrenntDatenbank
Datenzugriff Z1/Z2/Z3Prüfer-Keys, REST API, DATEV-ExportAnwendung
MandantentrennungPostgreSQL Row Level SecurityDatenbank
Aufbewahrung 10 JahreKein automatisches Löschen, unbegrenzte AufbewahrungInfrastruktur
EU-DatenhaltungAusschließlich Hetzner Deutschland + Mistral EUInfrastruktur

Weiterführend