XRechnung aus CSV erstellen: so arbeitet die Stapelverarbeitung
Wer am Monatsende mehrere Rechnungen schreibt, führt die Daten oft schon in einer Tabelle. Die Stapelverarbeitung des Werkzeugs liest eine solche Tabelle als CSV-Datei und erstellt daraus je Rechnung eine XML-Datei in UBL oder CII. Diese Seite beschreibt den Aufbau der CSV-Datei, alle Spalten und das Ergebnis.
Der Aufbau der CSV-Datei
- Die erste Zeile nennt die Spalten. Trennzeichen ist das Semikolon oder das Komma; das Werkzeug erkennt es an dieser ersten Zeile.
- Jede weitere Zeile ist eine Rechnungsposition. Zeilen mit derselben Rechnungsnummer bilden zusammen eine Rechnung.
- Datum, Käufer, Bemerkung und BT-20 einer Rechnung nimmt das Werkzeug aus der ersten Zeile mit dieser Nummer.
- Ein Feld, das selbst ein Trennzeichen enthält, steht in doppelten Anführungszeichen.
- Zahlen dürfen ein deutsches Dezimalkomma haben, etwa
1.250,50, oder einen Dezimalpunkt, etwa1250.50. - Ein Datum schreiben Sie als
05.10.2026oder als2026-10-05. - Eine gewählte Datei liest das Werkzeug als UTF-8 und, wenn sie kein UTF-8 ist, als Windows-1252.
Die Spalten
Jede Spalte hat einen englischen Namen und mindestens eine deutsche Kopfzeile, die genauso gelesen wird. Groß- und Kleinschreibung spielt keine Rolle. Die Reihenfolge der Spalten ist frei, und freiwillige Spalten dürfen fehlen.
| Spalte | Deutsche Kopfzeile | Pflicht | Feld der Rechnung |
|---|---|---|---|
invoice_number | Rechnungsnummer | ja | Rechnungsnummer (BT-1) |
issue_date | Rechnungsdatum | ja | Rechnungsdatum (BT-2) |
due_date | Fälligkeitsdatum | nein | Fälligkeitsdatum (BT-9) |
delivery_date | Leistungsdatum, Lieferdatum | nein | Liefer- oder Leistungsdatum (BT-72) |
buyer_reference | Leitweg-ID, Käuferreferenz | ja | Käuferreferenz (BT-10) |
buyer_name | Kunde, Kunde_Name | ja | Name des Käufers (BT-44) |
buyer_street | Kunde_Strasse | nein | Straße und Hausnummer (BT-50) |
buyer_postcode | Kunde_PLZ | ja | Postleitzahl (BT-53) |
buyer_city | Kunde_Ort | ja | Ort (BT-52) |
buyer_country | Kunde_Land | nein | Ländercode (BT-55), leer gilt DE |
buyer_email | Kunde_Email | ja | elektronische Adresse des Käufers (BT-49) |
buyer_vat_id | Kunde_UStID | nein | Umsatzsteuer-ID des Käufers (BT-48) |
item_name | Bezeichnung, Artikel | ja | Artikelname (BT-153) |
item_description | Beschreibung | nein | Artikelbeschreibung (BT-154) |
quantity | Menge | ja | Menge (BT-129) |
unit | Einheit | nein | Einheitencode, leer gilt C62 für Stück; HUR steht für Stunde |
unit_price | Einzelpreis, Preis | ja | Nettopreis je Einheit (BT-146) |
vat_rate | Steuersatz, USt | nur ohne Kleinunternehmer-Haken | Steuersatz in Prozent, etwa 19 oder 7 |
note | Hinweis, Bemerkung | nein | Freitext zur Rechnung (BT-22) |
payment_terms | Zahlungsbedingungen | nein | BT-20, Freitext der Rechnung |
Enthält die Kopfzeile weder invoice_number noch „Rechnungsnummer“, liest das Werkzeug die Datei nicht ein. Zeilen ohne Rechnungsnummer übergeht es.
Was nicht in der CSV steht
Ihre eigenen Angaben als Verkäufer stehen nicht in der Tabelle. Das Werkzeug übernimmt sie aus dem Abschnitt „Verkäufer (Sie)“ im Bereich „Erstellen“, ebenso den Kleinunternehmer-Haken und den Inhalt des Feldes BT-20. Füllen Sie diesen Abschnitt aus, bevor Sie den Stapel starten. Ist der Haken gesetzt, erhält jede Position die Steuerkategorie E mit Steuersatz 0, und die Spalte vat_rate wird übergangen. Die Währung ist Euro.
Der Ablauf
- Schalten Sie die Vollversion im Werkzeug unter „Lizenzschlüssel“ frei.
- Öffnen Sie den Bereich „Stapel (CSV)“. Dort zeigt das Werkzeug die Spaltenbeschreibung und bietet eine Beispiel-CSV mit drei Rechnungen an. Die Spalte für die E-Mail-Adresse des Käufers ist in diesem Beispiel leer und muss vor dem Erstellen ausgefüllt werden.
- Wählen Sie Ihre CSV-Datei oder fügen Sie den Text ein, und wählen Sie das Format UBL oder CII.
- Starten Sie die Verarbeitung.
Das Ergebnis
Das Werkzeug zeigt eine Tabelle mit einer Zeile je Rechnung: Rechnungsnummer, Käufer, Zahlbetrag, Ergebnis der Prüfung und die Nummern der gemeldeten Regeln. Fehlt einer Rechnung eine Pflichtangabe, steht dort „nicht erstellt“ mit der Liste der fehlenden Felder; die übrigen Rechnungen entstehen trotzdem. Fehlt zum Beispiel die Käuferreferenz, betrifft das dasselbe Feld wie die Regel BR-DE-15.
Jede XML-Datei speichern oder kopieren Sie einzeln. Zusätzlich gibt es alle Dateien zusammen als eine Textdatei mit Trennzeilen; eine ZIP-Datei entsteht nicht. Über die Schaltfläche „Bericht“ öffnen Sie zu einer Rechnung den Prüfbericht mit Erklärung und Korrekturhinweis zu jeder Meldung.
Was der Stapel nicht kann
- Rabatte, Zuschläge, Skonto und Anzahlungen bildet das Werkzeug nicht ab, auch nicht im Stapel.
- Es entsteht keine PDF-Datei und damit keine ZUGFeRD-Rechnung.
- Das Werkzeug versendet nichts. Die Dateien übermitteln Sie selbst an Ihre Kunden.
- Auch der Stapel läuft nur in Ihrem Browser; die CSV-Datei wird nicht hochgeladen.
Lizenzschlüssel
Der Schlüssel schaltet die Stapelverarbeitung und den Prüfbericht frei. Zum Freischalten wird nur der Schlüssel an diese Website gesendet, keine Rechnungsdaten.
Lizenzschlüssel bei Gumroad kaufen Preis: 19 US-Dollar. Gumroad ist Verkäufer und Vertragspartner für den Kauf und rechnet die Umsatzsteuer hinzu, wo sie anfällt; den Endpreis zeigt Gumroad im Bestellvorgang. Werkzeug, keine Steuer- oder Rechtsberatung; keine Garantie für Konformität; Prüfung durch Steuerberater/Empfänger empfohlen.
Wie eine einzelne Rechnung ohne Schlüssel entsteht, zeigt das Beispiel einer Kleinunternehmer-Rechnung.