Validierung & Fehler 7 Min. LesezeitVeröffentlicht am · Aktualisiert am

ZUGFeRD validieren: PDF/A-3, XML und Profil prüfen

ZUGFeRD validieren in sechs Schritten: PDF/A-3 mit veraPDF, eingebettete XML, Profil, Schematron-Regeln und Pflichtangaben prüfen – mit kostenlosen Werkzeugen.

docutools.pro Editorial TeamRedaktion

Das Wichtigste in Kürze

  • Eine vollständige ZUGFeRD-Prüfung umfasst sechs Ebenen: PDF/A-3, Einbettung und XMP-Metadaten, XML-Schema, Schematron-Regeln, Abgleich von PDF und XML sowie die Pflichtangaben nach § 14 Abs. 4 UStG.
  • veraPDF prüft nur die PDF/A-Konformität; der Mustang-Validator prüft PDF/A (über veraPDF), XML-Schema und Schematron in einem Durchgang.
  • Für das Profil XRECHNUNG gelten zusätzlich die deutschen Regeln der KoSIT, etwa BR-DE-15 für die Käuferreferenz BT-10.
  • Nach dem BMF-Schreiben vom 15.10.2025 ist eine Datei mit Formatfehlern keine E-Rechnung; Geschäftsregelfehler zu Nicht-Pflichtangaben wie BT-10 sind umsatzsteuerlich unbeachtlich.
  • Das BMF empfiehlt, den Validierungsbericht als Nachweis aufzubewahren, am besten zusammen mit der Rechnung für die Dauer der achtjährigen Aufbewahrungsfrist.
Inhalt

Eine ZUGFeRD-Rechnung validieren Sie in zwei Teilen: Das PDF muss PDF/A-3-konform sein, die eingebettete XML muss dem CII-Schema und den Geschäftsregeln ihres Profils entsprechen. Für die PDF/A-Prüfung eignet sich veraPDF, für die Gesamtprüfung der Mustang-Validator. Beim Profil XRECHNUNG kommen die Regeln der KoSIT hinzu.

Stand: September 2026. Dieser Beitrag ersetzt keine Steuerberatung.

Warum reicht ein Blick auf das PDF nicht?

Nach dem BMF-Schreiben vom 15.10.2025 (öffnet in neuem Tab) ist bei hybriden Rechnungen der strukturierte Teil führend. Weichen PDF und XML ab, gilt die XML, und nur aus ihr ist der Vorsteuerabzug möglich. Ein PDF kann fehlerfrei aussehen, während die XML fehlt, das falsche Profil trägt oder Rechenfehler enthält. Eine Datei mit Formatfehlern ist nach Rn. 6a des Schreibens keine E-Rechnung, sondern eine sonstige Rechnung.

Eine Validierung prüft die Datei deshalb Schicht für Schicht. Wie ZUGFeRD aufgebaut ist und welche Profile es gibt, erklärt unser Grundlagenbeitrag zur ZUGFeRD-Rechnung.

Welche Prüfebenen gibt es?

EbeneWas geprüft wirdWerkzeugTypischer Fehler
1. PDF/A-3Norm ISO 19005-3: Schriften, Farbprofil, MetadatenveraPDF, MustangSchrift nicht eingebettet
2. EinbettungDateiname, AFRelationship, XMP-ProfilangabeMustang, ZUGFeRD-Extraktorfalscher Dateiname
3. XML-SchemaCII-Syntax des Profils, Namespaces, ReihenfolgeMustang, XRechnung Viewerfalscher Namespace
4. SchematronGeschäftsregeln der EN 16931, bei XRECHNUNG auch BR-DEMustang, XRechnung Viewer, KoSIT-ValidatorSummen stimmen nicht
5. PDF und XMLgleiche Nummer, Beträge, Steuer, FälligkeitSichtvergleich mit Extraktor-Übersichtabweichender Betrag
6. InhaltPflichtangaben nach § 14 Abs. 4 UStG, richtiger SteuersatzRechnungs-Checker, eigene Prüfungfalscher Steuersatz

