Das Format

Das ZUGFeRD-Format: was in der Datei steckt

Eine ZUGFeRD-Rechnung ist ein PDF/A-3 mit einer XML-Datei darin. Woran Software sie erkennt, welche Profile und Versionen es gibt und welche davon eine E-Rechnung sind — erklärt an einer echten Datei, die Sie herunterladen und selbst öffnen können.

Eine Rechnung, zweimal in einer Datei

ZUGFeRD verbindet zwei Dinge, die sonst getrennt reisen: die Rechnungsseite, wie sie jeder PDF-Reader zeigt, und die Rechnungsdaten als XML, die Buchhaltungssoftware ohne Abtippen einliest. Die XML folgt der europäischen Norm EN 16931 in der Syntax UN/CEFACT CII. Herausgeber ist das Forum elektronische Rechnung Deutschland (FeRD), gemeinsam mit dem französischen FNFE-MPE, das dieselbe Spezifikation als Factur-X veröffentlicht.

Wer eine ZUGFeRD-Datei bekommt, merkt davon zunächst nichts: Sie öffnet sich wie jedes PDF. Die XML ist ein Dateianhang im PDF, den ein Reader in der Seitenleiste für Anlagen zeigt.

Der Aufbau, an einer echten Datei

Gelesen aus Fall 36 unserer Beispielbibliothek, einer Rechnung im Profil EN 16931 an ein Unternehmen. Die XML allein liegt daneben.

TeilIn der DateiWas die Spezifikation sagt
PDFPDF 1.6, PDF/A-3uPDF/A-3, weil erst diese Stufe beliebige Anhänge erlaubt. Ob 3a, 3b oder 3u, ist gleich.
Anhangfactur-x.xml, text/xmlGenau eine Rechnungs-XML, am Dokument angehängt. Im Profil XRECHNUNG heißt sie xrechnung.xml.
AFRelationship/AlternativeDie XML ist eine gleichwertige Fassung der Seite. In Deutschland Pflicht für BASIC, EN 16931, EXTENDED und XRECHNUNG; MINIMUM und BASIC WL tragen /Data.
XMPfx:ConformanceLevel EN 16931Die Metadaten nennen Dateiname und Profil, damit Software die Rechnung findet, ohne die XML zu öffnen.
XMLrsm:CrossIndustryInvoiceUN/CEFACT CII, seit ZUGFeRD 2.3 im Schema D22B, das zur D16B der Norm abwärtskompatibel ist.
XMP-Metadaten im PDF
<rdf:Description rdf:about=""
    xmlns:fx="urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0#">
  <fx:DocumentType>INVOICE</fx:DocumentType>
  <fx:DocumentFileName>factur-x.xml</fx:DocumentFileName>
  <fx:Version>1.0</fx:Version>
  <fx:ConformanceLevel>EN 16931</fx:ConformanceLevel>
</rdf:Description>

Das „1.0“ in fx:Version und das „1p0“ im Namensraum sind die Version des Metadaten-Schemas, nicht die von ZUGFeRD: Eine Datei nach 2.5.2 schreibt dasselbe wie eine nach 2.1.

Anfang der eingebetteten XML
<rsm:CrossIndustryInvoice
    xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100" …>
  <rsm:ExchangedDocumentContext>
    <ram:BusinessProcessSpecifiedDocumentContextParameter>
      <ram:ID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</ram:ID>
    </ram:BusinessProcessSpecifiedDocumentContextParameter>
    <ram:GuidelineSpecifiedDocumentContextParameter>
      <ram:ID>urn:cen.eu:en16931:2017</ram:ID>
    </ram:GuidelineSpecifiedDocumentContextParameter>
  </rsm:ExchangedDocumentContext>
  <rsm:ExchangedDocument>
    <ram:ID>SM-2026-047</ram:ID>
    <ram:TypeCode>380</ram:TypeCode>
    …

Die Kennung unter GuidelineSpecifiedDocumentContextParameter ist die Spezifikationskennung BT-24. Sie, nicht das XMP, ist für Prüfer maßgeblich: Nach ihr wählt der KoSIT-Validator das Regelwerk.

Die sechs Profile

Das Profil legt fest, wie viel von der Rechnung in der XML steht. Seit 2025 entscheidet es auch, ob die Datei steuerlich eine E-Rechnung ist: Das BMF erkennt ZUGFeRD ab Version 2.0.1 an, „ausgenommen die Profile MINIMUM und BASIC-WL“.

ProfilE-RechnungWas es enthält
MINIMUMurn:factur-x.eu:1p0:minimumneinNur Kopfdaten und Summen, als Buchungshilfe gedacht.
BASIC WLurn:factur-x.eu:1p0:basicwlneinKopfdaten ohne Positionen.
BASICurn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basicjaEine Teilmenge der Norm, mit Positionen.
EN 16931urn:cen.eu:en16931:2017jaDie ganze Norm, früher „Comfort“. Das übliche Profil zwischen Unternehmen.
EXTENDEDurn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extendedjaMehr Felder, als die Norm kennt. Behörden weisen es zurück.
XRECHNUNGurn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0jaEine vollständige XRechnung, im PDF als xrechnung.xml.

