Check & Validate an E-Invoice Against EN 16931
Before you send an e-invoice — or post an incoming one — you should check it. An invalid invoice will be rejected by the recipient and can jeopardise your input VAT deduction.
What gets checked?
A complete validation covers several layers:
- Format (schema): Is the XML structure technically correct?
- Business rules (EN 16931): Are the content rules satisfied — for instance, that the sum of the line items matches the total amount?
- National rules (BR-DE): Are the German add-on rules met, e.g. a valid Leitweg-ID for public authorities?
Technically, this check runs on Schematron rules, the same ones the official KoSIT validator uses.
How to check an e-invoice
- Choose the file: Drag the XML (XRechnung) or PDF (ZUGFeRD) into the tool.
- Automatic detection: The tool detects the format and syntax (UBL or CII) on its own and, for ZUGFeRD, reads out the embedded XML.
- Read the result: You receive a list of all errors and warnings with their respective rule IDs.
Understanding error types
| Error type | Meaning |
|---|---|
| Format error | The XML structure is invalid. |
| Business-rule error | A rule of EN 16931 or BR-DE is violated. |
| Content error | The data is formally valid but factually wrong. |
The validator reliably detects format and business-rule errors. Content errors — such as a wrong address — you have to check yourself.
Why check incoming invoices?
The German Federal Ministry of Finance (BMF) expects incoming e-invoices to be validated. Only a correct, EN-16931-compliant invoice is a proper invoice — and thus the basis for input VAT deduction. Read more about the legal situation under E-Invoice Mandate 2025.
Local and free
The check runs entirely in the browser — your invoice never leaves your computer. Give it a try: Check your e-invoice now. Afterwards you can also open it or create a new one.
Frequently asked questions
How do I check an e-invoice?
You load the XML or ZUGFeRD file into a validator that checks it against EN 16931 and the German BR-DE rules via Schematron. In a browser tool this runs locally, with no upload.
What is the difference between a format error and a business-rule error?
A format error violates the XML structure (schema). A business-rule error violates a content rule of EN 16931 or BR-DE, such as inconsistent totals. Both lead to rejection.
Do I have to check incoming invoices?
It is recommended. The German Federal Ministry of Finance (BMF) expects incoming e-invoices to be validated — only an error-free, EN-16931-compliant invoice reliably entitles you to input VAT deduction.