TaxLayer
Technik2026-10-206 Min. Lesezeitvon TaxLayer Team

E-Rechnung aus CSV: Aufbau der Importvorlage und was abgedeckt ist

Mit dem CSV-Import erzeugen Sie E-Rechnungen direkt aus dem strukturierten Export Ihres ERP, ohne den Umweg über ein PDF. Dieser Weg ist deterministisch: Die Daten kommen bereits sauber aus Ihrem System, es ist keine Erkennung nötig, und TaxLayer baut daraus die ZUGFeRD- oder XRechnung-Datei 1:1 aus Ihren Werten. Jede Datei wird zusätzlich automatisch gegen den offiziellen KoSIT-/Mustang-Regelsatz (EN 16931) geprüft.

> Kurz: Eine Zeile pro Position, Kopf-Felder in jeder Zeile, eine Datei je Rechnung. Die Vorlage laden Sie in der App unter "PDF konvertieren" im Bereich "Aus ERP-Export importieren (CSV)".

Aufbau der Datei

Die CSV ist nach dem Muster eine Zeile je Rechnungsposition aufgebaut. Die Felder auf Rechnungsebene (Nummer, Datum, Verkäufer, Käufer, Zahlung) stehen in jeder Zeile und werden aus der ersten Zeile gelesen. Trennzeichen ist das Semikolon. Deutsche Dezimalzahlen (1.234,56) werden erkannt.

Feldübersicht

SpalteBedeutungPflicht
invoiceNumberRechnungsnummerja
issueDateRechnungsdatum (JJJJ-MM-TT)ja
deliveryDateLiefer-/Leistungsdatumoptional
currencyCodeWährung (Standard EUR)optional
buyerReferenceLeitweg-ID / Käuferreferenz (B2G)optional
orderReferenceBestell-/Auftragsnummer (BT-13)optional
sellerNameName Verkäuferja
sellerVatIdUSt-IdNr. Verkäuferja*
sellerTaxNumberSteuernummer Verkäuferja*
sellerStreet / sellerZip / sellerCity / sellerCountryAnschrift Verkäuferoptional
sellerEmailE-Mail Verkäuferoptional
buyerNameName Käuferja
buyerVatIdUSt-IdNr. Käuferoptional**
buyerStreet / buyerZip / buyerCity / buyerCountryAnschrift Käuferoptional
iban / bicBankverbindungoptional
paymentTermsZahlungsbedingungen (Freitext, BT-20)optional
dueDateFälligkeitsdatumoptional
skontoDays / skontoPercentSkonto-Tage und -Prozentoptional
deliveryNoteIdLieferscheinnummeroptional
discountAmount / discountVatRate / discountVatCategoryRechnungsweiter Rabattoptional
descriptionBezeichnung der Positionja
quantityMengeja
unitEinheit (z. B. Stunde, kg, Stück)optional
unitPriceEinzelpreis nettoja
vatRateSteuersatz in Prozentja
vatCategorySteuerkategorie (S, AE, K, G, E, O, Z)optional

\* Mindestens eine Verkäufer-Kennung (USt-IdNr. oder Steuernummer) ist erforderlich.

\*\* Bei Reverse-Charge (Kategorie AE) ist die USt-IdNr. des Käufers Pflicht.

Warum eine CSV rund 95 Prozent abdeckt

EN 16931 definiert rund 160 Datenfelder, die meisten davon optional. Eine echte deutsche B2B-Rechnung braucht nur etwa 20 bis 30 davon, und genau die bildet die Vorlage ab. Die übrigen Werte (Steueraufstellung, alle Summen) berechnet TaxLayer automatisch aus den Positionen.

Eine CSV ist eine flache Tabelle: eine Wiederholungsrichtung, nämlich die Zeilen. Diese nutzen wir für die Positionen. Einzelwerte lassen sich beliebig als weitere Spalten ergänzen. Was eine flache CSV nicht sauber abbilden kann, sind mehrfach wiederholte, verschachtelte Strukturen: mehrere rechnungsweite Rabatte, Rabatte je Position oder viele Referenzen. Diese Strukturen sind ein Baum, und dafür ist XML das passende Format.

Skonto und Rabatt

Skonto geben Sie über skontoDays und skontoPercent an. Daraus entsteht automatisch die DATEV-Schreibweise in den Zahlungsbedingungen, sodass der Skonto maschinenlesbar ist. Wie dieses Muster genau aufgebaut ist und warum Freitext allein die Regel BR-DE-18 auslöst, erklärt Skonto in XRechnung und ZUGFeRD angeben. Einen rechnungsweiten Rabatt geben Sie über discountAmount an; er wird als eigene Position mit negativem Betrag geführt und mindert die Bemessungsgrundlage.

Und dann?

Nach dem Upload landen die Daten im gewohnten Prüfschritt. Dort kontrollieren Sie Beträge, Steuersätze und Einheiten und erzeugen anschließend die geprüfte E-Rechnung. Der CSV-Import ist zugleich der einfachste Weg, viele Rechnungen auf einmal zu konvertieren, weil eine Datei je Rechnung gesammelt verarbeitet wird. Die ersten 2 Konvertierungen pro Monat sind kostenlos: jetzt testen.

Häufig gestellte Fragen

Wie ist die CSV aufgebaut?

Eine Zeile pro Rechnungsposition. Die Rechnungskopf-Felder (Nummer, Datum, Verkäufer, Käufer, Zahlung) stehen in jeder Zeile und werden aus der ersten Zeile übernommen. Eine Datei entspricht einer Rechnung.

Welche Felder sind Pflicht?

invoiceNumber, issueDate, sellerName, eine Verkäufer-Kennung (sellerVatId oder sellerTaxNumber), buyerName sowie je Position description, quantity, unitPrice und vatRate. Alles andere ist optional.

Deckt die CSV alle EN-16931-Felder ab?

Rund 95 Prozent der Praxisfälle. EN 16931 hat etwa 160 Datenfelder, von denen die meisten optional sind. Eine flache CSV bildet alle Einzelwerte ab (Kopf, Parteien, Zahlung, Skonto, ein Rabatt, Lieferdatum). Nicht abbildbar sind mehrfach wiederholte, verschachtelte Strukturen wie mehrere rechnungsweite Rabatte oder Rabatte je Position. Dafür eignet sich XML.

Wie gebe ich Skonto an?

Über die Spalten skontoDays und skontoPercent. TaxLayer erzeugt daraus automatisch die maschinenlesbare DATEV-Schreibweise (#SKONTO#TAGE=14#PROZENT=2.00#) in den Zahlungsbedingungen (BT-20), sodass DATEV den Skonto erkennt.

Wie gebe ich einen Rabatt an?

Über discountAmount (Nettobetrag), optional discountVatRate und discountVatCategory. Der Rabatt wird als eigene Position mit negativem Betrag abgebildet und mindert die Bemessungsgrundlage des angegebenen Steuersatzes. Für Rechnungen mit nur einem Steuersatz ist das exakt; bei gemischten Sätzen geben Sie den Rabatt besser als eigene Position je Satz an.

Kann ich mehrere Rechnungen in einer Datei importieren?

Aktuell eine Rechnung pro Datei. Für viele Rechnungen laden Sie mehrere Dateien hoch oder sprechen uns auf eine automatisierte Anbindung an.

PDF-Rechnungen jetzt konvertieren

Testen Sie TaxLayer kostenlos – 2 Konvertierungen pro Monat, keine Kreditkarte.

Jetzt starten