ZUGFeRD-Rechnung erstellen: Schritt-für-Schritt-Anleitung
ZUGFeRD-Rechnung erstellen: Schritt-für-Schritt-Anleitung
ZUGFeRD ist eines der beliebtesten E-Rechnungsformate in Deutschland, weil es zwei Welten vereint: eine visuell lesbare PDF-Rechnung und eine maschinenlesbare XML-Datei in einem einzigen Dokument. In dieser Anleitung erfahren Sie, wie Sie eine konforme ZUGFeRD-Rechnung erstellen.
Was genau ist eine ZUGFeRD-Rechnung?
Eine ZUGFeRD-Rechnung ist ein PDF/A-3-Dokument mit einer eingebetteten CII-XML-Datei (Cross-Industry Invoice). Das PDF enthält die visuelle Darstellung der Rechnung, wie Sie sie von klassischen PDF-Rechnungen kennen. Zusätzlich ist eine XML-Datei als Anhang im PDF eingebettet, die alle Rechnungsdaten in strukturierter, maschinenlesbarer Form enthält. Ab ZUGFeRD 2.1 heißt diese Datei factur-x.xml (in ZUGFeRD 2.0 noch zugferd-invoice.xml).
Der Vorteil: Empfänger ohne spezielle Software sehen eine normale PDF-Rechnung. Empfänger mit E-Rechnungssystemen können die Daten automatisiert auslesen und weiterverarbeiten.
Die ZUGFeRD-Profile
ZUGFeRD 2.x (aktuell in Version 2.4, entspricht Factur-X 1.08) bietet verschiedene Profile, die sich im Umfang der enthaltenen Daten unterscheiden:
Minimum
Enthält nur grundlegende Kopfdaten (Rechnungsnummer, Datum, Gesamtbetrag). Geeignet für die reine Archivierung, aber nicht für die automatisierte Verarbeitung.
Basic WL (Without Lines)
Erweitert das Minimum-Profil um Verkäufer- und Käuferinformationen sowie Umsatzsteueraufschlüsselung, enthält aber keine einzelnen Rechnungspositionen.
Basic
Wie Basic WL, aber mit Rechnungspositionen. Die erste Stufe, die eine sinnvolle automatisierte Verarbeitung ermöglicht.
EN 16931 (Comfort)
Bildet das vollständige europäische Datenmodell EN 16931 ab. Dieses Profil ist die Basis für die gesetzliche E-Rechnungspflicht und deckt alle Pflichtfelder der europäischen Norm ab.
Extended
Ermöglicht zusätzliche Felder über EN 16931 hinaus, etwa für branchenspezifische Anforderungen.
XRechnung
Ein spezielles Profil, das die XRechnung-CIUS vollständig abbildet und damit auch für Rechnungen an öffentliche Auftraggeber geeignet ist.
Für die meisten Anwendungsfälle empfehlen wir mindestens das Profil EN 16931 (Comfort), da es die gesetzlichen Anforderungen erfüllt.
Pflichtfelder einer ZUGFeRD-Rechnung
Ab dem Profil EN 16931 (Comfort) sind folgende Kernangaben erforderlich:
- Rechnungsnummer (BT-1)
- Rechnungsdatum (BT-2)
- Währungscode (BT-5), z. B. EUR
- Verkäufer: Name, Adresse, Umsatzsteuer-ID
- Käufer: Name, Adresse
- Rechnungspositionen: Bezeichnung, Menge, Einzelpreis, Umsatzsteuersatz
- Gesamtbeträge: Netto, Umsatzsteuer, Brutto
- Zahlungsinformationen: Fälligkeitsdatum, Zahlungsart, IBAN
Schritt-für-Schritt: ZUGFeRD-Rechnung erstellen
Schritt 1: Rechnungsdaten strukturieren
Erfassen Sie alle Rechnungsdaten in einem strukturierten Format. Bei invapi verwenden Sie dafür ein JSON-Objekt mit allen relevanten Feldern — Verkäufer, Käufer, Positionen, Beträge und Zahlungsinformationen.
Schritt 2: PDF vorbereiten
Erstellen Sie eine visuelle PDF-Rechnung mit Ihrem gewohnten Layout und Branding. Das PDF dient als Grundlage und wird zum PDF/A-3-Container. Achten Sie darauf, dass die Angaben im PDF mit den XML-Daten übereinstimmen.
Schritt 3: CII-XML erzeugen
Die maschinenlesbare XML-Datei muss im UN/CEFACT Cross-Industry Invoice Format vorliegen. Manuell ist das fehleranfällig — hier empfiehlt sich ein automatisiertes Tool oder eine API.
Schritt 4: XML in PDF einbetten
Die CII-XML-Datei wird als Anhang in das PDF eingebettet. Dabei muss das PDF dem PDF/A-3-Standard entsprechen und die XML-Datei als verknüpften Anhang mit dem richtigen MIME-Type referenzieren.
Schritt 5: Validieren
Vor dem Versand sollten Sie die erzeugte ZUGFeRD-Rechnung validieren. Die Validierung prüft sowohl die XML-Struktur als auch die Einhaltung der EN 16931-Geschäftsregeln.
Der einfache Weg mit invapi
Die Schritte 3 bis 5 können Sie mit der invapi API automatisieren. Übergeben Sie Ihre Rechnungsdaten als JSON zusammen mit einer PDF-Datei, und invapi erzeugt eine vollständige, validierte ZUGFeRD-Rechnung.
Der Ablauf über die API:
- Rechnungsdaten als JSON zusammenstellen
- PDF hochladen und zusammen mit dem JSON an den ZUGFeRD-Endpunkt senden
- Validierte ZUGFeRD-PDF als Ergebnis erhalten
Die Konvertierung, Einbettung und Validierung übernimmt die API. Sie können mit dem kostenlosen Plan direkt starten.
Fazit
ZUGFeRD-Rechnungen vereinen das Beste aus zwei Welten: menschliche Lesbarkeit und maschinelle Verarbeitbarkeit. Der Erstellungsprozess erfordert zwar mehr als eine einfache PDF-Erstellung, lässt sich aber mit den richtigen Werkzeugen vollständig automatisieren. Wer sich jetzt mit ZUGFeRD vertraut macht, ist für die E-Rechnungspflicht bestens vorbereitet.