DATEV-Buchungsstapel aus dem ERP: Pflichtfelder und Fehler
Kurz gesagt
In Deutschland verlässt der Buchungsstapel das ERP als semikolongetrennte CSV-Datei mit der Kopfzeile "EXTF";700;21;"Buchungsstapel";13 und einer Satzstruktur, in der jeder Datensatz Umsatz, Soll-/Haben-Kennzeichen, Konto, Gegenkonto und Belegdatum trägt; Kennzeichen und Formatname stehen dabei in Anführungszeichen, weil die Formatbeschreibung für diese beiden Felder Text erwartet. Der Import scheitert an der Kopfzeile, an einer abweichenden Sachkontenlänge, am Zeichensatz, am Dezimaltrennzeichen oder an unzulässigen Zeichen im Belegfeld 1.
Das Wichtigste
- Kopfzeile: "EXTF";700;21;"Buchungsstapel";13 – Kennzeichen, Versionsnummer, Formatkategorie, Formatname und Formatversion; Kennzeichen und Formatname sind Textfelder und stehen in Anführungszeichen.
- Jeder Satz trägt Umsatz (positiv, Dezimalkomma), Soll-/Haben-Kennzeichen (nur S oder H, S ist Voreinstellung), Konto, Gegenkonto und Belegdatum (TTMM); über die Seite entscheidet allein das Kennzeichen, ein festgeschriebener Stapel wird durch Stornierung oder Neubuchung berichtigt (GoBD Rz. 93).
- Die Sachkontenlänge im Kopf hat vier bis acht Stellen und muss zur Mandantenkonfiguration passen.
- Zeichensatz ist standardmäßig ISO-8859-1 beziehungsweise CodePage 1252; Unicode nur mit Byte Order Mark.
- Das Jahr des Belegdatums kommt aus dem Feld WJ-Beginn der Kopfzeile, nicht aus dem Satz.
- Vollständig, richtig, zeitgerecht und geordnet: § 146 Abs. 1 AO, § 239 Abs. 2 HGB.
Ein Buchungsstapel verlässt das ERP als CSV-Datei und wird in der Buchhaltung des Steuerbüros importiert. Dieser Beitrag beschreibt die Konstellation, in der der Betrieb die Buchführung im ERP führt und die Buchungen je Periode als Stapel an die Steuerberatung übergibt; der Stapel ist die Datei, mit der die Buchungen dort ankommen. Weil das Zielsystem die Datei so liest, wie sie geschrieben ist, entscheiden Feldzuordnung und Formatregeln über den Import. Wer die Felder vorher zuordnet und die Datei testet, findet die Fehler im eigenen System statt bei der Empfängerin.
Was Sie vorab brauchen
- Die Kontenliste Ihrer Steuerberatung mit dem verwendeten Kontenrahmen (SKR 03 oder SKR 04) und der Sachkontenlänge
- Beraternummer und Mandantennummer des Mandats
- Beginn des Wirtschaftsjahrs und die Buchungsperiode (von und bis)
- Eine Exportfunktion des ERP für Buchungen; je Buchungsperiode eine Datei
- Die Feldzuordnung ERP zum Buchungsstapel (Tabelle unten)
- Das Prüfprogramm für das DATEV-Format für den Testimport
Welche Ordnung passt, beschreibt der Beitrag SKR 03 oder SKR 04 wählen.
Diese Felder braucht der Buchungsstapel
Das DATEV-Format ist eine semikolongetrennte CSV-Datei mit dem Namenspräfix EXTF_. Sie besteht aus drei Teilen: Zeile 1 ist die Kopfzeile mit den Metadaten, Zeile 2 trägt die Feldnamen, ab Zeile 3 folgen die Buchungssätze. Textfelder stehen in Anführungszeichen, ein Anführungszeichen im Text wird verdoppelt, Zahlen tragen ein Dezimalkomma, jede Zeile endet mit CR/LF.
Die Kopfzeile nennt Kennzeichen, Versionsnummer, Formatkategorie, Formatnamen und Formatversion in fester Folge: "EXTF";700;21;"Buchungsstapel";13. Kennzeichen und Formatname sind Textfelder und stehen deshalb in Anführungszeichen; die Formatbeschreibung lässt für beide keine andere Schreibweise zu. Danach folgen Beraternummer, Mandantennummer, WJ-Beginn, Sachkontenlänge (vier bis acht Stellen, passend zur Mandantenkonfiguration), Datum von, Datum bis, Bezeichnung und der Sachkontenrahmen.
Die Muster der Formatbeschreibung lassen für Umsatz, Soll-/Haben-Kennzeichen, Konto, Gegenkonto und Belegdatum keinen leeren Wert zu. Die folgende Zuordnung ist redaktionell erstellt und je Buchungsart zu prüfen.
| Feld im ERP | Feld im Buchungsstapel | Regel im DATEV-Format |
|---|---|---|
| Buchungsbetrag | Umsatz | positive Zahl mit Dezimalkomma, nicht 0,00 |
| Betragsseite Soll oder Haben | Soll-/Haben-Kennzeichen | nur S oder H |
| Sachkonto | Konto | 1 bis 9 Stellen, nicht 0 |
| Gegenkonto | Gegenkonto (ohne BU-Schlüssel) | 1 bis 9 Stellen, nicht 0 |
| Steuerschlüssel | BU-Schlüssel | vier Ziffern, in Anführungszeichen |
| Buchungsdatum Tag und Monat | Belegdatum | vier Ziffern TTMM, Jahr aus WJ-Beginn |
| Belegnummer der Buchung | Belegfeld 1 | bis 36 Zeichen, nur Buchstaben, Ziffern, Unterstrich und $ & % * + - / |
| Buchungstext | Buchungstext | bis 60 Zeichen |
| Währung | WKZ Umsatz | ISO-Code, sonst Währung aus der Kopfzeile |
| Kostenstelle | KOST1 - Kostenstelle | bis 36 Zeichen |
| Kostenträger | KOST2 - Kostenstelle | bis 36 Zeichen |
| USt-IdNr. des Geschäftspartners | EU-Land u. UStID (Bestimmung) | zweistelliger Ländercode plus USt-IdNr. |
Schritt für Schritt: den Buchungsstapel erzeugen
Schritt 1: Buchungsperiode festlegen
Legen Sie fest, welche Buchungen der Stapel enthält. Die Formatbeschreibung empfiehlt, für jede Buchungsperiode eine eigene Datei anzulegen, damit die Stapel einzeln verarbeitet werden können; das ist eine Empfehlung des Formats und keine gesetzliche Pflicht. Trennen Sie den Stapel am Jahreswechsel, weil sich das Jahr des Belegdatums aus dem Feld WJ-Beginn der Kopfzeile ergibt und nicht aus dem einzelnen Satz.
Schritt 2: Kopfzeile setzen
Tragen Sie Kennzeichen, Version, Formatkategorie, Formatnamen und Formatversion als "EXTF";700;21;"Buchungsstapel";13 ein; Kennzeichen und Formatname stehen in Anführungszeichen, weil die Formatbeschreibung sie als Textfelder führt. Ergänzen Sie Beraternummer, Mandantennummer, WJ-Beginn, die Sachkontenlänge des Mandats, Datum von und Datum bis sowie eine Bezeichnung. Kennzeichnen Sie den Stapel als Finanzbuchhaltung (Buchungstyp 1). Klären Sie vorher mit Ihrer Steuerberatung, ob der Stapel festgeschrieben werden soll; die Kopfzeile setzt dafür die Festschreibung auf 1.
Schritt 3: Konten und Steuerschlüssel zuordnen
Übernehmen Sie Konto und Gegenkonto aus dem Kontenrahmen der Steuerberatung. Beide Felder nehmen 1 bis 9 Stellen auf und dürfen nicht 0 sein; die Personenkontolänge darf nur eine Stelle länger sein als die Sachkontenlänge. Ordnen Sie jedem Steuerfall im ERP einen BU-Schlüssel zu, damit die Umsatzsteuer richtig abgelegt wird. Die Steuerschlüssel im ERP sind je Steuerfall an einem Testbeleg zu kontrollieren.
Schritt 4: Buchungssätze füllen
Tragen Sie je Satz den Umsatz als positive Zahl mit Dezimalkomma ein, dazu das Soll-/Haben-Kennzeichen, Konto, Gegenkonto, das Belegdatum als TTMM und einen Buchungstext. Als Belegfeld 1 verwenden Sie die Belegnummer; zulässig sind Buchstaben, Ziffern, der Unterstrich und die Zeichen $ & % * + - /, nicht jedoch Leerzeichen, Umlaute, Punkt, Komma, Semikolon und Doppelpunkt. Die Buchungen müssen vollständig, richtig, zeitgerecht und geordnet sein (§ 146 Abs. 1 AO, § 239 Abs. 2 HGB); lassen Sie keine Buchung aus dem Zeitraum weg, nur weil sie unbequem ist.
Schritt 5: Datei technisch korrekt schreiben
Trennen Sie die Felder durch ein Semikolon und die Zeilen durch CR/LF. Schreiben Sie Text in Anführungszeichen und verdoppeln Sie Anführungszeichen im Text. Verwenden Sie ein Dezimalkomma und keinen Tausenderseparator. Speichern Sie die Datei im Standardzeichensatz ISO-8859-1 beziehungsweise CodePage 1252; Unicode (UTF-8, UTF-16, UTF-32) liest DATEV Rechnungswesen nur mit Byte Order Mark, und nur beim manuellen Import oder über die Online-Schnittstelle.
Schritt 6: Testimport ausführen
Importieren Sie die Datei einmal vollständig mit dem Prüfprogramm für das DATEV-Format, bevor Sie sie übergeben. Prüfen Sie dabei die Konten, die Steuerschlüssel, die Belegnummern und die Beträge. Ein Testlauf zeigt Formatfehler, solange die Datei noch im eigenen Haus liegt.
So prüfen Sie das Ergebnis
Vergleichen Sie die Anzahl der Sätze mit der Anzahl der Buchungen und die Summe der Umsätze je Konto mit dem Journal. Kontrollieren Sie, dass Umlaute und ß lesbar sind, dass kein Tausenderseparator in den Beträgen steht und dass Belegfeld 1 je Buchung eindeutig ist. Prüfen Sie, dass kein Konto in der Datei steht, das im Kontenrahmen des Mandats fehlt. Die Aufbewahrungsfristen laufen weiter: Bücher und Aufzeichnungen sind zehn Jahre, Buchungsbelege acht Jahre aufzubewahren (§ 147 Abs. 3 Satz 1 AO in der ab dem 1. Januar 2025 geltenden Fassung, Art. 97 § 19a Abs. 2 EGAO), und die Buchungen dürfen nicht so verändert werden, dass der ursprüngliche Inhalt nicht mehr feststellbar ist (§ 146 Abs. 4 AO, § 239 Abs. 3 HGB; GoBD, BMF-Schreiben vom 28. November 2019, Fassung vom 14. Juli 2025, Rz. 58).
Wenn etwas nicht klappt
Die Liste ordnet dem Symptom eine Ursache im Format oder in den ERP-Daten und eine Abhilfe zu.
| Symptom | Ursache | Abhilfe |
|---|---|---|
| Import bricht sofort ab | Kennzeichen oder Formatname stehen nicht in Anführungszeichen, oder Formatkategorie und Formatversion der Kopfzeile stimmen nicht | Kopfzeile auf "EXTF";700;21;"Buchungsstapel";13 prüfen |
| Umlaute und ß erscheinen als Sonderzeichen | Datei steht nicht im Standardzeichensatz oder als Unicode ohne Byte Order Mark | Zeichensatz beim Export auf ISO-8859-1/CP1252 einstellen |
| Beträge werden nicht gelesen | Punkt als Dezimaltrennzeichen oder Tausenderpunkt im Betrag | Dezimalkomma schreiben, Tausenderseparator weglassen |
| Import meldet ein unbekanntes Konto | Konto fehlt im Kontenrahmen des Mandats oder die Sachkontenlänge im Kopf passt nicht zur Mandantenkonfiguration | Konten anlegen, Sachkontenlänge abgleichen |
| Belegnummer wird abgewiesen | Belegfeld 1 enthält Leerzeichen, Umlaute, Punkt, Komma, Semikolon oder Doppelpunkt | Zeichen ersetzen; zulässig sind Buchstaben, Ziffern, Unterstrich und $ & % * + - / |
| Buchungen landen im falschen Jahr | Belegdatum hat nur TTMM; das Jahr kommt aus WJ-Beginn | Stapel am Jahreswechsel trennen, WJ-Beginn prüfen |
| Betrag steht auf der falschen Seite | Soll-/Haben-Kennzeichen ist vertauscht (H statt S) | Kennzeichen je Satz prüfen: S bucht im Soll, H im Haben |
| Import beanstandet einen Satz | Soll-/Haben-Kennzeichen ist leer | Kennzeichen je Satz auf S oder H setzen; die Formatvorgabe lässt keinen leeren Wert zu |
| Umsatz wird nicht gelesen | Der Betrag ist negativ oder 0,00 | Umsatz als positive Zahl schreiben; die Seite steuert das Soll-/Haben-Kennzeichen |
| Werte stehen in falschen Spalten | Zeile 2 mit den Feldnamen fehlt oder ihre Reihenfolge weicht ab | Kopfdatensatz mit Feldnamen in der Reihenfolge der Formatbeschreibung ergänzen |
| Umsatzsteuer ist falsch zugeordnet | BU-Schlüssel fehlt oder ist auf einen falschen Steuerfall gemappt | Steuerschlüssel je Steuerfall prüfen |
| Eine Buchung im importierten Stapel lässt sich nicht mehr ändern | Das Feld Festschreibung ist gesetzt (Feld 114 = 1), der Stapel wird beim Import festgeschrieben | Festschreibung vor dem Import klären; Änderungen als Stornierung oder Neubuchung buchen (§ 146 Abs. 4 AO, § 239 Abs. 3 HGB) |
| Buchungen erscheinen doppelt | Derselbe Zeitraum wurde zweimal importiert | je Periode eine Datei anlegen und die Importe protokollieren |
Wann Sie Hilfe holen sollten
Holen Sie Ihre Steuerberatung dazu, wenn Kontenrahmen oder Sachkontenlänge von den Erwartungen des ERP abweichen, wenn das Mandat Sonderfälle wie innergemeinschaftliche Lieferungen, Reverse Charge oder Anzahlungen führt oder wenn der Stapel festgeschrieben werden soll. Fragen Sie die Anbieterin Ihres ERP, wenn die Exportfunktion einzelne Felder nicht liefert: Leistungsdatum, EU-Land und USt-IdNr., KOST1 und KOST2 setzen Zuordnungen im ERP voraus. Für die Übergabe an die Steuerberatung ordnet die Monatsübergabe-Checkliste die Posten des Pakets. Werden Buchhaltungsdaten in ein anderes System übernommen oder ausgelagert, bleiben sie bis zum Ablauf der Aufbewahrungsfrist vorzuhalten (Unveränderbarkeit im ERP, Datenzugriff Z3).