ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

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:

IdentifierMeaning
BT-1Invoice number
BT-2Issue date
BT-5Currency code
BT-10Buyer reference (e.g. the Leitweg-ID in Germany)
BG-4Seller (group)
BG-7Buyer (group)
BG-25Invoice 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:

A compliant invoice declares its link to the norm via a profile identifier:

xml en16931-customization-id.xml
<!-- 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:

Further reading