Check your e-invoice

Upload a ZUGFeRD, Factur-X or XRechnung file and see whether it passes — the PDF/A-3 container, the XML schema and every applicable EN 16931 business rule, with the exact rule codes.

  • Free
  • No sign-up
  • Several files in a row
  • Your file is not stored
Drop a file here, or click to choose PDF or XML, up to 5 MB

Checked in three steps

1 Choose a file

Drag your invoice into the box above or click it. PDF invoices with embedded XML and standalone XML files up to 5 MB are accepted.

2 Wait for the check

The validator opens the container, checks the XML against the schema and then runs every applicable EN 16931 business rule. It usually takes a few seconds.

3 Read the report

You get the verdict, the detected profile and every rule that fired, with its code. Fix the cause, upload again — as many times as one document needs.

What is actually checked

A file that opens correctly in a PDF reader can still be invalid. Validation happens in three layers, and each one catches a different class of problem.

The container

Is it really PDF/A-3 — fonts embedded, metadata present, and the invoice XML attached with the correct relationship?

The structure

Is the embedded CII XML valid against its schema: every element in place, correct data types, mandatory fields present?

The meaning

Do the EN 16931 business rules pass — do the VAT totals add up, is every required justification given?

A longer explanation of all three layers is in how validation works.

What runs the check

The validator

Mustang 2.26.0, released 25 August 2026 — the open-source validator a large part of this industry relies on. It checks against the Schematron rules of EN 16931, the format rules of ZUGFeRD and Factur-X and, for the container, against PDF/A-3 with veraPDF.

Where your file is processed

On our own server in Germany, in the Falkenstein data centre. Your invoice is not handed to any third-party service, never leaves the EU and is not kept after the check.

How fast

A check normally takes one to two seconds, even for invoices with many line items. There is nothing to install: upload the file and read the result.

More about the validator: the Mustang project.

Frequently asked questions about invoice validation

Is the check really free?

Yes. Checking on this page is free, needs no sign-up, and you can check several files one after another. An account only becomes useful when you want to keep a history of your checks or issue invoices yourself.

Which files can I check here?

Hybrid PDF invoices with embedded XML — ZUGFeRD 1.0 and 2.x as well as Factur-X — and standalone XML files in CII format, XRechnung among them. Up to 5 MB per file.

What happens to my invoice?

It is accepted for the check and not kept afterwards. We store no copy, and without an account no history entry is created either.

What do codes like BR-CO-15 or BR-DE-19 mean?

They are business rule numbers: BR-* come from EN 16931 itself, BR-DE-* from the German flavour, BR-FR-* from the French one. What each family checks and how to fix the cause is in EN 16931 business rules.

My invoice opens fine in a PDF reader — why does it still fail?

Because the reader only draws the visible page. An invoice almost always becomes invalid inside the embedded XML: a missing mandatory field, a tax total that is off by a cent, or a container that is not real PDF/A-3.

Which version does the check run against?

Against the Schematron rules of EN 16931 and the format rules of ZUGFeRD and Factur-X. It is built on Mustang 2.26.0, released 25 August 2026; the current format version is ZUGFeRD 2.5.2 / Factur-X 1.09.2 and applies from 1 September 2026.

Can I check several invoices at once?

One after another, yes — we do not offer batch checking of several files in a single run. What an account adds is the history: every check is kept together with its full report.

What this check does and does not tell you

It confirms conformance, not correctness. A file can pass every rule and still show the wrong price or the wrong customer.
It does not guarantee acceptance: a recipient may require a purchase order number, a particular reference or a specific profile of their own.
Your file is used for the check and nothing else — we do not keep a copy of it.

Rather not have to fix anything?

An invoice created in the right format from the start needs no repair. E-Rechnung Pro issues ZUGFeRD and Factur-X invoices itself, converts existing PDF invoices and keeps every validation report.

Or read first how a PDF invoice becomes an e-invoice.