Check your e-invoice

Checking is free.Finished e-invoice: €1.90 [VAT note].First file every 30 days free.No sign-up.

No file yet? Fill in the form

Your file is used only to check and fix your invoice and to deliver your result. Results are kept so you can download a verified file again for 90 days; validation logs are deleted after 90 days. You can request deletion at any time.

Format-specific validators
XRechnungEN 16931 + BR-DE rulesZUGFeRDAll profiles + Factur-XPeppol BISBIS Billing 3.0Factur-XFrench-German hybrid
What the check covers
1XML schemaWell-formed XML, correct namespaces, valid data types. Malformed files, encoding issues and structural errors stop here.
2EN 16931 business rulesThe European base standard. Rules BR-01 through BR-65 check that required fields exist, amounts add up, VAT breakdowns are consistent and identifiers are well-formed — for every EU e-invoice, whatever the format.
3Format rulesPeppol BIS 3.0 (PEPPOL-EN16931-R001 to R080: buyer reference, business process, currency constraints), XRechnung 3.0 (BR-DE-*: Leitweg-ID for the German public sector, payment means, buyer reference) and Factur-X / ZUGFeRD (profile checks, PDF/A-3 conformance of the embedded XML).
4Country CIUS rulesThe national additions to the base standard: Belgium (BEvCIUS), France (FR-R-*), Germany (BR-DE-*), Italy (IT-R-*), Poland (PL-R-*) and the other member states — identifiers, VAT registration formats, rounding and mandatory fields that vary by jurisdiction.

Every rule with its code, meaning and fix: all error codes, explained.

Accepted formats
FormatSyntaxPrimary use
Peppol BIS Billing 3.0UBL 2.1Pan-EU B2B e-invoicing
XRechnung 3.0UBL 2.1 / CIIGerman public sector
Factur-X 1.0CII in PDF/A-3France and cross-border
ZUGFeRD 2.xCII in PDF/A-3Germany (hybrid format)
UBL 2.1UBLBase EU standard syntax
EN 16931 (CII)CII D16BBase EU standard syntax

The format is detected from the file; you do not choose it. Format comparisons.

After the check
Auto-fixableStructural corrections that leave the commercial meaning untouched: a wrong namespace prefix, a missing XML declaration, a date in the wrong format. These are patched in place.
Input requiredBusiness data only you can provide: a buyer reference, a purchase order number, a country-specific identifier. The check names the field and waits for your entry.
BlockedFinancial fields — amounts, VAT totals, IBANs, tax calculations — are never modified, not automatically and not on request.

Every patched file is checked again through KoSIT before it is released; if that check fails, the file does not leave. The result records what was validated, what changed and the SHA-256 of the output, and can be verified at /verify.

Errors that come back most
CodeWhat it meansNote
BR-CO-10Sum of line net amounts doesn't match invoice totalUsually a rounding issue
PEPPOL-EN16931-R010Missing or invalid buyer reference (BT-10)Required for all Peppol invoices
BR-16Order reference missing when requiredDepends on country CIUS
BR-CO-18Tax amount calculation mismatchVAT breakdown vs. totals
BR-DE-15Buyer reference required (German CIUS)XRechnung-specific
BR-01Invoice number is missingBT-1 is always required
XML-004Invalid characters in XMLEncoding issues
XML-006Schematron validation failureBusiness rule violations
PEPPOL-EN16931-R001Business process identifier missingPeppol ProfileID required
BR-CO-09VAT identifier prefix mismatchCountry code must match
Frequently asked questions

Is the e-invoice validator free?

Yes. Checking is free, unlimited, and needs no account. Upload any UBL, CII, Factur-X, ZUGFeRD, XRechnung, or Peppol invoice and get the full report.

What file formats can I upload?

XML files (UBL 2.1 or CII D16B syntax) and PDF files (Factur-X or ZUGFeRD with embedded XML). We detect the format automatically — upload and we identify whether it's Peppol BIS, XRechnung, Factur-X, or another EN 16931-compliant format.

Can I validate invoices via API?

Yes. The validation API accepts the same formats as the web interface. Send a POST request with your invoice file and receive a structured JSON response with all errors classified by type and severity. See the API documentation at /developers.

What happens if my invoice has errors?

You get a report showing every rule violation, classified into three categories: auto-fixable (structural issues we can correct safely), input required (missing business data only you can provide), and blocked (financial fields we never touch). Fixing is free. The first verified download every 30 days is free. After that a verified download is €1.90.

Is my invoice data stored?

Your file is used only to check and fix your invoice and to deliver your result. Results are kept so you can download a verified file again for 90 days; validation logs are deleted after 90 days. You can request deletion at any time.

How is this different from the EU Commission validator?

The EU Commission's validator (ITB) checks compliance and shows errors. Invoice Navigator also classifies errors by fix type, patches structural issues, revalidates through KoSIT, and records what was checked and changed so the result can be verified at /verify.

Can I validate Peppol invoices before sending to an Access Point?

Yes. Check every invoice before it reaches your Access Point to catch errors that would cause rejections — the same rule sets the Access Point applies.

Which countries' rules do you support?

All 27 EU member states plus country-specific CIUS rules for Germany (XRechnung / BR-DE-*), Belgium (BEvCIUS), France (FR-R-*), Italy (IT-R-*), Poland (PL-R-*), and more. See /countries for the full list.

What's the difference between validation and remediation?

Validation checks your invoice against all applicable rules and reports errors. Remediation goes further: it classifies each error, fixes structural issues that do not change commercial meaning, asks for your input on missing business data, and never touches financial fields. Every fix is revalidated before the file is released.

Can I integrate this into my CI/CD pipeline?

Yes. The API supports batch validation for automated workflows: pre-commit checks in invoice generation pipelines, nightly runs on ERP export templates, or validation when invoices are queued for sending. See /developers for integration patterns.