ZUGFeRD Validator

Last updated: May 2026

Understanding ZUGFeRD Validation – Profiles, PDF/A-3 and Factur-X

What does a ZUGFeRD validator check? A ZUGFeRD validator checks three levels simultaneously: the enclosing PDF must comply with the PDF/A-3 standard, the embedded XML file (factur-x.xml) must comply with the Schematron rules of the selected profile, and the XMP metadata in the PDF must correctly declare the ZUGFeRD version. Only when all three shifts fit is the invoice considered compliant.
Check → file now in the online validator (free of charge, without registration)

SAP Add-On
MailCenter
Digital Communication for SAP ECC and S/4HANA
Schedule a Live Demo
SAP Add-on MailCenter

What makes a ZUGFeRD file technically

ZUGFeRD is a hybrid format: a PDF/A-3 document with an attached XML file. The PDF shows the invoice visually, the XML contains the same data in a machine-readable way. Both parts must agree in terms of content, otherwise every validator to be taken seriously will report a conflict.

The name stands for “Central User Guide of the Forum Electronic Invoice Germany”. The standard is being developed by FeRD (Forum elektronische Rechnungs Deutschland), the French sister is called Factur-X – technically identical, only with a different profile designation.

The ZUGFeRD profiles in comparison

Each ZUGFeRD invoice belongs to exactly one profile. The profile determines which fields are mandatory and which Schematron rules apply. A ZUGFeRD validator automatically recognizes the profile from the XMP metadata and then applies the appropriate rule set.

Profile Content EN 16931 compliant Typical use
MINIMUM Header and Sum Data, No Items No Accounting record, no dispatch to authorities
BASIC WL Same as BASIC, but without position data No Internal processing, cash discount data
BASIC Required fields incl. Positions Restricted Simple B2B invoices
EN 16931 (Comfort) Full scope of the European standard Yes Standard for B2B and B2G
EXTENDED EN 16931 plus additional structured fields Yes, with extensions Industry-specific requirements
XINVOICE ZUGFeRD Profile with XRechnung Rules (CIUS) Yes, with BR-DE rules Invoices to German authorities

What is really checked during validation

If you drag a ZUGFeRD file into a validator, you rarely see all the check steps in detail. Four levels run in the background:

  1. PDF/A-3 Compliance: Font embedding, ICC profiles, no JavaScript, correct tags. The test is carried out against the ISO standard 19005-3.
  2. XMP metadata: In the PDF, the entries fx:DocumentType, fx:ConformanceLevel and fx:Version must be available and match the selected profile.
  3. Attachment definition: The factur-x.xml must be appended as “Source” or “Alternative”, with the correct AFRelationship specification – otherwise the receiving system will not recognize the XML as payload.
  4. Schematron check of XML: The XML is validated against the official Schematron files of the FeRD. Each profile level has its own rules, the XRECHNUNG profile also has the German BR-DE rules from the KoSIT specification.

Mustang, KoSIT and Veraval: three validators, one standard

In German-speaking countries, three tools are common. When configured correctly, they deliver identical results, but differ in the operation and level of detail of the reports.

  • Mustang Validator: Open source library from the ZUGFeRD community, checks Schematron and PDF/A-3 in one step. Provides detailed console logs, ideal for integration into CI pipelines.
  • KoSIT Validator: The official testing software of the Federal Coordination Office for IT Standards. Necessary if invoices carry the XRECHNUNG profile and go to German authorities.
  • Veraval: French equivalent for Factur-X. Identical technical base, but French lettering and code lists tailored to French tax rules.

Common PDF/A-3 errors – and their cause

Anyone who generates invoices from generic PDF libraries stumbles across the same points over and over again:

  • XMP metadata without fx namespace: The PDF is ZUGFeRD “ready”, but the validator does not recognize the file as a hybrid format.
  • Incorrect AFRelationship: If the XML is listed as “Unspecified” in the PDF, it is considered a non-binding attachment. Correct is /Source for ZUGFeRD from version 2.x.
  • Non-embedded fonts: PDF/A-3 requires that every font used is completely inside the document. Subset embedding is enough, external references are not.
  • Encrypted or signed PDF: Encryption and some signature variants are not allowed in PDF/A-3.
  • Inconsistent values between PDF text and XML: The invoice amount in the visible PDF differs from BT-112 the amount in the XML. This is not a technical error, but a technical error – and the recipient still rejects the invoice.

ZUGFeRD with XRechnung profile: when is it identically valid?

The ZUGFeRD profile XRECHNUNG is technically a ZUGFeRD envelope with the content rules of the XRechnung. In order for such a file to pass as both ZUGFeRD and XRechnung, three conditions must be met: The XMP metadata declares the appropriate XRechnung profile, the XML complies with all BR-DE rules from the KoSIT specification, and the PDF also complies with PDF/A-3. In practice, this is particularly worthwhile for invoices to authorities, where the receiving portal accepts both.

Versions of ZUGFeRD at a glance

You can find a complete version history on our ZUGFeRD overview page. The most important releases at a glance:

  • 1.0 (June 2014) – first productive version
  • 2.0 (March 2019) – Alignment with EN 16931, new profile structure
  • 2.1 (March 2020) – identical in content to Factur-X 1.0
  • 2.2 (March 2022) – Expansions for the European market
  • 2.3.3 (May 2025) – current mandatory version in many administrations
  • 2.4 (December 2025) – Profile EXTENDED extended
  • 2.5 (planned May 2026) – Adjustments for Peppol-BIS compatibility

How to use our ZUGFeRD Validator

Drag your ZUGFeRD file (PDF/A-3 with embedded XML) or a pure factur-x.xml into the upload field of our online validator. Within a few seconds, you will receive a test report with a detected profile, Schematron violations found and an indication of whether the PDF/A-3 is compliant. The file does not leave our EU infrastructure and is deleted after the check.

Check → ZUGFeRD file online now

Would you like to send and receive ZUGFeRD directly from SAP? Take a look at our SAP solution for e-invoicing.

Lukas Weger

Lukas Weger

Digital Marketing Manager

Efficient communication begins where SAP meets our solutions