ZUGFeRD: die hybride E-Rechnung, für Entwickler erklärt
Eine ZUGFeRD-Rechnung sieht aus wie jede PDF-Rechnung, enthält aber die vollständigen Rechnungsdaten als XML. Menschen lesen das PDF, Software liest das XML. Hier steht, was in der Datei steckt, welches Profil Sie wählen sollten und wie Sie eine Datei prüfen.
Stand 19. Oktober 2026
Aufbau einer ZUGFeRD-Datei
- Ein PDF/A-3-Dokument (ISO 19005-3), die Archiv-Variante von PDF, die eingebettete Dateien erlaubt.
- Ein XML-Anhang in der Syntax UN/CEFACT Cross Industry Invoice (CII), in aktuellen Versionen mit dem Namen
factur-x.xml(ZUGFeRD 2.0 nutztezugferd-invoice.xml, ZUGFeRD 1.0ZUGFeRD-invoice.xml). - XMP-Metadaten im PDF, die Dateinamen des Anhangs, Version und Profil angeben.
Herausgeber ist das FeRD, das Forum elektronische Rechnung Deutschland, gemeinsam mit dem französischen FNFE-MPE, das dasselbe Format als Factur-X veröffentlicht. Beide sind technisch identisch: Eine gültige Factur-X-Datei ist eine gültige ZUGFeRD-Datei desselben Profils.
Seit Einführung der E-Rechnungspflicht ist bei hybriden Rechnungen das XML führend: Weichen PDF und XML voneinander ab, gelten die Daten im XML (BMF-FAQ, Frage 12a). Ein schönes PDF mit fehlerhaftem XML ist eine fehlerhafte Rechnung.
Versionen
| ZUGFeRD | Factur-X | Stand |
|---|---|---|
| 2.5.2 | 1.09.2 | Aktuell. Veröffentlicht am 4. August 2026, anzuwenden ab 1. September 2026 (FeRD). |
| 2.4 | 1.08 | Veröffentlicht am 4. Dezember 2025, jetzt im Versionsarchiv des FeRD. |
| 2.0.1 – 2.3.x | 1.0 – 1.0.07 | Ältere 2.x-Versionen; Unterversionen sind abwärtskompatibel. |
| 1.0 | – | 2014, anderes XML. Keine E-Rechnung im Sinne des UStG. |
Das BMF erkennt ZUGFeRD ab Version 2.0.1 als E-Rechnung an. Neue Versionen folgen vor allem den Aktualisierungen der EN-16931-Codelisten, die zweimal im Jahr erscheinen. Rechnen Sie also etwa halbjährlich mit einem Update.
Profile
Das Profil bestimmt, wie viele Daten das XML enthält. Es steht in der Spezifikationskennung des XML und noch einmal in den PDF-Metadaten.
| Profil | Inhalt | E-Rechnung nach UStG? |
|---|---|---|
| MINIMUM | Kopfdaten, Summen und Parteien, keine Rechnungspositionen. Kennung urn:factur-x.eu:1p0:minimum. | Nein |
| BASIC WL | Daten auf Belegebene, keine Positionen („without lines“). urn:factur-x.eu:1p0:basicwl. | Nein |
| BASIC | Mit Positionen, eine Teilmenge der EN 16931. urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic. | Ja |
| EN 16931 | Die vollständige europäische Kernrechnung (früher COMFORT). urn:cen.eu:en16931:2017. | Ja |
| EXTENDED | EN 16931 plus zusätzliche Felder, etwa Unterpositionen für Sets und Bündel. urn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended. | Ja |
| XRECHNUNG | Ein ZUGFeRD-PDF, dessen XML den Regeln der XRechnung folgt. | Ja |
Die „Nein“-Einträge stammen direkt vom BMF: XRechnung und ZUGFeRD ab Version 2.0.1 erfüllen die Voraussetzungen, „mit Ausnahme der Profile MINIMUM und BASIC-WL“ (BMF-FAQ, Frage 7). Ein Validator meldet eine MINIMUM-Datei trotzdem als gültig, denn sie ist gültig für ihr Profil. Eine E-Rechnung im steuerlichen Sinn ist sie nicht.
Unsere Empfehlung: das Profil EN 16931. Es enthält alles, was die europäische Norm vorsieht, jedes Empfangssystem versteht es, und es wird in Deutschland und Frankreich anerkannt. EXTENDED nur, wenn Sie ein Feld brauchen, das EN 16931 nicht hat; XRECHNUNG, wenn ein öffentlicher Auftraggeber es verlangt.
ZUGFeRD und die E-Rechnungspflicht
Seit dem 1. Januar 2025 müssen alle inländischen Unternehmen E-Rechnungen empfangen können. Ausstellen müssen sie sie ab 2027 oder 2028, je nach Vorjahresumsatz. Für Rechnungen zwischen Unternehmen sind ZUGFeRD und XRechnung gleichermaßen zulässig. Fristen, Ausnahmen und Quellen: E-Rechnungspflicht 2025–2028. Welches Format passt: XRechnung vs. ZUGFeRD.
Eine ZUGFeRD-Datei prüfen
Eine vollständige Prüfung hat vier Ebenen, und ein Fehler auf jeder davon macht die Datei ungültig:
- PDF/A-3: Das PDF selbst ist konform (Schriften eingebettet, Farbprofil vorhanden, keine verbotenen Funktionen). Geprüft mit veraPDF.
- Metadaten: Der XMP-Block beschreibt Anhang und Profil, und beides passt zum XML.
- Schema: Das XML entspricht dem XSD seines Profils.
- Geschäftsregeln: die Schematron-Regeln des Profils und der EN 16931, etwa
BR-CO-15(Bruttosumme = Nettosumme + Umsatzsteuer).
Die typischen Fehler und ihre Lösung: ZUGFeRD validieren. Das XML in einem PDF zeigt der Viewer für eingebettetes XML.
ZUGFeRD-API
Die Validierungs-API von Invoir ist live: PDF hochladen, JSON-Bericht mit jedem Befund, seiner Regel-ID und der Fundstelle im XML zurückbekommen.
curl https://validate.invoir.dev/api/v1/validate \
-H "Authorization: Bearer inv_IHR_KEY" \
-F [email protected]
POST /api/v1/extract liefert das eingebettete XML. Beides steht in der API-Doku (Englisch) mit Beispielen für Node, Python, PHP und Go. ZUGFeRD-PDFs aus JSON erzeugen, mit Ihrem Logo und Layout und vor der Rückgabe validiert, ist in Entwicklung; die Tarife stehen unter Preise.
Wenn Sie es selbst bauen möchten, sind die Open-Source-Bibliotheken gut: Mustang (Java), horstoeko/zugferd (PHP) und factur-x (Python). Invoir nutzt selbst Mustang und veraPDF. Ihre Aufgabe ist dann, die Regelwerke aktuell zu halten und PDF/A-3 sauber hinzubekommen.
Datei im Browser prüfen – oder per API. Der kostenlose Validator prüft nach den offiziellen Regeln (KoSIT, CEN- und Peppol-Schematron, Mustang, veraPDF) und nennt jeden Fehler mit Regel-ID. Es wird nichts gespeichert. Dieselbe Prüfung gibt es als einen HTTP-Aufruf mit kostenlosem API-Key: 25 Dokumente im Monat, ohne Kreditkarte.
Quellen
- FeRD: ZUGFeRD 2.5.2, Veröffentlichung und Anwendungsdatum.
- Bundesministerium der Finanzen: Fragen und Antworten zur E-Rechnung, Stand März 2026 (Fragen 7 und 12a).
- FNFE-MPE: Factur-X, Profile und Verhältnis zu ZUGFeRD.