Wallet-Adresse statt Kontoauszug: was bei On-Chain-Zahlungen als Beleg zählt
Bei einer Banküberweisung erledigt die Bank einen Teil der Buchhaltung mit. Der Kontoauszug nennt Betrag, Datum, Gegenpartei und Verwendungszweck, er kommt von einem Dritten, und niemand diskutiert, ob er ein Beleg ist.
Eine On-Chain-Zahlung liefert etwas anderes: einen Transaktionshash, zwei Adressen, einen Betrag in Token-Einheiten, einen Zeitstempel. Das ist mehr Rohdaten als ein Kontoauszug und trotzdem weniger Beleg. Der Unterschied liegt nicht an der Blockchain, sondern daran, was ein Buchungsbeleg nach deutschem Recht leisten muss.
Was das Gesetz verlangt
Der Ausgangspunkt steht nicht in den GoBD, sondern in der Abgabenordnung. § 146 Absatz 1 AO verlangt, dass Buchungen und Aufzeichnungen "einzeln, vollständig, richtig, zeitgerecht und geordnet" vorzunehmen sind. Fünf Anforderungen, von denen eine Blockchain-Transaktion allein genau eine erfüllt: sie ist einzeln.
Dazu kommt § 146 Absatz 4 AO: "Eine Buchung oder eine Aufzeichnung darf nicht in einer Weise verändert werden, dass der ursprüngliche Inhalt nicht mehr feststellbar ist." Auch nachträgliche Änderungen, bei denen unklar bleibt, ob sie ursprünglich oder später erfolgt sind, sind unzulässig.
Die GoBD konkretisieren das für elektronische Systeme (BMF-Schreiben vom 28. November 2019, BStBl I S. 1269, geändert durch BMF-Schreiben vom 11. März 2024, BStBl I S. 374, und vom 14. Juli 2025). Wer die GoBD zitiert, sollte diese Fassungskette kennen: es gibt nicht mehr "die GoBD von 2019", sondern eine zweimal geänderte Fassung.
Was die Transaktion liefert, und was fehlt
Eine typische Zahlung sieht on-chain so aus:
Hash: 0x7f3a9c41e2b8c412...
Von: 0x91b2ff4c1a2d88e1...
Betrag: 12.500,00 USDC
Zeitpunkt: 14.07.2026, 09:41:07 UTC
Vier Angaben, alle unbestreitbar und öffentlich nachprüfbar. Was in ihnen nicht steht:
- Der Euro-Wert. Die Kette kennt keine Euro. Ohne dokumentierte Kursquelle gibt es keinen buchbaren Betrag.
- Wer die Gegenpartei ist.
0x91b2…ist keine Identität. Die Zuordnung zu einem Geschäftspartner ist eine Behauptung des Unternehmens, kein Datum der Blockchain. - Wofür gezahlt wurde. Kein Verwendungszweck, keine Rechnungsnummer, keine Leistungsbeziehung. Genau das entscheidet aber über Ertrags- und Umsatzsteuerbehandlung.
- Wer das gebucht hat und wann. Für die Nachvollziehbarkeit relevant, auf der Kette nicht vorhanden.
Diese vier Dinge stellt sonst die Bank oder der Rechnungsprozess bereit. Bei einer On-Chain-Zahlung muss sie das Unternehmen selbst herstellen, und zwar zeitnah, nicht im Nachhinein aus der Erinnerung.
Der Denkfehler mit der Unveränderbarkeit
Ein häufiges Argument lautet: Die Blockchain ist unveränderlich, damit ist die Unveränderbarkeitsanforderung erfüllt. Das trifft die Sache nicht.
Unveränderlich ist die Transaktion. Veränderlich ist alles, was sie erst zu einer Buchung macht: der angesetzte Kurs, die Zuordnung zum Geschäftspartner, das Konto, die Umsatzsteuerbehandlung. Genau diese Zuordnungen sind der Teil, der später bestritten werden könnte, und genau sie stehen nicht auf der Kette.
§ 146 Absatz 4 AO richtet sich an die Aufzeichnung, nicht an die Zahlungsinfrastruktur. Eine Excel-Tabelle mit einer Spalte "Kurs", die jemand im März überschreibt, ist auch dann nicht ordnungsgemäß, wenn die zugrunde liegende Transaktion in einem unveränderlichen Block steht.
Warum ein Explorer-Link kein Beleg ist
Der praktischste Reflex ist, in der Buchung einen Link zu Etherscan oder einem vergleichbaren Explorer zu hinterlegen. Als Nachweis der Transaktion ist das nützlich. Als Beleg im Sinne der Aufbewahrungspflicht reicht es nicht, aus zwei Gründen.
Erstens ist der Link kein Beleg, sondern ein Verweis auf einen Dritten. § 147 Absatz 1 Nummer 4 AO verpflichtet das Unternehmen, Buchungsbelege aufzubewahren. Wer nur verlinkt, bewahrt nichts auf, sondern verlässt sich darauf, dass ein fremder Dienst in acht Jahren noch existiert, dieselbe URL-Struktur nutzt und dieselben Daten anzeigt.
Zweitens enthält der Explorer genau die vier Angaben nicht, die oben fehlen. Er zeigt die Transaktion, nicht die Buchhaltung.
Praktisch bedeutet das: Die relevanten Daten gehören in das eigene System, mit Zeitstempel gesichert. Der Explorer-Link bleibt eine sinnvolle Ergänzung für die Nachprüfbarkeit, ersetzt aber die eigene Aufzeichnung nicht.
Acht Jahre, nicht zehn
Ein Detail, das viele Beiträge noch falsch haben: Buchungsbelege sind nach § 147 Absatz 3 AO acht Jahre aufzubewahren, nicht zehn. Die Frist wurde durch das Vierte Bürokratieentlastungsgesetz vom 23. Oktober 2024 (BGBl 2024 I Nr. 323) verkürzt und gilt ab dem 1. Januar 2025, und zwar auch für Bestandsbelege, deren Frist am 31. Dezember 2024 noch nicht abgelaufen war.
Die Frist beginnt mit dem Ende des Kalenderjahres, in dem der Beleg entstanden ist. Für eine Zahlung im Juli 2026 läuft sie also ab dem 31. Dezember 2026 und endet Ende 2034.
Wer eine Aufbewahrung mit zehn Jahren konfiguriert hat, macht nichts falsch, hält aber länger als nötig vor. Wer ein Löschkonzept nach DSGVO betreibt, sollte die verkürzte Frist dagegen aktiv nachziehen, weil dort das Gegenteil gilt: zu langes Aufbewahren ist begründungsbedürftig.
Was am Ende an der Buchung stehen sollte
Zusammengefasst ist ein vollständiger Beleg für eine On-Chain-Zahlung die Transaktion plus vier selbst erzeugte Angaben:
| Bestandteil | Herkunft |
|---|---|
| Hash, Adressen, Betrag, Zeitpunkt | Blockchain, unverändert übernommen |
| Euro-Wert mit Kursquelle und Zeitpunkt | eigene, dokumentierte Kursregel |
| Geschäftspartner | eigene Zuordnung, nachvollziehbar begründet |
| Leistungsbezug, Rechnung, Steuerbehandlung | eigener Rechnungs- und Buchungsprozess |
| Freigabe: wer, wann | eigenes System, protokolliert |
Das ist kein hoher Aufwand pro Zahlung, aber es ist Aufwand, der zum Zeitpunkt der Zahlung anfällt. Rückwirkend lässt sich vor allem der Kurs zum Zuflusszeitpunkt kaum sauber rekonstruieren, und genau daran scheitern Prüfungen in der Praxis.
Häufige Fragen
Genügt der CSV-Export der Börse als Beleg? Er ist eine gute Grundlage, weil er Zeitpunkt, Betrag und oft schon einen Kurs enthält. Zum Beleg wird er erst mit der eigenen Zuordnung: Geschäftspartner, Leistungsbezug, Konto und Freigabe. Zudem gilt für ihn dieselbe Aufbewahrungspflicht wie für jeden anderen Buchungsbeleg.
Muss die Wallet-Adresse des Kunden gespeichert werden? Für die Nachvollziehbarkeit der Zahlung ist sie der einzige verfügbare Identifikator und gehört deshalb an die Buchung. Sie ist zugleich ein personenbezogenes Datum, wenn sie einer identifizierbaren Person zugeordnet werden kann, und gehört damit in das Löschkonzept.
Was gilt bei einer Zahlung von einer unbekannten Adresse? Der Zufluss ist trotzdem zu erfassen. Ist die Gegenpartei nicht zuzuordnen, ist genau das zu dokumentieren, statt eine plausible Zuordnung zu erfinden. Ein offen als ungeklärt gekennzeichneter Vorgang ist in einer Prüfung deutlich weniger problematisch als eine nachträglich konstruierte Zuordnung.
Reicht es, die Belege am Jahresende zu erstellen? § 146 Absatz 1 AO verlangt "zeitgerecht". Der Kurs zum Zuflusszeitpunkt und die Zuordnung sollten zeitnah festgehalten werden. Die eigentliche Verbuchung kann anschließend im normalen Rhythmus der laufenden Buchhaltung erfolgen.