Formate

XRechnung vs. ZUGFeRD: Der Unterschied im Detail

Letzte Aktualisierung: 1. Mai 2026

Kurzfassung: Beide Formate sind gesetzeskonforme E-Rechnungen — aber für unterschiedliche Szenarien gebaut. ZUGFeRD ist das Format für normale Unternehmensrechnungen. XRechnung ist der Standard für Rechnungen an öffentliche Auftraggeber in Deutschland.

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:

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