Kostenloses Tool · ZUGFeRD · Factur-X

ZUGFeRD Validator

Prüfen Sie eine ZUGFeRD- oder Factur-X-Rechnung: das PDF auf PDF/A-3, die eingebettete Rechnungsdatei mit ihren XMP-Metadaten und die XML gegen die EN 16931, beim Profil XRECHNUNG auch gegen die XRechnung-Regeln.

Ist ein Format gewählt, meldet das Ergebnis zusätzlich einen Fehler, wenn die Datei ein anderes Format angibt.

Die Datei wird nur für diese Prüfung an die vatcheckapi-API übertragen, dort flüchtig verarbeitet und nie gespeichert. Technische Prüfung, keine Steuerberatung.

Was der ZUGFeRD-Validator prüft

ZUGFeRD und Factur-X beschreiben dasselbe hybride Format: ein PDF/A-3, das die Rechnung zusätzlich als strukturierte XML-Datei (UN/CEFACT CII) enthält. Geprüft werden beide Teile und ihr Zusammenspiel:

  1. PDF/A-3: Das PDF muss PDF/A-3 erfüllen. Die Prüfung übernimmt veraPDF; jeder verletzte Abschnitt erscheint als PDFA-<Abschnitt>-<Test>.
  2. Eingebettete Datei: der Dateiname, den das Profil verlangt (meist factur-x.xml), die Beziehung AFRelationship (Data, Source oder Alternative), die Verknüpfung im AF-Array des Dokuments und der MIME-Typ text/xml.
  3. XMP-Metadaten: Das PDF muss XMP-Metadaten mit ZUGFeRD-/Factur-X-Angaben haben. Geprüft wird, dass DocumentFileName die eingebettete Datei nennt und ConformanceLevel zum Profil der XML passt; außerdem muss das XMP das PDF als PDF/A-3 ausweisen.
  4. XML: XML-Schema der CII und die Geschäftsregeln der EN 16931, beim Profil XRECHNUNG zusätzlich die nationalen XRechnung-Regeln (BR-DE-…).

Unterstützte Profile

ProfilStatus
EN 16931 (COMFORT)geprüft: PDF/A-3, Container, Schema, EN 16931
XRECHNUNGgeprüft: wie EN 16931, dazu die XRechnung-Regeln
BASIC, EXTENDED, Factur-X EXTENDED-CTC-FRerkannt, noch nicht geprüft
MINIMUM, BASIC WLerkannt, nicht geprüft; in Deutschland keine E-Rechnung
ZUGFeRD 1.0erkannt, nicht geprüft

Nicht geprüfte Profile meldet das Ergebnis mit UNSUPPORTED_PROFILE. Eine reine XML-Rechnung, etwa eine XRechnung in UBL, prüfen Sie am besten mit „Prüfen als: Automatisch erkennen“ oder im XRechnung Validator.

Häufige Fehler

  • NO_EINVOICE_XML: Das PDF enthält keine Rechnungsdatei. Ein normales PDF ist keine E-Rechnung.
  • HYBRID_ATTACHMENT_NAME: Die eingebettete Datei heißt anders, als das Profil verlangt; die Meldung nennt den erwarteten Namen.
  • HYBRID_AF_RELATIONSHIP, HYBRID_NOT_ASSOCIATED: Die Datei ist nicht korrekt mit dem Dokument verknüpft.
  • XMP_MISSING: Das PDF hat keine XMP-Metadaten.
  • XMP_FACTURX_MISSING: In den XMP-Metadaten fehlen die ZUGFeRD-/Factur-X-Angaben.
  • XMP_DOCUMENT_FILE_NAME, XMP_CONFORMANCE_LEVEL: Die XMP-Metadaten nennen eine andere Datei oder ein anderes Profil als die eingebettete XML.
  • PDFA_NOT_DECLARED, PDFA_NOT_PDFA3 und PDFA-…: Das PDF ist kein (gültiges) PDF/A-3.
  • PDF_ENCRYPTED: Verschlüsselte PDFs erlaubt PDF/A-3 nicht.

Fehler der Geschäftsregeln in der XML (BR-…, BR-CO-…) melden die Regelwerke auf Englisch, die XRechnung-Regeln (BR-DE-…) auf Deutsch. Mit „Prüfbericht herunterladen“ speichern Sie das vollständige Ergebnis als JSON.

ZUGFeRD per API prüfen

curl "https://api.vatcheckapi.com/v2/einvoice/validate?format=zugferd&language=de" \
    -H "apikey: YOUR-API-KEY" \
    -H "Content-Type: application/pdf" \
    --data-binary @rechnung.pdf