Welches Profil für welchen Empfänger, und warum EXTENDED an Behörden scheitert, obwohl der Standardprüfer schweigt: ZUGFeRD Extended oder XRechnung.

Die Versionen

ZUGFeRDFactur-XWas sich änderte
1.0–2014. Noch nicht auf EN 16931 gebaut, daher keine E-Rechnung im Sinne des UStG.
2.01.0.032019. Die erste Fassung auf Grundlage der Norm; als E-Rechnung anerkannt ab 2.0.1. Eingebettete Datei zugferd-invoice.xml.
2.11.0.05März 2020. Technisch identisch mit Factur-X; seitdem heißt die Datei factur-x.xml.
2.21.0.06März 2022.
2.31.0.07September 2024. Wechsel der XML-Syntax auf UN/CEFACT CII D22B.
2.41.08Dezember 2025, anzuwenden ab 15. Januar 2026.
2.51.09Juni 2026, anzuwenden ab 1. Juli 2026.
2.5.21.09.24. August 2026, anzuwenden ab 1. September 2026. Eine Korrektur von 2.5; die aktuelle Fassung.

Die alten Profilkennungen der Form urn:zugferd.de:2p0:… nehmen die Prüfregeln von 2.5.2 weiter an. Die nächste Fassung, mit Bruttorechnungen, hat FeRD für Herbst 2026 angekündigt. ZUGFeRD 2.0 und Factur-X 1.0.03 entsprachen sich nur weitgehend; technisch identisch sind beide seit 2.1.

ZUGFeRD und Factur-X

Seit 2.1 ist es eine Spezifikation unter zwei Namen. Eine Factur-X-Rechnung aus Frankreich ist in Deutschland eine ZUGFeRD-Rechnung und umgekehrt. Zwei Unterschiede gibt es: Das Profil XRECHNUNG ist nur für Deutschland bestimmt, und Frankreich lässt für die Verknüpfung der XML neben /Alternative auch /Source und /Data zu.

Seite und XML müssen dasselbe sagen

Steuerlich zählt nur die XML. Das BMF nennt sie den „führenden Teil“; weicht die Seite ab, gelten die Daten der XML, und eine Seite mit anderen Beträgen kann als zweite Rechnung gelten. Das betrifft vor allem Dateien, die aus zwei Quellen entstehen. Wann ZUGFeRD die richtige Wahl ist und wann die reine XML: XRechnung oder ZUGFeRD.

Prüfen und erstellen

Der ZUGFeRD Viewer zeigt, ob ein PDF eine XML trägt, und zeigt sie lesbar, im Browser und ohne Upload. Der Validator nimmt das PDF an und prüft die eingebettete XML gegen das Regelwerk der KoSIT, mit jeder Regelverletzung in Klartext.

Erstellen lässt sich ZUGFeRD im kostenlosen Generator, aus Ihrem eigenen PDF über PDF in E-Rechnung umwandeln, und aus JSON über die API. Jede Datei, die dabei entsteht, folgt dem oben gezeigten Aufbau.

Häufige Fragen

Was ist ZUGFeRD Comfort?

Der frühere Name des Profils EN 16931, das die Spezifikation bis heute als „EN 16931 (COMFORT)“ führt. Es bildet den Inhalt der Norm vollständig ab; im XMP steht „EN 16931“.

Ist eine ZUGFeRD-1.0-Rechnung noch gültig?

Als Rechnung ja, als E-Rechnung nicht: ZUGFeRD 1.0 beruhte noch nicht auf der EN 16931. Zwischen Unternehmen im Inland genügt sie 2027 nur noch bei höchstens 800.000 € Vorjahresumsatz, ab 2028 gar nicht mehr.

Kann ich aus einem normalen PDF eine ZUGFeRD-Datei machen?

Nicht durch Umwandeln allein, denn die Rechnungsdaten fehlen dem PDF in maschinenlesbarer Form. Sie müssen einmal eingetragen werden; dann kommt die XML in Ihr PDF, und es wird nach PDF/A-3 überführt. Genau das macht PDF in E-Rechnung umwandeln.

Wo finde ich weitere Beispieldateien?

In unseren E-Rechnung-Beispielen: 40 Fälle, jeder als ZUGFeRD-PDF, UBL und CII, alle mit dem KoSIT-Validator geprüft und frei nutzbar.

Quellen: FeRD, ZUGFeRD 2.5.2; FNFE-MPE, Factur-X; Spezifikation Factur-X 1.07.2, Kapitel zu PDF/A-3 und XMP; BMF-Schreiben vom 15. Oktober 2024 (Rn. 25, 30, 31). Gelesen am 25. Oktober 2026.