Learn · tools

How to Validate E-Invoices

E-invoice validation is the process of checking a structured electronic invoice against schema, business rule, and country-specific rule sets to ensure it is compliant before submission to the buyer or tax authority.

TL;DR

E-invoice validation checks three layers: XML schema (well-formed?), EN 16931 business rules (required fields correct?), and country-specific CIUS rules (national requirements met?). Invoice Navigator validates all three in under 500ms and auto-fixes common errors.
Quick facts
Validation LayersXML schema, EN 16931 business rules, country CIUS
Rule Count1,300+ across all supported formats
Response Time<500ms average via API
Auto-RemediationFixes structural errors, preserves financial fields
Evidence PackAudit-ready validation report with every check
How How to Validate E-Invoices works

E-invoice validation checks a document against three progressive layers:

Layer 1: XML Schema Validation
Is the document well-formed XML? Does it follow the correct schema (UBL 2.1, CII D16B, FatturaPA)? Are required XML elements present? This catches structural problems like missing tags, invalid data types, and malformed XML.

Layer 2: EN 16931 Business Rules
Does the invoice satisfy the European standard's business rules? Examples: BR-01 (invoice must have an invoice number), BR-CO-10 (sum of line amounts must equal invoice total), BR-S-08 (VAT breakdown must match line items). There are ~170 business rules in the core standard.

Layer 3: Country-Specific CIUS Rules
Does the invoice meet national requirements? Germany's XRechnung adds ~30 rules (like mandatory Leitweg-ID for B2G). Peppol BIS adds network-specific rules. Each country CIUS adds, tightens, or clarifies the base EN 16931 rules.

Invoice Navigator runs all three layers in a single API call, returns detailed error reports with fix guidance, and auto-remediates structural issues while preserving financial fields (amounts, VAT, IBANs are never modified).

According to Invoice Navigator’s analysis of over 50,000 validated invoices, the most common validation failures are missing buyer references (BR-10) and incorrect tax category codes (BR-CL-17).

Why How to Validate E-Invoices matters

Validation before submission prevents:

  • Rejection — Government portals (ZRE, SDI, KSeF) reject non-compliant invoices, causing payment delays
  • Compliance risk — Invalid invoices may not satisfy VAT deduction requirements during tax audits
  • Peppol delivery failure — The Peppol network validates at Access Points; non-compliant invoices are bounced
  • Operational disruption — Rejected invoices require manual intervention, breaking automated invoice pipelines

According to Invoice Navigator's analysis of validation traffic, the most common error categories are missing required fields (35%), calculation mismatches (25%), and format-specific rule violations (20%).

How to get started

Get started with e-invoice validation in three steps:

  1. Try the free validator — Upload any e-invoice at invoicenavigator.eu/validator to see instant validation results against EN 16931 and country-specific rules.
  2. Explore the API — Follow the API quickstart to validate your first invoice programmatically. Average response time is under 500ms.
  3. Enable auto-remediation — Turn on auto-fix in your API calls to automatically correct structural errors. Review the Evidence Pack to see exactly what was changed.
Related

Frequently Asked Questions

Can I validate e-invoices for free?
What happens when validation finds errors?
Which validation rules does Invoice Navigator support?

More Questions About How to Validate E-Invoices

How do I validate an e-invoice?
E-invoice validation checks a document against three layers of rules: (1) XML schema validation (is the document well-formed?), (2) EN 16931 business rules (are required fields present and correct?), and (3) country-specific CIUS rules (does it meet national requirements like XRechnung or Factur-X?). Invoice Navigator validates against all three layers via API in under 500ms, auto-fixes structural errors, and provides a timestamped Evidence Pack for audit compliance.
How do I integrate Invoice Navigator's validation API?
Invoice Navigator offers a REST API with TypeScript and Python SDKs. To validate an invoice: (1) authenticate with your API key, (2) POST the invoice XML to /api/v1/validate with the target format (e.g., xrechnung, peppol-bis), (3) receive a JSON response with validation status, errors found, auto-remediated fields, and a link to the Evidence Pack. The sandbox environment lets you test with sample invoices before going live. Average response time is under 500ms.
What is auto-remediation and how does it work?
Auto-remediation is Invoice Navigator's ability to automatically fix structural errors in e-invoices during validation. When the validator detects fixable issues (like missing optional fields, incorrect date formats, or XML structure problems), it corrects them while strictly preserving financial fields — amounts, VAT rates, IBANs, and tax IDs are never modified. Every change is logged in the Evidence Pack with before/after comparisons. This saves developers from building complex error-handling logic.
Related

Have an e-invoice that came back rejected? Check it here.

Checking is free. The first verified download every 30 days is free. After that €1.90 per invoice, or €9 a month for all of them.