Die Ebenen 1 bis 4 lassen sich automatisieren. Die Ebenen 5 und 6 brauchen zumindest stichprobenartig einen menschlichen Blick.

Schritt 1: PDF/A-3-Konformität mit veraPDF prüfen

veraPDF (öffnet in neuem Tab) ist ein quelloffener Validator für alle Teile und Konformitätsstufen von PDF/A. Es gibt ihn als Desktop-Programm und für die Kommandozeile:

verapdf --flavour 3b rechnung.pdf

Mit --flavour 3b legen Sie die Prüfstufe PDF/A-3b fest. Die Stufe b genügt für ZUGFeRD; Dateien in PDF/A-3a oder PDF/A-3u sind ebenfalls PDF/A-3.

Typische Meldungen und ihre Ursachen:

  • Schrift nicht eingebettet: Das Rechnungsprogramm verwendet Standardschriften, ohne sie in die Datei aufzunehmen.
  • OutputIntent fehlt: Es ist kein ICC-Farbprofil hinterlegt, das PDF/A verlangt.
  • Falsche PDF/A-Kennung: In den XMP-Metadaten fehlt pdfaid:part mit dem Wert 3.
  • Eingebettete Datei ohne MIME-Typ oder ohne AFRelationship: PDF/A-3 verlangt beides für jede eingebettete Datei.

veraPDF sagt nichts über die Rechnungsdaten. Ein PDF kann PDF/A-3-konform sein und trotzdem gar keine XML enthalten.

Schritt 2: Eingebettete XML, AFRelationship und XMP prüfen

Zuerst muss die richtige Datei im PDF stecken. Der Dateiname hängt von Version und Profil ab:

  • factur-x.xml: ZUGFeRD ab 2.1, Profile MINIMUM bis EXTENDED
  • xrechnung.xml: Profil XRECHNUNG
  • zugferd-invoice.xml: ZUGFeRD 2.0

Mit unserem Werkzeug zum ZUGFeRD-XML extrahieren sehen Sie sofort, welche Anhänge das PDF enthält und wie die Rechnungs-XML heißt. Die Datei wird dabei nur in Ihrem Browser verarbeitet.

Die XML muss außerdem im Array /AF des PDF-Katalogs verknüpft sein, mit einem AFRelationship-Wert, üblicherweise Alternative. Fehlt die Verknüpfung, ist die XML nur ein beliebiger Anhang und viele Programme ignorieren sie.

In den XMP-Metadaten deklariert die Datei Profil und Dateinamen. So sieht der Block für das Profil EN 16931 aus:

<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>

Weil fx kein vordefinierter Namensraum ist, muss das PDF zusätzlich ein PDF/A-Erweiterungsschema für diese Eigenschaften enthalten. Fehlt es, meldet schon veraPDF einen Fehler.

Das deklarierte Profil muss zum Profil in der XML passen. Dort steht es in BT-24 unter rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:ID:

ProfilWert in BT-24
MINIMUMurn:factur-x.eu:1p0:minimum
BASIC WLurn:factur-x.eu:1p0:basicwl
BASICurn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic
EN 16931urn:cen.eu:en16931:2017
EXTENDEDurn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended
XRECHNUNGurn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0

Steht in BT-24 MINIMUM oder BASIC WL, ist die Datei umsatzsteuerlich keine E-Rechnung, auch wenn alle technischen Prüfungen bestanden sind.

Schritt 3: XML gegen das CII-Schema prüfen

Die eingebettete XML folgt der Syntax UN/CEFACT CII mit dem Wurzelelement rsm:CrossIndustryInvoice und dem Namensraum urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100. Für jedes Profil gibt es ein eigenes XSD-Schema. Häufige Schemafehler:

  • Die XML ist nicht wohlgeformt, etwa wegen eines nicht geschlossenen Elements (SCHEMA-001).
  • Namensraum oder Wurzelelement sind falsch (SCHEMA-002).
  • Elemente stehen in falscher Reihenfolge. CII schreibt die Reihenfolge streng vor.
  • Datumswerte weichen vom Format ab: udt:DateTimeString mit format="102" erwartet JJJJMMTT, also zum Beispiel 20260928.
  • Die Datei enthält Elemente, die das deklarierte Profil nicht kennt, etwa EXTENDED-Felder in einer Datei im Profil EN 16931.

