XRechnung vs. ZUGFeRD: Der Unterschied im Detail
Letzte Aktualisierung: 1. Mai 2026
Gemeinsamkeiten: Was beide verbindet
XRechnung und ZUGFeRD basieren beide auf der EU-Norm EN 16931 — dem europäischen Standard für elektronische Rechnungen. Beide sind gesetzlich anerkannte E-Rechnungen im Sinne des deutschen Wachstumschancengesetzes. Und beide verwenden (zumindest optional) die UN/CEFACT-CII-Syntax für das XML.
Der fundamentale Unterschied: PDF vs. reines XML
| Eigenschaft | ZUGFeRD | XRechnung |
|---|---|---|
| Dateiformat | PDF/A-3 mit eingebettetem XML | Reine XML-Datei (.xml) |
| Für Menschen lesbar? | ✅ Ja, ohne Sondersoftware | ❌ Nein, Viewer oder Software nötig |
| Maschinell verarbeitbar? | ✅ Ja (XML-Teil) | ✅ Ja |
| Dateigröße (typisch) | 50–200 KB | 5–30 KB |
| Kann archiviert werden wie ein PDF? | ✅ Ja | ❌ Nur als XML-Datei, nicht druckbar |
Einsatzgebiete: Wer nutzt was?
| Szenario | Empfohlenes Format | Pflicht? |
|---|---|---|
| Rechnung an Bundesbehörde | XRechnung | ✅ Pflicht (seit 2020) |
| Rechnung an Landesbehörde | XRechnung (meistens) | Je nach Bundesland |
| Rechnung an privates Unternehmen | ZUGFeRD | Ab 2027/2028 |
| Grenzüberschreitend (EU) | ZUGFeRD / Factur-X | Nein (national freiwillig) |
| Entwickler / API-Integration | Beide je nach Bedarf | — |
Technischer Tiefenvergleich
XML-Syntax
ZUGFeRD verwendet ausschließlich die UN/CEFACT-CII-Syntax. XRechnung unterstützt zwei Syntaxvarianten:
- CII (Cross Industry Invoice): Dieselbe Syntax wie ZUGFeRD — eine XRechnung in CII-Syntax hat fast identisches XML wie ZUGFeRD
- UBL (Universal Business Language): Alternative Syntax, weiter verbreitet international
Das bedeutet: Eine XRechnung in CII-Syntax und ein ZUGFeRD-Dokument sehen im XML sehr ähnlich aus — der Hauptunterschied ist das fehlende PDF-Wrapper bei der XRechnung.
Pflichtfelder
XRechnungen für öffentliche Auftraggeber erfordern die Leitwegsnummer — ein Routing-Element, das es bei ZUGFeRD in dieser Form nicht gibt. Ohne Leitwegsnummer wird eine XRechnung an Behörden automatisch abgewiesen.
Profile
ZUGFeRD hat ein eigenes XRECHNUNG-Profil, das inhaltlich dem XRechnung-Standard entspricht — aber als PDF verpackt ist. Manche Behörden akzeptieren dieses Profil; andere bestehen auf einer reinen XRechnung-XML. Immer beim Auftraggeber nachfragen.
Aus Entwicklersicht: Was ist einfacher zu implementieren?
ZUGFeRD ist etwas aufwendiger, weil du eine valide PDF/A-3-Datei erzeugen und das XML korrekt einbetten musst. Dafür gibt es gute Bibliotheken: Mustangproject (Java), python-drafthorse (Python), horstoeko/zugferd (PHP).
XRechnung ist technisch einfacher — es ist "nur" ein XML-Dokument. Aber die Validierung der Geschäftsregeln (insbesondere der Leitwegsnummer-Anforderungen) ist strenger. Der KoSIT-Validator ist das Referenz-Tool.
Häufige Fragen
Kann ich eine ZUGFeRD-Datei an eine Behörde schicken, die XRechnung fordert?
Nur, wenn die Behörde das ZUGFeRD-XRECHNUNG-Profil akzeptiert — das musst du vorher
klären. Viele Bundesbehörden akzeptieren ausschließlich XRechnung-XML, keine PDFs.
Welches Format soll ich in meiner Software implementieren?
Für B2B zwischen Unternehmen: ZUGFeRD. Für öffentliche Auftraggeber: XRechnung.
Wenn du beides brauchst: Bibliotheken wie Mustangproject unterstützen beide Formate.
Wird es irgendwann nur noch ein Format geben?
Mittelfristig nicht absehbar. Die EU arbeitet an einer Harmonisierung, aber nationale
Standards wie XRechnung und ZUGFeRD werden noch Jahre parallel existieren.
Weiterführend: Formate im Vergleich: ZUGFeRD, XRechnung, Factur-X · XRechnung: Aufbau im Detail