EN16931 European Standard
EN16931 is the European standard for electronic invoices, adopted by the European Union in 2017 as part of Directive 2014/55/EU.
What is EN16931?
EN16931 defines the semantic data model for e-invoices—in other words, it specifies what information an e-invoice must contain and what it means, without dictating the technical format.
Think of it as the "universal language" for e-invoices in Europe. Different countries and systems can use different technical formats (XML, JSON, etc.), but they all must represent the same core information defined by EN16931.
Why EN16931 Exists
Before EN16931, every European country had its own e-invoice standard, making cross-border invoicing complex and expensive. EN16931 was created to:
- Harmonize: Create a single standard across all EU member states
- Enable interoperability: Allow invoices to be exchanged seamlessly across borders
- Reduce costs: Eliminate the need for multiple format conversions
- Facilitate public procurement: Simplify invoicing to government entities
Core Data Elements
EN16931 defines mandatory and optional data elements. Key mandatory elements include:
- Invoice number: Unique identifier
- Invoice date: Date of issue
- Seller information: Name, address, VAT ID
- Buyer information: Name, address
- Invoice totals: Sum excluding VAT, VAT amount, total including VAT
- Currency: ISO 4217 currency code (e.g., EUR, USD)
- VAT breakdown: VAT rate and amount for each rate category
- Line items: Description, quantity, unit price, line total
Optional elements include payment terms, discounts, delivery information, and more.
Technical Implementations
EN16931 is a semantic model, not a file format. It is implemented using different syntaxes:
| Syntax | Description | Used By |
|---|---|---|
| UBL 2.1 | Universal Business Language (XML) | Peppol, XRechnung (UBL variant) |
| UN/CEFACT CII | Cross Industry Invoice (XML) | ZUGFeRD, XRechnung (CII variant) |
Both syntaxes are equally valid. XRechnung, for example, can be delivered as either UBL or CII—both comply with EN16931.
EN16931 and National Extensions
While EN16931 provides the common baseline, individual EU countries can add national extensions for their specific requirements.
Examples:
- Germany (XRechnung): Adds fields for German tax requirements and public sector routing
- France (Chorus Pro): Adds fields for French legal requirements
- Italy (FatturaPA): Predates EN16931 but is being harmonized
Important: An invoice that is EN16931-compliant in one country may not meet the extended requirements of another country. Always check national regulations for cross-border invoicing.
Validation Rules (Schematron)
EN16931 includes business rules that go beyond simple data structure. These rules are expressed using Schematron (a rule-based validation language for XML).
Example rules:
- BR-CO-15: Invoice total = line total + charges - allowances
- BR-CO-16: Total with VAT = total without VAT + VAT amount
- BR-01: An invoice must have an invoice number
- BR-02: An invoice must have an invoice issue date
eDocuPortal uses the official KoSIT validator to check these rules, ensuring your invoices pass the same validation used by government systems.
Who Must Comply with EN16931?
Mandatory:
- Public sector suppliers: Since 2020, all EU public entities must accept EN16931-compliant invoices
- Suppliers invoicing public bodies: Must send EN16931-compliant invoices
Increasingly required for B2B:
- Germany: EN16931 (via XRechnung) will be mandatory for B2B starting 2025
- France: Mandatory B2B e-invoicing (Chorus Pro) rolled out from 2024
- Italy: Already mandatory (FatturaPA)
- Other EU countries: Many are adopting mandatory B2B e-invoicing based on EN16931
Benefits of EN16931 Compliance
- Accepted across Europe: One invoice format works in all EU countries
- Future-proof: Compliance now prepares you for upcoming B2B mandates
- Faster payment: Government and large enterprises can process invoices automatically
- Reduced errors: Standardized validation catches mistakes early
- Lower costs: Less manual processing and fewer rejections