Solche Fehler sind Formatfehler im Sinne des BMF-Schreibens. Die Datei gilt dann nicht als E-Rechnung.

Schritt 4: Geschäftsregeln per Schematron prüfen

Schematron-Regeln prüfen die Logik der Rechnung: Pflichtfelder, Rechenwege, Steuerkategorien und Codes. Für ZUGFeRD gelten die Regeln der EN 16931, zum Beispiel BR-CO-10 für die Summe der Positionsnettobeträge (BT-106) oder BR-CO-15 für den Gesamtbetrag inklusive Umsatzsteuer (BT-112 = BT-109 + BT-110). Im Profil XRECHNUNG kommen die deutschen Regeln der KoSIT hinzu, etwa BR-DE-15: Die Käuferreferenz BT-10 muss angegeben sein.

Für diesen Schritt können Sie unseren ZUGFeRD Validator nutzen. Laden Sie die extrahierte XML hoch. Der Viewer prüft sie mit den offiziellen EN-16931- und XRechnung-Regeln der KoSIT und erklärt jede Meldung. Alle Codes finden Sie auch in unserer Übersicht der XRechnung Fehlercodes. Wichtig bei der Auswertung: Meldungen mit dem Präfix BR-DE betreffen nur XRechnung. Prüfen Sie eine Datei im Profil EN 16931 für einen Geschäftskunden, sind diese Meldungen nicht maßgeblich. Die Regeln der EN 16931 gelten dagegen immer.

Mehr zu den häufigsten Regelverstößen und ihrer Behebung lesen Sie im Beitrag XRechnung-Fehler beheben.

Schritt 5: PDF und XML abgleichen

Automatische Validatoren vergleichen das Rechnungsbild in der Regel nicht mit der XML. Diesen Abgleich machen Sie selbst. Die Übersicht im ZUGFeRD-Extraktor zeigt die wichtigsten Werte aus der XML, die Sie neben das PDF legen können:

  • BT-1 Rechnungsnummer und BT-2 Rechnungsdatum
  • BT-31 Umsatzsteuer-Identifikationsnummer des Verkäufers
  • BT-109 Nettobetrag, BT-110 Umsatzsteuer und BT-112 Bruttobetrag
  • BT-9 Fälligkeitsdatum und BT-84 Kontonummer (IBAN)

Nach Abschnitt 14c.1 Abs. 4a UStAE kann ein Bildteil mit abweichenden Rechnungsangaben, etwa einem anderen Steuerbetrag, eine weitere Rechnung darstellen. Dann droht eine Steuerschuld nach § 14c UStG. Rundungsdifferenzen und aus Platzgründen verkürzte Leistungsbeschreibungen beanstandet die Finanzverwaltung nicht.

Schritt 6: Pflichtangaben und Inhalt prüfen

Eine bestandene Validierung beweist nicht, dass die Rechnung inhaltlich richtig ist. Das BMF nennt als Beispiel einen falschen Steuersatz: Wenn die Beträge dazu rechnerisch passen, meldet kein Validator einen Fehler. Prüfen Sie deshalb die Angaben nach § 14 Abs. 4 UStG, etwa Leistungszeitpunkt, Menge und Art der Leistung, Entgelt nach Steuersätzen und bei steuerfreien Umsätzen oder § 13b UStG den entsprechenden Hinweis. Unser Werkzeug zum Pflichtangaben prüfen geht diese Punkte mit Ihnen durch. Die Validierung ersetzt nach dem BMF ausdrücklich nicht die Pflicht des Empfängers, die Rechnung auf Vollständigkeit und Richtigkeit zu prüfen; sie unterstützt ihn dabei.

