Zurück zum Blog
E-Rechnung 14 Min. LesezeitVeröffentlicht am 15. Mai 2025· Aktualisiert am 20. Mai 2025

ZUGFeRD-PDF validieren – Schritt-für-Schritt-Anleitung

So prüfen Sie eine ZUGFeRD-Datei auf Konformität: PDF/A-3-Prüfung, XMP-Metadaten, CII-XML-Validierung und typische Fehler – mit kostenlosen Tools erklärt.

docutools.pro Editorial Team

docutools.pro Editorial Team

Redaktion

Eine ZUGFeRD-Datei ist technisch gesehen ein PDF/A-3-Dokument mit einer eingebetteten CII-XML-Datei. Entsprechend sind bei der Validierung mehrere Schichten zu prüfen: Ist das PDF technisch ein gültiges PDF/A-3? Sind die XMP-Metadaten korrekt? Ist die XML-Datei eingebettet und gültig? Erfüllt das XML-Profil die EN-16931-Anforderungen? Diese Anleitung führt Sie durch alle Prüfschritte mit kostenlosen Tools.

Überblick: Was eine gültige ZUGFeRD-Datei ausmacht

  • PDF/A-3-Konformität: Das Dokument muss ISO 19005-3 (PDF/A-3) entsprechen – alle Schriften eingebettet, keine externen Abhängigkeiten, kein JavaScript.
  • Korrekte XMP-Metadaten: Der PDF-Katalog muss XMP-Metadaten mit korrekter FacturX-Conformance-Level und DocumentType-URI enthalten.
  • Eingebettete XML-Datei: Eine Datei namens factur-x.xml (ZUGFeRD 2.x) oder ZUGFeRD-invoice.xml (ZUGFeRD 1.0) muss im PDF-Anhang vorhanden sein.
  • AFRelationship-Attribut: Die eingebettete Datei muss mit AFRelationship = Alternative gekennzeichnet sein.
  • XML-Schema-Konformität: Die CII-XML-Datei muss dem Schema des deklarierten Profils entsprechen.
  • EN-16931-Schematron (ab Profil EN 16931): Die CII-XML-Datei muss alle EN-16931-Geschäftsregeln bestehen.

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

veraPDF (verapdf.org) ist der offizielle Open-Source-Validator für PDF/A. Er ist kostenlos, als Desktop-Anwendung und als Kommandozeilentool verfügbar und unterstützt alle PDF/A-Profile bis PDF/A-3.

  1. veraPDF von verapdf.org herunterladen und installieren.
  2. veraPDF öffnen und die ZUGFeRD-Datei per Drag-and-drop oder Dateiauswahl laden.
  3. Wählen Sie als Validierungsprofil: PDF/A-3b (für die Basiskonformität) oder PDF/A-3u (für Unicode-Konformität).
  4. Validierung starten. veraPDF zeigt Details zu jedem Fehler mit Seitenreferenz und technischer Beschreibung.
  5. Häufige Fehler: Nicht eingebettete Schriften (font not embedded), Farbprofile fehlen (OutputIntent missing), externe URL-Referenzen.

Schritt 2: XMP-Metadaten prüfen

Die XMP-Metadaten enthalten die Profil-Deklaration der ZUGFeRD-Datei. Sie können die XMP-Metadaten mit Adobe Acrobat (Datei > Eigenschaften > Beschreibung > Zusätzliche Metadaten) oder mit einem Tool wie ExifTool (exiftool.org) extrahieren und lesen. Für ZUGFeRD 2.1 EN 16931 müssen die Metadaten enthalten:

  • fx:ConformanceLevel: EN 16931
  • fx:DocumentType: INVOICE
  • fx:DocumentFileName: factur-x.xml
  • fx:Version: 1.0 (für Factur-X / ZUGFeRD 2.1)

Schritt 3: XML-Datei aus dem PDF extrahieren

Die eingebettete CII-XML-Datei müssen Sie extrahieren, bevor Sie sie validieren können. So geht es:

  • Adobe Acrobat Reader: Ansicht > Anzeige-Navigation > Anhänge > Rechtsklick auf factur-x.xml > Speichern.
  • Foxit Reader: Ansicht > Navigation > Anhänge > Datei auswählen > Speichern.
  • Python (pikepdf): import pikepdf; pdf = pikepdf.open('rechnung.pdf'); xml = pdf.attachments['factur-x.xml'].read_bytes().
  • Alternativ: Laden Sie die ZUGFeRD-PDF in unseren Viewer – er extrahiert und zeigt die XML-Komponente automatisch.

Schritt 4: CII-XML gegen EN 16931 validieren

Die extrahierte factur-x.xml-Datei muss gegen das CII-Schema und die EN-16931-Schematron-Regeln validiert werden. Verwenden Sie einen der folgenden Ansätze:

  • Ecosio Validator (ecosio.com/de/peppol-und-xml-validator): Online-Validator für ZUGFeRD- und XRechnung-Dateien, kostenlos für Einzeldokumente.
  • Mustang Project (GitHub: ZUGFeRD/mustangproject): Java-basiertes Open-Source-Tool zur ZUGFeRD-Validierung und -Erzeugung.
  • KoSIT-Online-Validator (validator.kosit.de): Für ZUGFeRD-XRECHNUNG-Profil zusätzlich die CIUS-DE-Regeln prüfen.
  • Unser XRechnung-Viewer: Unterstützt die Extraktion und Validierung der XML-Komponente aus ZUGFeRD-PDFs.

Häufige ZUGFeRD-Validierungsfehler und ihre Lösung

  • Falscher Dateiname: Die eingebettete XML-Datei heißt nicht factur-x.xml. Lösung: Benennen Sie die Datei vor dem Einbetten korrekt.
  • Fehlendes AFRelationship-Attribut: Das Anhang-Dictionary fehlt das AFRelationship-Schlüssel mit Wert Alternative. Lösung: PDF-Erstellungsbibliothek konfigurieren.
  • Falsche Conformance-Level in XMP: Die XMP-Metadaten geben ein anderes Profil an als das, das das XML tatsächlich erfüllt. Lösung: XMP-Metadaten und XML-Profil konsistent halten.
  • PDF nicht PDF/A-3: Das PDF wurde als normales PDF oder PDF/A-1/2 erstellt. Lösung: PDF-Erstellung auf PDF/A-3 umstellen.
  • XML entspricht nicht dem deklarierten Profil: z. B. MINIMUM-XMP-Metadata, aber EN-16931-Pflichtfelder fehlen im XML. Lösung: XML-Schema für das korrekte Profil verwenden.

PDF-Inhalt und XML-Inhalt auf Konsistenz prüfen

Eine häufig übersehene, aber rechtlich wichtige Prüfung: Stimmen die Beträge, Namen und Rechnungsnummern, die im PDF sichtbar sind, mit den Werten in der eingebetteten XML-Datei überein? Bei Diskrepanzen gilt rechtlich das XML als maßgeblich (es ist das strukturierte, maschinenlesbare Dokument) – aber die Abweichung kann zu Streitigkeiten führen. Prüfen Sie mindestens: Rechnungsnummer, Gesamtbetrag, Steuerbetrag und Fälligkeitsdatum.

Integrieren Sie die ZUGFeRD-Validierung in Ihre Rechnungsausgangsprüfung: Jede erzeugte ZUGFeRD-Datei sollte vor dem Versand validiert werden. Eine einmalige Validierung bei der Einführung einer neuen Software-Version reicht nicht – Updates können die Ausgabequalität verändern.

ZUGFeRDValidierungPDF/A-3Factur-XTutorialCIIveraPDF