Factur-X and ZUGFeRD validator
Check the structured invoice data embedded in a Factur-X or ZUGFeRD PDF against the official schema and the EN 16931 rules, and see clearly what is not covered.
Drop an e-invoice here
XML (XRechnung, Peppol BIS, UBL, CII) or PDF with embedded XML (ZUGFeRD, Factur-X)
No file at hand? Try a sample:
- Nothing is uploaded — the file is read in this browser tab
- Official EN 16931 (CEN) and XRechnung (KoSIT) rules
- Every error explained in plain language, with the fix
How to validate a Factur-X invoice
- 1Drop the Factur-X or ZUGFeRD PDF, or the bare XML, onto the field above.
- 2The embedded XML is extracted and the profile is detected automatically.
- 3Read the report: schema errors first, then EN 16931 rule findings with rule ID, message, XPath and the highlighted XML.
- 4Correct the source data in your invoicing software, generate the PDF again and re-check the new file.
France: the timetable
Under article 289 bis of the French tax code (CGI), e-invoicing between VAT-registered businesses in France is being phased in. According to the DGFiP’s practical guide:
- 1 September 2026 – every business must be able to receive e-invoices; large and mid-sized companies (GE and ETI) must also issue them.
- 1 September 2027 – SMEs and micro-businesses must issue e-invoices as well.
Invoices are exchanged through a plateforme agréée (PA), a platform approved by the tax authority, which also handles e-reporting of transaction and payment data. Factur-X is one of the three base formats of the reform, alongside UBL and CII. See the guide to e-invoicing in France.
What we check
- The XML embedded in the PDF is found and extracted
- The XML against the UN/CEFACT CII D16B schema
- The complete EN 16931 core rules for CII (CEN/TC 434 validation artefacts 1.3.16), including VAT and calculation rules such as BR-CO-10, BR-CO-15 and BR-S-08
- For ZUGFeRD files in the XRECHNUNG profile, the German BR-DE-* rules as well
What we do not check
A validator is only useful if you know its limits. These checks are not part of the report:
- PDF/A-3 conformance of the visible PDF, and the XMP metadata that declares the Factur-X profile
- The profile-specific schematrons published by FNFE-MPE for each Factur-X profile
- French rules applied by plateformes agréées, including the additional mandatory information introduced by the reform
- Whether the visible PDF matches the XML. For that, use the Factur-X viewer and compare the two yourself
The MINIMUM and BASIC WL profiles are not complete EN 16931 invoices. Findings against the EN 16931 rules are expected for them and should be read in that light.
Reading the report
Each finding shows the official rule ID, the message from the rule set, the XPath location, the relevant XML highlighted and, for around 60 frequent rules, an explanation with a suggested fix. The versions of the rule sets used are printed at the top of the report.
Privacy
The PDF is opened and checked inside your browser. It is never uploaded and there is no server-side processing. The only network requests are for this page and the official rule files, the same for everybody. Nothing is stored; closing the tab discards the data. No account is needed.
Frequently asked questions
Will my plateforme agréée accept an invoice that passes here?
Not necessarily. Each PA applies its own controls, including French-specific rules this tool does not include. A clean report here means the EN 16931 part is sound, which removes the most common causes of rejection.
Are Factur-X and ZUGFeRD the same?
Technically yes. Both are maintained jointly by FNFE-MPE and FeRD and share the same specification. The German XRECHNUNG profile exists only in ZUGFeRD.
Why is the PDF/A-3 part not checked?
Reliable PDF/A validation is a large task in its own right and not yet available in the browser to the standard we want. We prefer to say so rather than give an incomplete result.
Which version of Factur-X is supported?
Factur-X 1.x and ZUGFeRD 2.x, as currently published by FNFE-MPE. ZUGFeRD 1.0 is not supported.
Can I check a UBL invoice here as well?
Yes. Any EN 16931 invoice in UBL or CII is accepted. For Peppol-specific checks, use the Peppol invoice validator.
Sources
- DGFiP – Guide pratique de la facturation électronique (French) (checked 2026-10-28)
- economie.gouv.fr – e-invoicing for businesses (French) (checked 2026-10-28)
- FNFE-MPE – Factur-X (checked 2026-10-28)
- CEN/TC 434 – EN 16931 validation artefacts (checked 2026-10-28)
Last reviewed 28 October 2026