EN 16931 — the semantic standard of the European invoice
EN 16931 is the CEN standard that defines what an electronic invoice is in Europe — not a file, but a semantic model: the list of information an invoice must carry and the rules it must respect. It is the common core of Factur-X, XRechnung, PEPPOL BIS, EHF and many others.
What is EN 16931?
The core standard, EN 16931-1, describes the semantic model of the core invoice: the minimal set of information needed for an invoice's legal and tax compliance, independent of how it is written. EN 16931 does not say “here is an XML file”: it says “here are the fields and the rules”, then points to two syntaxes to materialise them.
This separation between semantics and syntax is the key idea: it lets very different formats (a hybrid PDF, a pure XML, a national profile) carry exactly the same information and stay interoperable.
The semantic model: BT and BG
The model is organised into Business Terms (BT-*) — the elementary fields — and Business Groups (BG-*) — logical groupings. A few examples:
| Identifier | Meaning |
|---|---|
BT-1 | Invoice number |
BT-2 | Issue date |
BT-5 | Currency code |
BT-10 | Buyer reference (e.g. the Leitweg-ID in Germany) |
BG-4 | Seller (group) |
BG-7 | Buyer (group) |
BG-25 | Invoice line (group) |
A core invoice has roughly 160 business terms. Each syntax (CII, UBL) has an official BT-* → XML element mapping.
The business rules (BR-*)
Beyond the fields, EN 16931 imposes business rules (BR-*) — integrity and calculation constraints. For example: an invoice must have a number (BR-2); the gross total must be consistent with the net total and VAT; the VAT category rules (BR-S, BR-Z, BR-E, BR-AE…) govern exemptions and reverse charge. Expressed in Schematron, these rules are what a conformance validator checks.
Two syntaxes: CII and UBL
The CEN/TS 16931-3-x parts bind the model to two XML syntaxes:
- 16931-3-3 → UN/CEFACT CII.
- 16931-3-2 → OASIS UBL.
A compliant invoice declares its link to the norm via a profile identifier:
<!-- A compliant invoice declares its EN 16931 profile -->
<!-- In CII: -->
<ram:GuidelineSpecifiedDocumentContextParameter>
<ram:ID>urn:cen.eu:en16931:2017</ram:ID>
</ram:GuidelineSpecifiedDocumentContextParameter>
<!-- In UBL: -->
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID> CIUS and extensions
EN 16931 provides two ways to specialise it:
- CIUS (Core Invoice Usage Specification): a compliant restriction — making some fields mandatory, forbidding others, without leaving the core. Examples: XRechnung, PEPPOL BIS Billing 3.0, EHF 3.0.
- Extension: a superset that adds information beyond the core, without breaking the base rules.
Who builds on EN 16931
EN 16931 is the convergence point of the whole European e-invoicing ecosystem:
- Factur-X / ZUGFeRD embeds a compliant CII XML.
- XRechnung (DE), EHF (NO) and OIOUBL 3 (DK) are CIUS of it.
- Facturae (ES), FatturaPA (IT) and Finvoice (FI) — national formats — align or interconnect with it.
- PEPPOL carries EN 16931 invoices (the BIS Billing 3.0 profile).
Further reading
- CEN — EN 16931 (European standard).
- The two syntaxes: CII and UBL.
- A national profile: XRechnung.