DATEV Export CSV Format: So bauen Sie einen Buchungsstapel, den der Import annimmt
Ein DATEV-Buchungsstapel ist eine CSV-Datei mit Semikolon als Trenner und festem Aufbau aus Kopfzeile, Spaltennamen und einem Datensatz je Buchung. Die Spalten werden nach ihrer Position gelesen, nicht nach ihrem Namen. Beträge stehen positiv mit Dezimalkomma, das Belegdatum als TTMM ohne Jahr, die Richtung im Soll/Haben-Kennzeichen. Die meisten Abbrüche entstehen in der Kopfzeile, bei der Kodierung oder durch ein Tabellenprogramm, das die Datei beim Speichern verändert.
Stand 09.11.2026. Grundlage: quelloffene Umsetzungen der DATEV-Formatbeschreibung (Version 700) und dokumentierte Anleitungen; verbindlich ist die aktuelle Formatbeschreibung im DATEV Developer Portal.
- Die kurze Antwort
- Woran Sie ein Formatproblem erkennen
- So gehen Sie vor
- Die Kopfzeile Feld für Feld
- Die wichtigsten Spalten: Werte und Längen
- Trenner, Anführungszeichen, Kodierung, Zeilenende
- Kommentiertes Minimalbeispiel
- Fehlerliste: Symptom, Ursache, Korrektur
- Wann es komplizierter wird
Die kurze Antwort
Eine Importdatei für DATEV Rechnungswesen besteht aus drei Teilen:
- Zeile 1: die Kopfzeile. Sie beginnt mit
"EXTF";700;21;"Buchungsstapel";13und nennt Berater, Mandant, Wirtschaftsjahr, Sachkontenlänge und Zeitraum. - Zeile 2: die Spaltennamen.
- Ab Zeile 3: eine Zeile je Buchung, bei Formatversion 13 mit 125 Spalten.
Bietet Ihr Shop, Ihre Kasse oder Ihre Buchhaltung bereits einen DATEV-Export, nutzen Sie zuerst diesen. Selbst bauen lohnt sich, wenn es keinen Export gibt oder dessen Datei nicht passt. Wie sich Felder je Shop-System zuordnen lassen, steht im Beitrag zum Export aus WooCommerce und Shopify; Bankdaten behandelt der Beitrag zum Import von Bankumsätzen. Hier geht es um das Dateiformat selbst, unabhängig von der Quelle.
Woran Sie ein Formatproblem erkennen
Drei Muster lassen sich unterscheiden, und sie führen zu unterschiedlichen Stellen in der Datei:
- Die Datei wird gar nicht angenommen. Das spricht für die Kopfzeile: fehlendes EXTF, falsche Sachkontenlänge oder ein Tabellenprogramm, das die erste Zeile verändert hat.
- Einzelne Zeilen fallen heraus. Dann liegt es meist an einzelnen Werten wie Datum, Soll/Haben-Kennzeichen oder der Spaltenzahl.
- Der Import läuft durch, aber die Zahlen stimmen nicht. Vertauschte Soll/Haben-Kennzeichen werden nicht abgelehnt, sie buchen auf die falsche Seite. Auch ein falscher oder fehlender BU-Schlüssel kann erst in der Kanzlei auffallen.
Die Meldung nennt häufig lediglich die Zeilennummer, nicht die Ursache. Beginnen Sie deshalb bei der genannten Zeile und vergleichen Sie sie Spalte für Spalte mit der Tabelle weiter unten.
So gehen Sie vor
- Stammdaten bei der Kanzlei erfragen: Berater- und Mandantennummer, Beginn des Wirtschaftsjahres, Sachkontenlänge, Kontenrahmen (SKR 03 oder 04) und die Konten samt BU-Schlüsseln.
- Kopfzeile erzeugen und je Stapel einen Zeitraum innerhalb eines Wirtschaftsjahres festlegen.
- Buchungszeilen schreiben: Spalten in der festen Reihenfolge, leere Spalten als leere Felder zwischen den Semikola.
- Datei in der passenden Kodierung und mit CRLF als Zeilenende speichern. Dateiname beginnend mit
EXTF_, Endung.csv, zum BeispielEXTF_Buchungsstapel_2026-10.csv. - Probeimport mit wenigen Buchungen im Zielmandanten. Nach der Anleitung von Meridian führt der Weg in DATEV Rechnungswesen über Bestand, Importieren, Stapelverarbeitung; DATEV erstellt dabei ein Importprotokoll. Menüs können sich je nach Programmstand unterscheiden.
Excel kann führende Nullen entfernen, Beträge umwandeln und Anführungszeichen verändern. Prüfen Sie die Datei in einem Texteditor. Müssen Sie sie doch in Excel ansehen, schließen Sie sie ohne zu speichern und exportieren Sie bei Änderungen neu.
Die Kopfzeile Feld für Feld
Die Kopfzeile hat 31 Felder. Die folgende Tabelle nennt die, die Sie bewusst füllen müssen. Die übrigen Felder bleiben in der Regel leer, müssen aber als Position erhalten bleiben.
| Feld | Name | Wert | Hinweis |
|---|---|---|---|
| 1 | Kennzeichen | "EXTF" | EXTF steht für Dateien aus Fremdprogrammen, DTVF für Dateien aus DATEV-Programmen. |
| 2 | Versionsnummer | 700 | Hauptversion des Formats. |
| 3 | Datenkategorie | 21 | Kategorie Buchungsstapel. |
| 4 | Formatname | "Buchungsstapel" | |
| 5 | Formatversion | 13 | In älteren Anleitungen steht auch 12. |
| 6 | Erzeugt am | JJJJMMTThhmmssfff | Zeitstempel mit Millisekunden. |
| 7, 10 | Importiert, Importiert von | leer | Werden beim Import gesetzt. |
| 11 | Berater | Beraternummer | Bis 7 Stellen, ab 1001. Muss zum Ziel passen. |
| 12 | Mandant | Mandantennummer | Bis 5 Stellen. Muss zum Ziel passen. |
| 13 | WJ-Beginn | JJJJMMTT | Beginn des Wirtschaftsjahres. |
| 14 | Sachkontenlänge | 4 bis 8 | Muss zum Mandanten passen. |
| 15, 16 | Datum vom, Datum bis | JJJJMMTT | Zeitraum des Stapels. |
| 17 | Bezeichnung | bis 30 Zeichen | Name des Stapels. |
| 19 | Buchungstyp | 1 | 1 = Finanzbuchhaltung, 2 = Jahresabschluss. |
| 21 | Festschreibung | 0 oder 1 | Mit der Kanzlei abstimmen, siehe Fehlerliste. |
| 22 | WKZ | "EUR" | Währung des Stapels. |
| 27 | SKR | "03" oder "04" | Kontenrahmen. |
Die wichtigsten Spalten: Werte und Längen
Die Tabelle bündelt die Felder, die für eine einfache Buchung zählen. Längen und Typen folgen der Felddefinition quelloffener Umsetzungen der DATEV-Beschreibung. Die Spaltennummer ist zugleich die Position in der Zeile.
| Spalte | Feld | Erlaubte Werte | Länge | Pflicht |
|---|---|---|---|---|
| 1 | Umsatz (ohne Soll/Haben-Kz) | Positive Zahl, Dezimalkomma, ohne Tausenderpunkt, z. B. 119,00 | 10 Stellen vor, 2 nach dem Komma, maximal 13 Zeichen | ja |
| 2 | Soll/Haben-Kennzeichen | "S" oder "H", bezogen auf das Feld Konto in Spalte 7 | 1 | ja |
| 3 | WKZ Umsatz | ISO-Code, z. B. "EUR". Leer: Wert aus der Kopfzeile | 3 | nein |
| 7 | Konto | Sach- oder Personenkonto, Ziffern | bis 9 Stellen, abhängig von der Sachkontenlänge | ja |
| 8 | Gegenkonto (ohne BU-Schlüssel) | Sach- oder Personenkonto, Ziffern | bis 9 Stellen, abhängig von der Sachkontenlänge | ja |
| 9 | BU-Schlüssel | Steuer- oder Berichtigungsschlüssel als Text. Bei gewünschter regulärer Kontenautomatik bleibt der zusätzliche Steuerschlüssel in der Regel leer; zulässige Berichtigungsschlüssel und Sonderfälle nach Vorgabe der Kanzlei | bis 4 | nach Fall |
| 10 | Belegdatum | TTMM, z. B. 0105 für den 1. Mai | 4 | ja |
| 11 | Belegfeld 1 | Rechnungs- oder Belegnummer. Buchstaben a–z und A–Z, Ziffern sowie $&%*+-/ | bis 36 | fachlich nötig |
| 12 | Belegfeld 2 | Belegnummer oder OPOS-Angabe, gleicher Zeichensatz | siehe DATEV-Beschreibung | nein |
| 14 | Buchungstext | Freier Text in Anführungszeichen | bis 60 | fachlich sinnvoll |
Personenkonten sind eine Stelle länger als die Sachkontenlänge: Bei Sachkontenlänge 4 hat ein Debitor also 5 Stellen. Feld 10 enthält ausschließlich TTMM. Eine Jahreszahl wird nicht mitgeliefert; die Jahreszuordnung erfolgt anhand der Kopfzeile. Eine Liste der BU-Schlüssel steht hier bewusst nicht, weil die passenden Schlüssel vom Mandanten und Kontenrahmen abhängen. Sie gehört in die Abstimmung mit der Kanzlei.
Trenner, Anführungszeichen, Kodierung, Zeilenende
- Trenner: Semikolon.
- Text: in doppelten Anführungszeichen. Ein Anführungszeichen im Text wird verdoppelt. Ein Semikolon in einem korrekt eingefassten Feld stört nicht.
- Zahlen: ohne Anführungszeichen.
- Zeilenende: CR und LF.
- Steuerzeichen wie Tabulatoren oder Zeilenumbrüche haben in Feldwerten nichts zu suchen.
- Kodierung: Standard für den Import nach DATEV Rechnungswesen ist ISO-8859-1 beziehungsweise CodePage 1252. UTF-8 kann DATEV Rechnungswesen lesen, wenn die Byte Order Mark (BOM) mitgeliefert wird; ohne BOM werden Umlaute verfälscht. Für andere Importwege gilt das nicht automatisch, maßgeblich ist die DATEV-Beschreibung zum Zeichensatz.
Weil DATEV beide Zeichensätze nebeneinander nennt, folgt daraus eine einfache Regel: Bleiben Sie bei Zeichen, die in beiden Zeichensätzen gleich sind. Umlaute und ß sind das. Das Euro-Zeichen, typografische Anführungszeichen, Gedankenstriche und Auslassungspunkte gehören nicht zu ISO-8859-1; ersetzen Sie sie vor dem Kürzen auf die Feldlänge durch einfache Zeichen.
Kommentiertes Minimalbeispiel
Das Muster zeigt Oktober 2026 für einen Mandanten mit Sachkontenlänge 4 und SKR 03. Die Werte sind ausgedacht und nicht durch einen DATEV-Import geprüft. Zeile 2 und 3 sind nach Spalte 14 gekürzt; in Ihrer Datei laufen sie bis zur letzten Spalte der Formatversion weiter.
"EXTF";700;21;"Buchungsstapel";13;20261109120000000;;"RE";"Export";"";1001;10001;20260101;4;20261001;20261031;"Oktober 2026";"";1;0;0;"EUR";;"";;;"03";;;"";""
Umsatz (ohne Soll/Haben-Kz);Soll/Haben-Kennzeichen;WKZ Umsatz;Kurs;Basisumsatz;WKZ Basisumsatz;Konto;Gegenkonto (ohne BU-Schlüssel);BU-Schlüssel;Belegdatum;Belegfeld 1;Belegfeld 2;Skonto;Buchungstext
119,00;"H";"EUR";;;"";8400;10000;"";1510;"RE-2026-1001";"";;"Rechnung 1001"119,00und"H": positiver Betrag, die Richtung steht im Kennzeichen und bezieht sich auf Konto 8400.8400: Erlöskonto für den Regelsteuersatz in SKR 03, vierstellig wie die Sachkontenlänge.10000: Debitor, eine Stelle länger.- BU-Schlüssel leer: passt, wenn 8400 im Mandanten als Automatikkonto geführt wird. Andernfalls trägt die Kanzlei den Schlüssel ein.
1510: 15. Oktober, das Jahr ergibt sich aus dem Wirtschaftsjahr."RE-2026-1001": Bindestrich ist erlaubt, Unterstrich und Leerzeichen sind es nicht.- Die Kopfzeile legt mit
0in Feld 21 fest, dass nicht festgeschrieben wird.
Fehlerliste: Symptom, Ursache, Korrektur
| Symptom | Ursache | Korrektur |
|---|---|---|
| Datei wird nicht als Importdatei erkannt | Erste Zelle ist nicht EXTF, Kopfzeile von Hand oder durch Excel verändert | Kopfzeile aus dem Quellsystem neu erzeugen |
| Abbruch mit REW10152 | Sachkontenlänge in der Datei größer als im Mandanten | Feld 14 und Kontonummern an den Mandanten anpassen |
| Meldung REW10153, Konten mit Nullen aufgefüllt | Sachkontenlänge in der Datei kleiner als im Mandanten | Länge mit der Kanzlei klären und Datei neu erzeugen |
| „Ungültiges Datum“ ab Zeile X | Führende Null fehlt (105 statt 0105) oder falsches Format | TTMM vierstellig schreiben, nicht über Excel speichern |
| Buchung wird abgelehnt, Datum liegt außerhalb | Belegdatum passt nicht zum Wirtschaftsjahr oder zur Buchungsperiode des Stapels. Ein Datum vor dem Stapelbeginn führt nicht automatisch zur Ablehnung | Stapel je Wirtschaftsjahr trennen; Wirtschaftsjahr, zulässige Datumsgrenzen und Buchungsperiode getrennt prüfen (Felder 13, 15 und 16) |
| Beträge um Faktor 100 falsch oder abgelehnt | Punkt als Dezimaltrenner, Tausenderpunkt | 1234,56 schreiben |
| Zeilen werden verworfen | Anderer Wert als S oder H in Spalte 2 | Abbildung im Export korrigieren |
| „zu viele Felder“, Spalten verschoben | Semikolon in nicht eingefasstem Text, abweichende Spaltenzahl | Text in Anführungszeichen, je Zeile gleiche Spaltenzahl |
| Umlaute verfälscht | Kodierung unpassend oder falsch erkannt, etwa UTF-8 ohne BOM | Kodierung umstellen, siehe oben |
| Protokoll beanstandet Belegfeld 1 | Mehr als 36 Zeichen oder unzulässige Zeichen wie Unterstrich | Belegnummer bereinigen, dabei eindeutig halten |
| Zahlung gleicht den offenen Posten nicht aus | Belegfeld 1 von Zahlung und Rechnung nicht identisch | In beiden Buchungen dieselbe Nummer verwenden |
| Steuer falsch oder fehlend | Steuer- oder Berichtigungsschlüssel passt nicht zum Konto oder nötiger Schlüssel fehlt | Konten und Schlüssel mit der Kanzlei abstimmen |
| Konto nicht vorhanden | Kontenlänge passt nicht oder Konto fehlt im Kontenrahmen | Kontenlänge prüfen, Konto anlegen lassen |
| Stapel nach dem Import nicht mehr änderbar | Festschreibung 1 oder leer; leer gilt seit der Jahreswechselversion 2016/2017 wie 1 | Vor dem Import bewusst 0 oder 1 setzen und mit der Kanzlei abstimmen |
Die Beispielzeile mit typischen Fehlern
Die folgenden Zeilen wenden die Regeln dieses Artikels auf die Buchungszeile aus dem Minimalbeispiel an. Sie sind abgeleitet und nicht durch einen DATEV-Import geprüft; welche Meldung Ihr Programmstand ausgibt, zeigt das Importprotokoll.
| Fehler | Fehlerhafte Zeile | Reparierte Zeile |
|---|---|---|
| Führende Null im Belegdatum fehlt (1. Oktober) | 119,00;"H";"EUR";;;"";8400;10000;"";110;"RE-2026-1001";"";;"Rechnung 1001" | 119,00;"H";"EUR";;;"";8400;10000;"";0110;"RE-2026-1001";"";;"Rechnung 1001" |
| Punkt als Dezimaltrenner | 119.00;"H";"EUR";;;"";8400;10000;"";1510;"RE-2026-1001";"";;"Rechnung 1001" | 119,00;"H";"EUR";;;"";8400;10000;"";1510;"RE-2026-1001";"";;"Rechnung 1001" |
| Negativer Betrag bei einer Gutschrift | -119,00;"H";"EUR";;;"";8400;10000;"";1510;"RE-2026-1001";"";;"Gutschrift 1001" | 119,00;"S";"EUR";;;"";8400;10000;"";1510;"RE-2026-1001";"";;"Gutschrift 1001" |
| Unterstrich in Belegfeld 1 | 119,00;"H";"EUR";;;"";8400;10000;"";1510;"RE_2026_1001";"";;"Rechnung 1001" | 119,00;"H";"EUR";;;"";8400;10000;"";1510;"RE-2026-1001";"";;"Rechnung 1001" |
| Semikolon in nicht eingefasstem Text | 119,00;"H";"EUR";;;"";8400;10000;"";1510;"RE-2026-1001";"";;Rechnung 1001; Nachtrag | 119,00;"H";"EUR";;;"";8400;10000;"";1510;"RE-2026-1001";"";;"Rechnung 1001; Nachtrag" |
Wann es komplizierter wird
- Buchungen aus zwei Wirtschaftsjahren: Sie gehören in getrennte Stapel, weil das Belegdatum kein Jahr trägt.
- OSS und Fremdwährung: Hier reichen die Spalten oben nicht aus; Bestimmungsland, EU-Steuersatz oder Kurs kommen hinzu. Die Details stimmen Sie mit der Kanzlei ab.
- Belege: Das Feld Beleglink verweist auf digital abgelegte Dokumente, etwa in DATEV DMS oder der Dokumentenablage. Bei dort vorhandenen Belegen genügt der passende Verweis. Sollen neue Belege nach Unternehmen online übertragen werden, kommt das Belegpaket hinzu. Die Anleitung von Meridian nennt dafür die Reihenfolge: zuerst die Belege, dann der Stapel.
- Korrekturen nach der Festschreibung: Sie laufen über erkennbare Gegenbuchungen, und ein Stapel darf nicht doppelt übergeben werden.
Zur Prüfung lässt sich das Prüfprogramm von DATEV einsetzen, das fehlende oder falsch formatierte Elemente meldet. Ob Konten und Sachkontenlänge zum Mandanten passen, zeigt erst der Probeimport im Zielbestand. Halten Sie außerdem die Formatversion im Blick: Die Beschreibung wird fortgeschrieben, maßgeblich ist die aktuelle Fassung im DATEV Developer Portal.
Sie möchten Kassenzeilen gegen das Muster prüfen: Die Vorschau zeigt erkannte Spalten, Summen je Steuersatz und die ersten Buchungszeilen. Eine importfertige Datei entsteht dabei nicht, weil die Kopfzeile mit Berater- und Mandantendaten fehlt.
Quellen
- DATEV Developer Portal: Buchungsstapel, Feldbeschreibung, developer.datev.de
- DATEV Developer Portal: Zeichensatz, developer.datev.de
- Odoo-Forum: Byte-Order-Mark beim DATEV-Export, mit Zitat der DATEV-Zeichensatzbeschreibung, www.odoo.com
- seamless-engineering/datev-extf-mcp: Hinweis zu UTF-8 ohne BOM, github.com
- DATEV-Serviceinformation 0907049: Steuerschlüssel-Tabelle 2023 (SKR 03/04), www.datev-community.de
- Finmatics: Stapeldatum vor dem Import nach DATEV Rechnungswesen anpassen, support.finmatics.com
- ledermann/datev: Kopfzeilen-Felder (header.rb), ältere Umsetzung, ergänzend, raw.githubusercontent.com
- ledermann/datev: Buchungsfelder (booking.rb), ältere Umsetzung, ergänzend, raw.githubusercontent.com
- ledermann/datev: Export, Trenner und Kodierung (export.rb), ältere Umsetzung, ergänzend, raw.githubusercontent.com
- Bergau-Wiki: OBS Datev-CSV-Info, Feldtabelle, wiki.bergau.de
- ERPNext: DATEV-CSV-Erzeugung (datev_csv.py), ältere Umsetzung, ergänzend, raw.githubusercontent.com
- Meridian: DATEV Buchungsstapel EXTF, Aufbau und Import, usemeridian.de
- prekonto: DATEV-Buchungsstapel (EXTF) selbst erzeugen, prekonto.de
- KudTax: DATEV-Importfehler beheben, kud.tax
- docs101: DATEV-EXTF-Format, docs101.com
- Docunest: Buchungsstapel und EXTF, docunest.de
- SmartKontoauszug: DATEV EXTF-Format erklärt, smartkontoauszug.de
- Access im Unternehmen: Export von Daten in das DATEV-Format, access-im-unternehmen.de
Alle Quellen gelesen am 09.11.2026.
Erstellt von der Redaktion Die Netzhandwerker mit KI-Unterstützung. Die Sachangaben wurden vor der Veröffentlichung automatisch gegen die genannten Quellen geprüft.