Welche Werkzeuge prüfen was?

WerkzeugPrüftPrüft nichtForm
ZUGFeRD-Extraktor (docutools.pro)findet und extrahiert die XML, zeigt Anhänge und RechnungsübersichtPDF/A, SchematronBrowser
XRechnung Viewer (docutools.pro)XML (CII und UBL) gegen KoSIT-Regeln, Darstellung, FehlererklärungenPDF/A-3, XMPBrowser, Upload der XML
Mustang-ValidatorPDF/A über veraPDF, XML-Schema, Schematron der EN 16931 und von ZUGFeRDPflichtangaben im EinzelfallJava, Kommandozeile
veraPDFalle PDF/A-StufenRechnungsinhaltDesktop und Kommandozeile
KoSIT-ValidatorXML gegen XRechnung-Konfiguration (Schema und Schematron)PDF-TeilJava, Kommandozeile

Das Mustang-Projekt (öffnet in neuem Tab) steht unter der Apache-Lizenz 2.0 und prüft ein ZUGFeRD-PDF in einem Aufruf:

java -Xmx1G -Dfile.encoding=UTF-8 -jar Mustang-CLI-2.26.0.jar --no-notices --action validate --source rechnung.pdf

Den KoSIT-Validator setzen Sie für das Profil XRECHNUNG ein, und zwar auf die extrahierte xrechnung.xml, nicht auf das PDF.

Häufige Fehler und ihre Behebung

SymptomUrsacheLösung
Keine eingebettete XML gefundenPDF über einen PDF-Drucker erzeugt oder nachträglich bearbeitetDatei im Rechnungsprogramm neu erzeugen, ZUGFeRD-PDFs nicht nachbearbeiten
Anhang heißt invoice.xml o. Ä.falsche ExporteinstellungDateinamen laut Profil verwenden
XMP-Profil passt nicht zu BT-24Metadaten fest hinterlegtProfil an einer Stelle konfigurieren
Schrift nicht eingebettet, OutputIntent fehltExport ohne PDF/A-EinstellungPDF/A-3-Export aktivieren
Profil MINIMUM oder BASIC WLBuchungshilfe statt RechnungProfil EN 16931 verwenden
BR-DE-Meldungen bei Profil EN 16931XRechnung-Regeln mitgeprüftim B2B unbeachtlich, sofern der Kunde keine XRechnung verlangt
BR-CO-10 oder BR-CO-15Rundung je Position weicht von der Summe abSummen aus den gerundeten Positionsbeträgen bilden

Was bedeuten Prüffehler umsatzsteuerlich?

Das BMF-Schreiben vom 15.10.2025 unterscheidet drei Fehlerarten:

FehlerartBeispielFolge
Formatfehler (Rn. 6a)XML entspricht nicht der zulässigen Syntaxkeine E-Rechnung, sondern sonstige Rechnung
Geschäftsregelfehler (Rn. 6b)fehlende BT-10 in einer XRechnung, Steuerbetrag passt nicht zum Steuersatzzu Angaben ohne umsatzsteuerliche Bedeutung unbeachtlich
Inhaltsfehler (Rn. 35a)fehlende oder falsche Pflichtangabe nach §§ 14 Abs. 4, 14a UStGRechnung nicht ordnungsmäßig, Vorsteuerabzug gefährdet

Ob ein reiner PDF/A-Mangel bei korrekter XML umsatzsteuerlich schadet, regelt das Schreiben nicht ausdrücklich. Maßgeblich für die E-Rechnung ist der strukturierte Teil. Beheben Sie PDF/A-Fehler trotzdem, denn Eingangssysteme können solche Dateien zurückweisen.

Validierungsbericht aufbewahren

