GoBD-compliant archiving
Overview
The German GoBD rules require tax-relevant documents to stay immutable, traceable and available throughout the statutory retention period. Kyvento enforces this technically β you do not have to configure anything. This article explains the safeguards so you can describe them to auditors and to your tax firm.
Finalised invoices are frozen
With finalisation, the invoice number, amounts, invoice date and e-invoice data become write-protected β the lock applies in the application and at database level. Reverting to draft status is impossible.
You therefore never correct content on the original. For finalised documents Kyvento knows only the cancellation: a document of its own with negative amounts, its own number and a reference to the original. Only drafts can be deleted β they carry no invoice number yet, so no gaps arise.
The practical consequence: finalise only once the document has been checked. After that, every route runs through a second document (see Credit notes and cancellations).
Integrity secured by checksums
For every finalised invoice, Kyvento keeps SHA-256 checksums β over the invoice PDF, over the financial data as a frozen snapshot, and over a generated e-invoice file. Later manipulation of those files would therefore be demonstrable. In addition, Kyvento checks the number sequences for gaplessness (see Invoice numbers: gapless and sequential).
Retention
Invoice and dunning documents are subject to the statutory retention periods. Kyvento stores an end-of-retention date with every document and protects it from any deletion until then β including your own. Clarify with your tax firm which period applies to which type of document.
GoBD and GDPR: no contradiction
When a customer demands deletion of their data, that seems to collide with the retention obligation. Kyvento separates the two: a GDPR anonymisation renders the personal customer data unrecognisable, while finalised invoices and their PDFs remain fully intact within the retention period. The same applies when deleting whole data sets.
One exception you should know: an e-invoice that has not been generated yet can no longer be produced once a customer has been anonymised. If you need it, generate it beforehand β see E-invoicing: XRechnung and ZUGFeRD.
Next steps
- Number assignment in detail β see Invoice numbers: gapless and sequential
- Archive ended contracts properly β see Archiving cancelled subscriptions
- Meet your own documentation obligation β see Creating a procedural documentation