EN 16931: The Complete Guide to the European E-Invoicing Standard
Everything about EN 16931: the CEN semantic data model mandated by EU Directive 2014/55/EU, UBL and CII syntaxes, country CIUS implementations, business rules, and its relationship with Peppol BIS 3.0.
What is EN 16931 and Why Does It Matter?
EN 16931 is the European standard for the semantic data model of electronic invoices, published by CEN (the European Committee for Standardization). It was mandated by EU Directive 2014/55/EU, which required all EU member states to accept e-invoices conforming to this standard in public procurement (B2G) by 2019. EN 16931 is not a file format — it is a semantic model that defines the meaning and constraints of every data element in an electronic invoice, independent of how it is encoded.
The standard defines WHAT data an electronic invoice must contain, but not HOW to encode it. Two XML syntaxes are officially bound to EN 16931: UBL 2.1 (OASIS Universal Business Language) and UN/CEFACT CII (Cross Industry Invoice). Any invoice encoded in either of these syntaxes and conforming to the EN 16931 semantic model is considered a European standard invoice. This design choice allows interoperability across different national and sectoral implementations without forcing everyone onto a single file format. As e-invoicing mandates expand from B2G to B2B across Europe — with France mandating B2B from 2026, Germany from 2027, and Belgium from January 2026 — understanding EN 16931 has become essential for every finance and IT professional working with European businesses.
Structure of EN 16931: The Semantic Model
The EN 16931 semantic model defines approximately 170 business terms (BTs) and business term groups (BTGs) that collectively describe a complete electronic invoice. These terms are organized into logical groups covering the full lifecycle of an invoice, from header identification to line-level details and tax summary. The model is published in a multi-part standard: EN 16931-1 defines the semantic model itself, while EN 16931-2 defines the syntax bindings for UBL and CII.
The mandatory fields that every EN 16931-compliant invoice must contain include:
- Invoice number (BT-1) — A unique identifier for the invoice, assigned by the seller. Must be unique within the seller's invoicing system.
- Invoice issue date (BT-2) — The date when the invoice was issued, in ISO 8601 format (YYYY-MM-DD).
- Seller information (BT-27 to BT-44) — Name, postal address, and at least one identifier (VAT number, legal entity identifier) for the seller.
- Buyer information (BT-44 to BT-59) — Name and postal address of the buyer. VAT number is mandatory when the buyer is VAT-registered.
- VAT breakdown (BT-118 to BT-130) — A complete breakdown of tax amounts by VAT category code and rate. Every applicable VAT rate must have its own breakdown line.
- Invoice line items (BTG-25) — At least one invoice line with quantity, unit price, line extension amount, and item description. Line-level VAT category information is mandatory.
Optional information groups include delivery details (ship-to address, actual delivery date), payment instructions (IBAN, payment reference, due date), document-level allowances and charges, and attachments such as PDF copies or supporting documents. While optional in the base standard, many country-specific CIUS (Core Invoice Usage Specifications) promote these fields to mandatory — for example, XRechnung requires an actual delivery date, and some Peppol profiles require a buyer reference. Understanding which fields are mandatory at the base EN 16931 level versus at the CIUS level is critical for cross-border interoperability.
The Two Syntaxes: UBL 2.1 vs CII
UBL 2.1, developed by OASIS, is the most widely used syntax for EN 16931-compliant invoices in Northern and Western Europe. It is the syntax used by Peppol BIS Billing 3.0, the pan-European e-invoicing profile deployed through the Peppol network. UBL uses a highly structured XML format with well-defined namespaces: the root element is either Invoice or CreditNote, depending on the document type. UBL invoices are widely supported by ERP systems, accounting software, and e-invoicing platforms across Europe.
CII (UN/CEFACT Cross Industry Invoice) is used by XRechnung (Germany's mandatory format), Factur-X (France and Germany's hybrid PDF+XML format), and ZUGFeRD. Its root element is rsm:CrossIndustryInvoice and it uses a more hierarchical, trade-centric structure influenced by UN/CEFACT's broader trade document model. While less common than UBL in purely electronic contexts, CII dominates in hybrid PDF workflows where an XML invoice is embedded inside a PDF document.
| Feature | UBL 2.1 | CII (UN/CEFACT) |
|---|---|---|
| Primary use case | Peppol network, B2G/B2B EDI | XRechnung, Factur-X, ZUGFeRD |
| Root element | Invoice / CreditNote | CrossIndustryInvoice |
| Dominant regions | Northern/Western Europe, global | Germany, France (hybrid PDF) |
| Hybrid PDF support | Not natively (Peppol uses pure XML) | Yes (Factur-X, ZUGFeRD) |
A critical design principle of EN 16931 is that both syntaxes map 1:1 to the same semantic model. This means that conversion between UBL and CII is lossless — every business term in a valid UBL invoice has an exact CII equivalent and vice versa. Standard transformation tools (XSLT stylesheets) are available to convert between the two formats without losing any invoice data. This interoperability is a cornerstone of the European e-invoicing vision: suppliers and buyers can use different formats and still exchange invoices without manual re-entry.
Country Implementations: CIUS and National Mandates
France mandated B2G e-invoicing through Chorus Pro since 2017, using Factur-X (a Factur-X EN 16931 CIUS) as its reference format. The forthcoming B2B mandate — originally set for September 2026 — requires all French VAT-registered companies to receive structured e-invoices and progressively to send them. Large companies must issue e-invoices first, with smaller companies following. The Chorus Pro platform, operated by the Direction Generale des Finances Publiques (DGFIP), will continue as the B2G hub, while the B2B market will be served by certified Platforms de Dematerialisation Partenaires (PDPs) and the public platform (PPF).
Germany mandated XRechnung for B2G federal procurement since November 2020, using KoSIT's CIUS of EN 16931 in both UBL and CII syntaxes. The Wachstumschancengesetz (Growth Opportunities Act) extends mandatory e-invoicing to B2B transactions: all German VAT-registered companies must be able to receive EN 16931-compliant e-invoices from January 2025. From January 2027, large companies (turnover above 800,000 EUR) must also send e-invoices; from January 2028, all remaining companies must comply. Unlike France, Germany does not mandate a specific format for B2B — XRechnung, ZUGFeRD 2.x, Peppol BIS 3.0, or any other EN 16931-compliant format is accepted.
Belgium mandated Peppol for B2G procurement progressively since 2019 and is implementing mandatory B2B e-invoicing from January 2026. The Belgian implementation uses Peppol BIS Billing 3.0 as its reference CIUS. All Belgian VAT-registered companies must be able to receive structured e-invoices, with an obligation to send them following shortly after. The Belgium approach through Peppol is notable for its network-first design: instead of a centralized platform, invoices flow through accredited Peppol access points, enabling seamless cross-border exchange with other Peppol-connected countries.
Italy's FatturaPA and the SDI (Sistema di Interscambio) platform have been mandatory for B2B since January 2019, making Italy the first large EU country to mandate B2B e-invoicing. While FatturaPA predates EN 16931 and uses a different data model, the European Commission recognized it as substantially equivalent. The Netherlands, Nordic countries (Denmark, Finland, Norway, Sweden), and the Baltic states largely rely on Peppol BIS 3.0 for both B2G and B2B e-invoicing, making UBL the dominant syntax in these regions. Spain is implementing a CIUS called Factura-e / VERI*FACTU for B2B from 2025-2027.
Business Rules and Validation: Beyond XSD
EN 16931 defines not only a data model but also a comprehensive set of business rules (BR-xx) that go far beyond what an XML Schema Definition (XSD) can validate. These business rules enforce semantic consistency — for example, ensuring that the sum of invoice line amounts equals the invoice total, or that VAT categories are used consistently. XSD validation only checks that elements are present and have the correct data types; business rule validation checks that the data makes logical and business sense.
BR-CO-10: Invoice total check
The sum of Invoice line net amounts minus allowances plus charges must equal the invoice total amount exclusive of VAT. Violations of this rule are among the most common causes of invoice rejection in automated B2G systems.
BR-S-08: Standard rated VAT consistency
For standard-rated VAT items (category code S), the VAT rate must be greater than zero. An invoice with a zero VAT rate but category code S fails this rule. The correct category code for zero-rated supplies is Z.
BR-AE-05: Reverse charge completeness
When the reverse charge VAT category (AE) is used, the buyer's VAT identifier must be present. This is a common error when issuing cross-border B2B invoices between EU member states.
BR-E-01: Exempt VAT documentation
When the VAT exemption category (E) is used, the invoice must include an exemption reason or reference to the applicable VAT exemption article. This is often missing in invoices generated by older ERP systems.
BR-52: Buyer reference requirement
While optional in EN 16931, the buyer reference (BT-10) is mandatory in Peppol BIS 3.0 and in XRechnung (as the Leitweg-ID). CIUS-specific rules like this are additional constraints layered on top of the base standard.
Country-specific CIUS add further validation layers. XRechnung adds approximately 50 additional rules (de-BR-xx) on top of the EN 16931 business rules, covering German-specific requirements such as the mandatory Leitweg-ID, restricted payment means codes, and mandatory delivery date. Peppol BIS 3.0 adds its own set of rules (PEPPOL-EN16931-xx) that are designed to ensure interoperability across the Peppol network, such as mandatory buyer reference and specific code list constraints. Understanding which rules apply — EN 16931 base, CIUS-specific, or both — is essential for building compliant invoicing systems.
Validation against EN 16931 business rules requires Schematron-based validation, not just XSD schema validation. Schematron is an ISO standard for rule-based validation of XML documents, allowing validators to express complex cross-element rules that are impossible to encode in XSD. The official EN 16931 validation artifacts (XSD schemas and Schematron rules) are published by CEN and the European Commission. National bodies like KoSIT (Germany) publish additional Schematron rules for their CIUS. ValidateFin implements a subset of these rules in the browser, checking UBL invoices against both EN 16931 and Peppol BIS 3.0 constraints without sending any data to a server.
Peppol and EN 16931: Infrastructure vs. Standard
Peppol (Pan-European Public Procurement Online) is often confused with EN 16931, but they serve different functions. EN 16931 is a data standard — it defines the content of an electronic invoice. Peppol is a transport network and governance framework — it defines how invoices are securely delivered between trading partners across Europe and beyond. Peppol BIS Billing 3.0 is a CIUS of EN 16931 using UBL syntax, which means it is a specialization of EN 16931 with additional constraints and with the UBL syntax specifically mandated. Every Peppol BIS 3.0 invoice is also an EN 16931-compliant invoice, but not every EN 16931 invoice travels via Peppol.
The Peppol network operates through a four-corner model. Corner 1 is the supplier's ERP or invoicing system. Corner 2 is the supplier's Peppol access point — a certified service provider that connects to the Peppol network. Corner 3 is the buyer's Peppol access point. Corner 4 is the buyer's ERP or accounting system. Access points look up the buyer's Peppol address through SMP (Service Metadata Publisher) registries, which are directories that map Peppol participant identifiers to their access points and the document types they can receive. This infrastructure allows any Peppol-connected company to discover and reach any other Peppol-connected company without bilateral agreements.
ValidateFin validates UBL invoices against both the EN 16931 semantic rules and the Peppol BIS 3.0 business rules. This dual validation catches errors that would be missed by schema-only validators: a document can be well-formed XML and even schema-valid, yet still fail EN 16931 or Peppol business rules and be rejected by a Peppol access point or a national B2G platform. The validator runs entirely in your browser — your invoice file never leaves your device, ensuring full confidentiality of sensitive financial data.
Validate Your Invoices Against EN 16931
ValidateFin checks your UBL invoices against EN 16931 semantic rules and Peppol BIS 3.0 business rules, providing detailed error messages that identify exactly which business rule failed and why. Whether you are building an ERP integration, preparing for a national B2B mandate, or troubleshooting a rejected invoice, ValidateFin gives you immediate, actionable feedback — 100% client-side, no data uploaded.
Validate your invoicesFrequently Asked Questions
What is EN 16931?
EN 16931 is the European standard for the semantic data model of electronic invoices, published by CEN (European Committee for Standardization). It defines the meaning and constraints of every data element in an e-invoice. It was mandated by EU Directive 2014/55/EU for B2G public procurement and is the foundation for all European e-invoicing mandates.
Is EN 16931 mandatory?
For B2G (business-to-government) invoicing, EN 16931 compliance is mandatory across all EU member states since 2019. For B2B, it depends on the country: Germany requires EN 16931-compliant e-invoices for B2B reception from January 2025, Belgium from January 2026, and France from 2026. More countries are following.
What is the difference between EN 16931 and UBL?
EN 16931 is a semantic data model — it defines WHAT data an invoice must contain. UBL 2.1 is a syntax — it defines HOW to encode that data in XML. EN 16931 has two official syntax bindings: UBL 2.1 and UN/CEFACT CII. UBL is not the same as EN 16931; it is one way of encoding an EN 16931-compliant invoice.
What is a CIUS?
CIUS stands for Core Invoice Usage Specification. It is a specialization of EN 16931 that adds additional constraints for a specific use case or country. Examples: Peppol BIS 3.0 is a CIUS for the Peppol network, XRechnung is Germany's B2G CIUS, and Factur-X EN 16931 is France's CIUS. A valid CIUS invoice is also a valid EN 16931 invoice.
Does EN 16931 apply to B2B invoices?
The base EN 16931 standard was designed for B2G but is being adopted for B2B mandates across Europe. Countries like Germany, France, Belgium, and Spain are mandating EN 16931-compliant e-invoices for B2B transactions on different timelines between 2025 and 2028.
What are the mandatory fields in EN 16931?
Mandatory fields include: invoice number, invoice date, seller name and address, seller identifier (VAT number or legal entity ID), buyer name and address, currency code, VAT breakdown by category, invoice total amounts, and at least one invoice line with item description, quantity, unit price, and line amount.
How do I validate an invoice against EN 16931?
Validation requires two steps: (1) XSD schema validation to verify the XML structure, and (2) Schematron validation to check the semantic business rules (BR-xx). ValidateFin performs both steps in the browser for UBL invoices, checking against EN 16931 and Peppol BIS 3.0 rules without uploading your file.
What is the relationship between Peppol and EN 16931?
Peppol BIS Billing 3.0 is a CIUS (Core Invoice Usage Specification) of EN 16931 using the UBL 2.1 syntax. Peppol is the transport network; EN 16931 defines the invoice content. Every Peppol BIS 3.0 invoice is EN 16931-compliant, but you can use EN 16931 without using the Peppol network.
Can I convert between UBL and CII?
Yes. Since both UBL and CII map 1:1 to the EN 16931 semantic model, conversion between them is lossless. Standard XSLT stylesheets are available for this conversion. This allows a CII-based XRechnung invoice to be converted to UBL for Peppol delivery, or vice versa.
What happens if my invoice fails EN 16931 validation?
In B2G contexts, non-compliant invoices are automatically rejected by platforms like Chorus Pro (France), ZRE (Germany), or Peppol access points. In B2B contexts, buyers' automated processing systems may reject the invoice or require manual intervention. Fixing the specific business rule violations identified by a validator like ValidateFin is the fastest path to compliance.