Ein ZUGFeRD-PDF, dessen Rechnung geprüft wurde, zählt als 2 Anfragen; ein PDF ohne lesbare Rechnungsdatei als 1; nicht unterstützte Profile zählen nicht. Details in der Dokumentation (englisch). Die Prüfung läuft unverändert mit dem KoSIT-Validator und der XRechnung-Konfiguration der KoSIT (Apache License 2.0), den EN-16931-Validierungsartefakten von CEN und Europäischer Kommission (EUPL 1.2) und veraPDF für PDF/A (Mozilla Public License 2.0). Das Ergebnis ist eine technische Prüfung, keine Steuerberatung.

Häufige Fragen

Wie prüfe ich eine ZUGFeRD-Rechnung?

Ziehen Sie das PDF in das Feld oder wählen Sie es aus (höchstens 10 MB) und klicken Sie auf „Rechnung prüfen“. Das Tool sucht die eingebettete Rechnungsdatei, prüft sie gegen die Regelwerke und das PDF auf PDF/A-3. Eine PDF-Prüfung dauert einige Sekunden.

Welche ZUGFeRD-Profile werden geprüft?

Geprüft werden die Profile EN 16931 (COMFORT) und XRECHNUNG. MINIMUM, BASIC WL, BASIC, EXTENDED und Factur-X EXTENDED-CTC-FR sowie ZUGFeRD 1.0 werden erkannt, aber noch nicht geprüft: Für sie fehlen noch die profilspezifischen Regeln. Das Ergebnis meldet dann UNSUPPORTED_PROFILE.

Gelten MINIMUM und BASIC WL als E-Rechnung?

Nach dem BMF-Schreiben vom 15. Oktober 2025 nicht: In Deutschland zählt ZUGFeRD ab Version 2.0.1 als E-Rechnung, ausgenommen die Profile MINIMUM und BASIC WL. Das Tool weist mit PROFILE_NOT_EINVOICE_DE darauf hin.

Was bedeutet „Keine E-Rechnungs-XML gefunden“ (NO_EINVOICE_XML)?

Das PDF enthält keine eingebettete ZUGFeRD-, Factur-X- oder XRechnung-Datei. Ein gewöhnliches PDF ist keine E-Rechnung, auch wenn es wie eine Rechnung aussieht.

Kann ich auch nur die XML-Datei prüfen?

Ja. Laden Sie die extrahierte XML hoch (meist factur-x.xml). Eine CII-Rechnung nach EN 16931 gilt bei „Prüfen als ZUGFeRD / Factur-X“ als passend. PDF/A und Container werden dann natürlich nicht geprüft.

Werden meine Rechnungen gespeichert?

Nein. Die Datei wird nur für diese Prüfung an die vatcheckapi-API übertragen und dort flüchtig verarbeitet: Sie wird nie gespeichert, ihr Inhalt landet in keinem Log, und auch das Ergebnis wird nicht gespeichert.

Ist das Ergebnis eine steuerliche Prüfung?

Nein. Das Tool prüft technisch, ob die Datei den Regelwerken entspricht, nicht ob die Rechnung inhaltlich und steuerlich richtig ist. Es ist keine Steuer- oder Rechtsberatung.

API zur E-Rechnungsprüfung

ZUGFeRD-Rechnungen direkt in Ihrer Software prüfen

Die vatcheckapi-API prüft ZUGFeRD / Factur-X, XRechnung und EN 16931 und liefert das Ergebnis als JSON, mit jeder Regel-ID und dem PDF/A-Ergebnis. Senden Sie das PDF als Request-Body, als Upload oder Base64-kodiert als JSON.

/v2/einvoice/validate Dokumentation E-Rechnungs-API (englisch) Gesamte Dokumentation

150 kostenlose Anfragen pro Monat. Ein ZUGFeRD-PDF zählt als 2 Anfragen, eine XML-Rechnung als 1. Keine Kreditkarte nötig.

POST https://api.vatcheckapi.com/v2/einvoice/validate?format=zugferd&language=de

{
  "valid": true,
  "format": "zugferd",
  "syntax": "CII",
  "profile": "EN 16931",
  "version": "1.0",
  "container": "pdf",
  "pdfa": {
    "compliant": true,
    "profile": "PDF/A-3B"
  },
  "errors": [],
  "warnings": [],
  "language": "de",
  "disclaimer": "Technische Prüfung gegen die in ruleset_version genannten Regelwerke. Keine Steuer- oder Rechtsberatung."
}

Kostenlose Tools und Referenzen

Starten Sie noch heute kostenlos mit unserer API zur USt-IdNr.-Prüfung!

150 Prüfungen pro Monat kostenlos