Account
English

ZUGFeRD Validator

Upload a ZUGFeRD PDF. We extract the embedded XML, detect the profile and validate it with the official KoSIT validator used by German authorities.

Files are processed in memory and never stored.

What is checked

ZUGFeRD and the German e-invoice obligation

Since 1 January 2025 every German business must be able to receive electronic invoices from other businesses; a PDF with an embedded ZUGFeRD XML counts, a plain PDF does not. Issuing becomes mandatory on 1 January 2027 for companies above €800,000 turnover and on 1 January 2028 for everyone else. The legal yardstick is EN 16931 together with the German national rules (BR-DE), which is exactly what this validator applies.

ZUGFeRD is the format most German accounting and ERP products emit by default because it keeps a human-readable PDF for the archive. Under GoBD the XML part is the legally relevant invoice, so it must be archived unchanged and it must be correct: a broken XML inside a perfect-looking PDF is still a defective invoice and can cost the input VAT deduction.

The same specification is published in France as Factur-X. If your files come from French suppliers or go to Chorus Pro, use that page; the French profile notes and platform rules differ.

Typical errors and what they mean

RuleMeaningWho fixes it
BR-CO-15Invoice total with VAT ≠ total without VAT + VAT amountSender (rounding in their software)
BR-S-08 / BR-CO-17VAT breakdown does not match line amountsSender
BR-DE-15Buyer reference (Leitweg-ID) missing (XRechnung profile only)Sender needs your reference
BR-08 / BR-10Seller or buyer postal address missingSender
no scenario matchedUnknown or outdated profile identifierSender uses an old ZUGFeRD version

If the sender disputes the result, send them the rule ID and the XPath shown in the report. Their invoicing software vendor will know what to do with it.

Frequently asked questions

Is ZUGFeRD 1.0 still valid?

No. ZUGFeRD 1.0 predates EN 16931 and is not a compliant e-invoice under the German rules effective 2025. The tool still opens such files for viewing but marks them as legacy. Ask the sender for ZUGFeRD 2.x or XRechnung.

ZUGFeRD and Factur-X: same thing?

Technically yes. ZUGFeRD 2.1 and later and Factur-X 1.0 and later are the same specification maintained jointly by FeRD (Germany) and FNFE-MPE (France). The embedded file is named factur-x.xml in both.

Why does my PDF pass in one tool and fail here?

Many simple tools only check that the XML is well-formed. This validator runs the full schematron rule set used by the German authorities. A file that fails here will also fail at a public invoice portal or a strict ERP import.

Developers: same engine as an API

curl -F file=@invoice.pdf https://einvoicechecker.com/v1/validate
curl -F file=@invoice.xml https://einvoicechecker.com/v1/parse
curl -F file=@invoice.xml "https://einvoicechecker.com/v1/render?lang=en" -o invoice.html