Ein Unternehmer darf sich laut BMF bei Beachtung der kaufmännischen Sorgfalt auf das technische Ergebnis einer geeigneten Validierungsanwendung verlassen, bezogen auf Format und Geschäftsregeln. Als Nachweis empfiehlt das BMF, den Validierungsbericht aufzubewahren. Legen Sie ihn zur Rechnung ins Archiv, für dieselbe Frist von acht Jahren. Wie Sie E-Rechnungen und Belege ordnungsgemäß ablegen, beschreibt der Beitrag E-Rechnung archivieren.

Prüfen Sie ausgehende Rechnungen vor dem Versand und eingehende beim Empfang. Nach jedem Update Ihres Rechnungsprogramms lohnt eine Testrechnung, weil sich Ausgabeformat und Codelisten ändern können. Weitere Anleitungen zu Prüfung und Fehlermeldungen finden Sie in der Kategorie Validierung und Fehler.

Schlagwörter:ZUGFeRDValidierungPDF/A-3veraPDFSchematron

Tools zu diesem Artikel

Häufige Fragen

Wie kann ich eine ZUGFeRD-Rechnung kostenlos prüfen?

Für die PDF/A-3-Prüfung nutzen Sie das quelloffene veraPDF. Die eingebettete XML ziehen Sie mit dem ZUGFeRD-Extraktor von docutools.pro heraus und prüfen sie im XRechnung Viewer gegen die offiziellen Regeln der KoSIT. Eine Gesamtprüfung von PDF/A, Schema und Schematron in einem Lauf bietet der ebenfalls kostenlose Mustang-Validator als Java-Kommandozeilenprogramm.

Was ist der Unterschied zwischen veraPDF und dem Mustang-Validator?

veraPDF prüft ausschließlich, ob ein PDF der Norm PDF/A entspricht, etwa eingebettete Schriften und Farbprofile. Den Inhalt der Rechnungs-XML bewertet es nicht. Der Mustang-Validator prüft zusätzlich die eingebettete XML gegen Schema und Schematron-Regeln der EN 16931 und von ZUGFeRD. Für die PDF/A-Prüfung greift Mustang selbst auf veraPDF zurück.

Ist eine ZUGFeRD-Rechnung mit Validierungsfehlern ungültig?

Das hängt von der Fehlerart ab. Nach dem BMF-Schreiben vom 15.10.2025 macht ein Formatfehler die Datei zur sonstigen Rechnung, sie ist dann keine E-Rechnung. Geschäftsregelfehler zu Angaben ohne umsatzsteuerliche Bedeutung, etwa eine fehlende BT-10, sind unbeachtlich. Fehlen Pflichtangaben nach § 14 Abs. 4 UStG, ist die Rechnung nicht ordnungsmäßig und der Vorsteuerabzug gefährdet.

Kann ich eine ZUGFeRD-Rechnung mit dem KoSIT-Validator prüfen?

Nur den XML-Teil. Der KoSIT-Validator verarbeitet XML-Dateien, keine PDFs. Die XRechnung-Konfiguration enthält neben den XRechnung-Szenarien auch reine EN-16931-Szenarien, die zum ZUGFeRD-Profil EN 16931 passen, und prüft das Profil XRECHNUNG mit den XRechnung-Regeln. Extrahieren Sie dafür zuerst die eingebettete XML-Datei aus dem PDF. Die PDF/A-3-Konformität und die XMP-Metadaten prüfen Sie getrennt, etwa mit veraPDF oder Mustang.

Warum meldet der Validator Fehler, obwohl das PDF richtig aussieht?

Weil der Validator die eingebettete XML prüft und nicht das Rechnungsbild. PDF und XML werden in vielen Programmen getrennt erzeugt und können voneinander abweichen, etwa bei Rundungen oder fehlenden Feldern. Nach dem BMF-Schreiben vom 15.10.2025 ist bei hybriden Rechnungen der XML-Teil führend. Korrigieren Sie deshalb die Datenquelle und erzeugen Sie die Datei neu.

ThemenseiteMehr zu Validierung & FehlerE-Rechnungen gegen die KoSIT-Regeln prüfen und Validierungsfehler verstehen und beheben, mit konkreten Lösungen je Regel.