ZUGFeRD validator

Check ZUGFeRD – free validator for PDF+XML (Factur-X)

Validate ZUGFeRD invoices (PDF with embedded XML) for free against official KoSIT rules. The XML is extracted automatically. Error messages are in German. No account, and the file is not stored.

Check a ZUGFeRD PDF now: Go to the free check

API: POST /v1/zugferd/validate and /v1/zugferd/extract

What is ZUGFeRD?

ZUGFeRD (Zentraler User Guide des Forums elektronische Rechnung Deutschland) is a hybrid format for electronic invoices. A ZUGFeRD file is a PDF/A-3 document with embedded structured XML.

The PDF stays readable by a person. The embedded XML can be processed by accounting software.

ZUGFeRD = Factur-X

  • ZUGFeRD: German name (Germany, Switzerland, Austria)
  • Factur-X: French name (France, international)

Both use the same technical specification and are compatible.

ZUGFeRD profiles: from MINIMUM to XRECHNUNG

ZUGFeRD 2.x (based on UN/CEFACT CII) has several profiles:

ProfileDescriptionE-invoice 2025?
MINIMUMMandatory fields only, no line itemsNo
BASIC WLWithout lines (WL = Without Lines)No
BASICWith invoice linesNo
EN 16931European standard, suitable for B2BYes
EXTENDEDWith extra information (for example delivery details)Yes
XRECHNUNGGerman B2G standard with Leitweg-IDYes

For the e-invoice obligation from 1 January 2025 the profiles EN 16931, EXTENDED and XRECHNUNG qualify. EXTENDED is EN 16931-compliant. MINIMUM, BASIC WL and BASIC do not meet EN 16931.

How ZUGFeRD validation works

  1. XML extraction: the embedded XML (factur-x.xml or zugferd-invoice.xml) is taken out of the PDF.
  2. Format detection: the ZUGFeRD profile and the CII syntax are recognised.
  3. KoSIT validation: the XML is checked against the official KoSIT rules (EN 16931, and XRechnung rules where they apply).
  4. Result: errors and warnings are shown in German, each with a code, a location in the XML, and a fix hint.

Which rules are checked?

EN 16931 / EXTENDED profile

  • BR rules: mandatory fields (invoice date, seller, buyer, lines, tax)
  • BR-CO rules: calculations (totals, tax sums, rounding)
  • BR-S rules: tax rules for the standard rate

XRECHNUNG profile

In addition to EN 16931:

  • BR-DE rules: German extensions (for example Leitweg-ID, payment information)
  • XRechnung 3.0.2: the German national requirements

All error codes

Typical ZUGFeRD errors

  • No embedded XML: the PDF has no factur-x.xml or zugferd-invoice.xml. Then it is not ZUGFeRD, only a PDF.
  • Wrong profile: MINIMUM, BASIC WL and BASIC do not meet EN 16931 for the e-invoice obligation. EXTENDED is accepted.
  • BR-CO-15: wrong calculation of the total amount with VAT.
  • BR-S-02: missing VAT identification number at the standard rate.

Creating and converting ZUGFeRD

This validator checks ZUGFeRD files. It does not create them. To create ZUGFeRD invoices you need accounting software with a ZUGFeRD export, an online tool or a library, or a manual XML plus PDF/A-3 embed.

ZUGFeRD versus a plain PDF

A plain PDF (no embedded XML) is not an e-invoice for the e-invoice obligation. From 2025, emailing a PDF invoice is not enough. The structured XML is required.

If you upload a PDF without XML, the validator reports: „Keine eingebettete Rechnungs-XML gefunden — das ist keine E-Rechnung.“

Questions about ZUGFeRD

Is ZUGFeRD allowed for the 2025 e-invoice obligation?

Yes, with the profiles EN 16931, EXTENDED or XRECHNUNG. EXTENDED is EN 16931-compliant and counts as an e-invoice. MINIMUM, BASIC WL and BASIC do not meet the requirement.

For B2B, do I have to use ZUGFeRD or XRechnung?

Both are allowed. ZUGFeRD has a PDF a person can read. XRechnung is XML only. XRechnung or ZUGFeRD

Can I open ZUGFeRD in the browser?

You can open the PDF in any PDF reader. The embedded XML is visible only with special software or by unpacking the PDF.

Are my ZUGFeRD files stored?

No. Validation happens in memory. After the check the file is deleted.

Validate ZUGFeRD now

Upload your ZUGFeRD PDF and check EN 16931 conformance with the official KoSIT rules.

Validate for free