White paper · Updated June 2026
The 2026–2030 EU E-Invoicing Mandate: a developer & finance guide
Between 2024 and 2030, sending a PDF invoice to another EU business stops being legal in most member states. Structured, machine-readable e-invoicing becomes mandatory — country by country, on different dates, in different file formats, all derived from a single European standard. This is a vendor-neutral map of what is coming, when, and what it means for the people who have to build for it.
Free to read and share. Dates summarise publicly announced member-state timelines and may be phased by company size — always confirm against the relevant tax authority.
1. Why this is happening now
The EU loses an estimated €93 billion a year to VAT fraud, much of it through the simplest trick there is: invoices that exist on one side of a transaction but not the other. Paper and PDF invoices are invisible to tax authorities until an audit, sometimes years later. The fix governments converged on is structured e-invoicing with near-real-time reporting — the invoice is a machine-readable document that the tax administration can see (or receive) as it is issued.
Italy proved the model. After making e-invoicing mandatory through its Sistema di Interscambio (SdI) in 2019, it recovered billions in previously-lost VAT. Every other member state took notice. What was a national experiment is now an EU-wide direction of travel — and the deadlines are no longer theoretical.
2. ViDA: the EU-wide deadline of 2030
VAT in the Digital Age (ViDA) is the EU legislative package that makes the patchwork coherent. Adopted in 2025, its headline provisions:
- From 2030, structured e-invoicing based on EN 16931 becomes the default for intra-EU B2B transactions, paired with Digital Reporting Requirements (DRR) that replace the old recapitulative statements.
- Member states no longer need EU permission to impose domestic e-invoicing mandates — which is exactly why so many are moving now, ahead of 2030.
- Existing national systems must converge toward the EN 16931 baseline, so a compliance investment made for one country is not thrown away.
The practical takeaway: 2030 is the backstop, but the real work happens in 2026–2028, when the largest economies switch on their domestic mandates.
3. EN 16931: the one standard underneath all of them
This is the single most important thing to understand, and the reason the situation is less chaotic than the country list suggests. EN 16931 is the European standard that defines the semantic data model of an electronic invoice — what fields exist, what they mean, and the business rules (the famous BR-* and BR-CO-* constraints) every compliant invoice must satisfy.
Every national format is a CIUS (Core Invoice Usage Specification) — a country-specific profile layered on top of EN 16931. FatturaPA, RO e-Factura, XRechnung, Factur-X, Peppol BIS, KSeF: different syntaxes (UBL XML, UN/CEFACT CII, hybrid PDF/XML), but the same semantic core and the same business rules underneath.
4. Country-by-country deadlines
| Jurisdiction | Timeline | Scope | Primary format |
|---|---|---|---|
| 🇮🇹Italy | Live (since 2019) | B2B + B2C via SdI | FatturaPA (XML) |
| 🇷🇴Romania | Live (2024) | B2B mandatory | RO e-Factura (UBL / CIUS-RO) |
| 🇵🇱Poland | 2026 (phased) | B2B via KSeF | FA(3) structured XML |
| 🇧🇪Belgium | Jan 2026 | B2B mandatory | Peppol BIS 3.0 (UBL) |
| 🇫🇷France | 2026–2027 (phased) | B2B receive + e-reporting | Factur-X / UBL / CII |
| 🇩🇪Germany | 2025–2028 (phased) | B2B receive → send | XRechnung / ZUGFeRD |
| 🇪🇸Spain | 2026–2027 (expected) | B2B (Crea y Crece) | Facturae / UBL / EDIFACT |
| 🇪🇺EU-wide | 2030 (ViDA) | Cross-border B2B + DRR | EN 16931 baseline |
Most mandates are phased by company size — large taxpayers first, SMEs later — and many begin with a receive obligation before a send obligation. Treat these as planning anchors, not legal advice.
5. What actually breaks in production
Teams that have already migrated report the same failure modes. None of them are exotic; all of them stop an invoice from clearing:
- VAT category logic (BR-CO rules). The most common rejections. Tax category, rate, exemption reason codes and the totals derived from them must be internally consistent — accounting systems that "round to make it balance" fail here.
- Mandatory identifiers. Missing
CustomizationID, buyer/seller VAT IDs, or a scheme code that does not match the country profile. - Calculation drift. Line totals, document totals and tax subtotals must reconcile to the cent. Floating-point math in the invoicing pipeline produces off-by-a-cent rejections at scale.
- Code list violations. Currency, country, unit-of-measure and payment-means codes must come from the official EN 16931 code lists, not free text.
- Syntax vs. semantics confusion. An invoice can be valid XML and still be an invalid invoice. XSD checks the shape; only the Schematron business rules check whether it is a lawful EN 16931 document.
6. The migration checklist
- Map your countries. List every member state you invoice and its mandate date from the table above.
- Pick your syntax per country. UBL 2.1 covers most; add CII / hybrid (Factur-X, ZUGFeRD) where required.
- Validate against EN 16931 first. Get the semantic core right before worrying about national CIUS rules.
- Automate validation in CI and at the API boundary. Reject bad invoices before they reach a tax authority, not after.
- Plan for the network layer. Many mandates route through Peppol or a national platform (SdI, KSeF, Chorus Pro). Validation is necessary but separate from transport.
- Keep audit trails. DRR means you must be able to show what you sent and when.
7. How validation fits in
Validation is the one piece every team needs regardless of which country, platform, or accounting system they use — and it is exactly the piece that is easy to get subtly wrong. InvoiceHub is a developer-first REST API that runs the official CEN EN 16931 Schematron (the same rules the tax authorities use) and returns precise, rule-level results — including which BR-* rule failed and why.
One HTTP call, a free tier, and an instant API key. Build the compliance check in once, against the standard they all derive from.
Found this useful? Share it with whoever owns e-invoicing compliance on your team. Questions or corrections? Get in touch.