Verfahrensdokumentation (GoBD)
Die GoBD verlangen von jedem Betrieb eine Verfahrensdokumentation: eine Beschreibung, wie steuerlich erhebliche Daten entstehen, verarbeitet, aufbewahrt und wieder ausgegeben werden.
Diese Seite ist der Systemteil davon — die Beschreibung dessen, was Octibiz technisch leistet. Sie ist keine Rechtsberatung und ersetzt nicht die Abstimmung mit Ihrem Steuerberater. Was Ihr Betrieb selbst festlegen und dokumentieren muss, steht gesammelt am Ende der Seite.
Alle Oberflächen, die Automatisierung und die KI-Werkzeuge arbeiten über dieselbe Schnittstelle. Die Schutzregeln unten gelten deshalb für jeden dieser Wege gleich, weil sie im Schreibpfad der Schnittstelle sitzen und nicht in der Oberfläche.
Belege: Entwurf und Festschreibung
Eine Rechnung kennt zwei Zustände:
- Entwurf. Frei änderbar, noch ohne Belegnummer. Ein Entwurf lässt sich löschen; auch dann
wird er nur als gelöscht markiert und bleibt in der Datenbank erhalten.
- Ausgestellt (festgeschrieben). Das Ausstellen über
/api/v1/invoices/{ulid}/issue(Recht
invoicing.invoice.issue) vergibt die Belegnummer. Ab diesem Moment weist das System jede Änderung und jedes Löschen der Rechnung ab.
Der Versand per E-Mail verändert den Beleg nicht; er ist ein eigener Vorgang neben dem Beleg.
Korrigiert wird nie durch Überschreiben, sondern durch einen weiteren Beleg (Recht invoicing.invoice.cancel):
- Storno über
/api/v1/invoices/{ulid}/cancel: es entsteht eine mit der Rechnung verknüpfte
Gutschrift, die Rechnung gilt danach als storniert. Stornieren lässt sich eine ausgestellte oder überfällige Rechnung.
- Teilkorrektur über
/api/v1/invoices/{ulid}/correct: es entsteht eine Teil-Gutschrift gegen
die Rechnung, die Rechnung selbst bleibt bestehen.
Gutschriften entstehen ausschließlich auf diesen beiden Wegen, nicht als freier Beleg.
Belegnummern
Belegnummern vergibt eine zentrale Nummern-Engine. Je Belegart gibt es einen Nummernkreis mit einem einstellbaren Muster (Präfix, Marke, Datum, laufende Nummer mit Auffüllung), wahlweise je Marke getrennt und mit Rücksetzung nie, jährlich oder monatlich.
| Art | Verhalten | Belegarten |
|---|---|---|
| lückenlos | Die Nummer wird innerhalb derselben Datenbank-Transaktion gezogen, in der der Beleg ausgestellt wird, und zwar unter einer Zeilensperre. Bricht der Vorgang ab, wird der Zug mit zurückgenommen — es entsteht keine Lücke. | Rechnung, Gutschrift |
| fortlaufend | Die Nummer wird in einer eigenen, sofort abgeschlossenen Transaktion gezogen. Ein abgebrochener Vorgang hinterlässt eine Lücke. | z. B. Proforma-Rechnung |
Die Rechnungsnummer ist zusätzlich in der Datenbank als eindeutig festgelegt: dieselbe Nummer kann es kein zweites Mal geben.
Protokollierung
Jede schreibende Aktion erzeugt einen Eintrag im Änderungsprotokoll. Er enthält:
- betroffene Datenart und Datensatz,
- die Aktion (Anlage, Änderung, Löschung),
- den Stand vorher und nachher,
- wer gehandelt hat — Mensch, KI oder Automatisierung — mit der Kennung des Handelnden,
- eine Vorgangs-Kennung, über die zusammengehörige Einträge einer Anfrage auffindbar sind,
- den Zeitpunkt.
Geheime Werte werden im Protokoll geschwärzt, darunter Passwörter, Zugangs-Token, verschlüsselt gespeicherte Werte, IBAN und BIC.
Gelesen wird das Protokoll über /api/v1/audit-logs (Recht platform.audit.read). Die Schnittstelle bietet keinen Weg, einen Eintrag zu ändern oder zu löschen.
Das Protokoll ist nach Monaten unterteilt gespeichert. Die Einstellung audit.retention_months legt fest, ob alte Monate entfernt werden: ab Werk steht sie auf 0, dann wird nichts entfernt. Ein Wert größer als 0 entfernt ganze Monate, die vollständig vor dieser Frist liegen. Daneben liefert das System eine zeilenweise Löschregel für das Protokoll mit aus; sie ist ab Werk abgeschaltet.
Aufbewahrung
Die gesetzliche Aufbewahrungsfrist steht in der Einstellung dsgvo.legal_retention_years, ab Werk 10 Jahre. Das System rechnet sie bis zum Ende des Kalenderjahres: die Frist endet am 31. Dezember des Jahres, das sich aus dem Jahr des Belegs plus der Frist ergibt.
Solange diese Frist für einen Kunden läuft, führt ein Löschverlangen nach der DSGVO nicht zur Löschung. Stattdessen werden der Kunde und seine Kontakte gesperrt: das System blendet sie aus allen Abfragen aus, sie bleiben aber vollständig erhalten. Einsehen kann gesperrte Daten nur, wer das Recht platform.dsgvo.access_sealed hält.
Für andere Datenarten gibt es Aufbewahrungsregeln. Sie sind Daten, keine fest verdrahteten Werte: lesbar über /api/v1/dsgvo/retention-policies mit platform.dsgvo.view, zu pflegen mit platform.dsgvo.manage. Ein täglicher Lauf wendet sie an.
Rechnungen und Gutschriften sind nicht Gegenstand einer Aufbewahrungsregel. Das System löscht sie nie selbsttätig — auch nicht nach Ablauf der Frist. Eine ausgestellte Rechnung lässt sich über die Schnittstelle überhaupt nicht löschen.
Datenzugriff für die Betriebsprüfung
Die GoBD kennen drei Zugriffsarten. So lassen sie sich mit Octibiz abbilden:
- Unmittelbarer Zugriff (Z1): Der Prüfer erhält ein eigenes Benutzerkonto mit einer Rolle, die
nur Leserechte trägt, etwa invoicing.invoice.view und platform.audit.read. Rollen sind frei zusammenstellbar (Recht platform.role.manage). Eine fertige Prüfer-Rolle liefert das System nicht mit.
- Mittelbarer Zugriff (Z2): Auswertungen nach Vorgabe des Prüfers erstellen Mitarbeiter Ihres
Betriebs mit den vorhandenen Listen, Filtern und Berichten.
- Datenträgerüberlassung (Z3): über die Exporte im nächsten Abschnitt. Zusätzlich lassen sich
Listen, die über die Standard-Seitenaufteilung laufen — darunter die Rechnungsliste /api/v1/invoices —, als CSV-Datei abrufen, mit höchstens 10.000 Zeilen je Abruf. Für Kassendaten gibt es zusätzlich den DSFinV-K-Export (siehe unten).
Export
- DATEV über
/api/v1/accounting/export/file(Rechtaccounting.export.run) in drei Formaten:
Buchungsstapel im EXTF-Format, Stammdaten der Personenkonten (Debitoren und Kreditoren) sowie ein ZIP-Paket mit Belegbildern für DATEV Unternehmen online.
- Festschreibungs-Kennzeichen: Die Einstellung
accounting.datev.lock_bookingssteht ab Werk auf - Der Buchungsstapel trägt damit das Kennzeichen „festgeschrieben", wie es die GoBD-Praxis
vorsieht. Der Wert 0 ist möglich; stimmen Sie ihn vorher mit Ihrem Steuerberater ab.
- E-Rechnung als XRechnung oder ZUGFeRD über
/api/v1/invoices/{ulid}/e-invoice. Erzeugt wird
sie erst nach dem Ausstellen. Die erzeugte Datei wird abgelegt und bei weiteren Abrufen nicht neu geschrieben.
- Beleg-PDF über
/api/v1/invoices/{ulid}/pdf. - Eingehende E-Rechnungen werden über
/api/v1/accounting/incoming-invoices/import-e-invoice
eingelesen.
- Kassendaten (DSFinV-K) über
/api/v1/pos/exports(Rechtpos.export.manage): ein ZIP-Paket
mit Beschreibungsdatei, DTD und den CSV-Dateien nach DSFinV-K 2.3, je Kassenabschluss. Noch offene Schichten werden übersprungen und benannt. Die erzeugte Datei wird eingefroren und nicht neu berechnet.
Der Export ist kein Buchungsakt. Gebucht wird in Ihrer Buchhaltungssoftware.
Was das System nicht leistet
- Kein archiviertes Rechnungs-PDF. Das PDF einer Rechnung wird bei jedem Abruf aus den
gespeicherten, festgeschriebenen Daten neu erzeugt. Die Inhalte bleiben gleich; ändern Sie aber die Belegvorlage, sieht ein später erzeugtes PDF anders aus als das versandte.
- Keine fertige Prüfer-Rolle — sie wird bei Bedarf aus Leserechten zusammengestellt.
- **Kein Export nach dem Beschreibungsstandard der Finanzverwaltung für Rechnungen und
Buchungsdaten** (GDPdU-Format mit Beschreibungsdatei). Ein solcher Export besteht nur für Kassendaten (DSFinV-K, siehe oben).
- Kein Schutz des Protokolls auf Datenbankebene. Die Schnittstelle kann Protokolleinträge weder
ändern noch löschen; wer direkten Zugriff auf die Datenbank hat, kann es.
- Keine revisionssichere Ablage auf unveränderlichen Speichermedien. Dateien liegen in der
eingerichteten Dateiablage.
Was Ihr Betrieb selbst regeln muss
- Organisationsanweisung: wer Rechnungen ausstellt, storniert, exportiert und wer welche Rechte
bekommt.
- Betriebsdokumentation: Hosting, Administration, wer direkten Datenbankzugriff hat, und die
Sicherung (siehe Sicherung & Wiederherstellung und Härtung & Sicherheit).
- Fristen prüfen: die Werte von
dsgvo.legal_retention_yearsund der Aufbewahrungsregeln an Ihre
Rechtslage anpassen. audit.retention_months sollte nicht kürzer sein als die Aufbewahrung Ihrer Belege.
- Versandte Ausfertigungen: Kommt es auf das Belegbild an, bewahren Sie das versandte PDF
zusätzlich auf.
- Aussonderung nach Fristende: Das System löscht Rechnungen nie selbsttätig; das Aussondern ist
Ihre Entscheidung.
- Prüferzugang: Rolle mit Leserechten anlegen, Konto befristen und nach der Prüfung sperren.
- Mit dem Steuerberater abstimmen: Festschreibungs-Kennzeichen, Kontenrahmen und Vorgabekonten.
- Vorsysteme dokumentieren: Kasse, Zeiterfassung, Webshop und deren Schnittstellen.
- Diese Dokumentation pflegen: Sie ist selbst aufbewahrungspflichtig; halten Sie Änderungen mit
Datum fest.