Skip to content

Guide

EN 16931 explained: the European norm behind every e-invoice format

What EN 16931 is and why XRechnung, ZUGFeRD, Factur-X and Peppol BIS build on it: business terms and rules, the two syntaxes, CIUS and extensions, ViDA.

Every e-invoice format in Europe, whatever its name, is a way of writing the same invoice: the one described by the European norm EN 16931. Understanding the norm explains why a German XRechnung, a French Factur-X and a Belgian Peppol invoice can be checked with the same rules, and why a validation report cites identifiers such as BT-10 or BR-CO-10.

Where it comes from

Directive 2014/55/EU obliged public authorities in the EU to receive and process electronic invoices that comply with a European standard. The European Commission mandated CEN, the European standardisation body, to write it; the technical committee CEN/TC 434 published EN 16931-1:2017, the semantic data model of the core elements of an electronic invoice, in June 2017. Central public authorities had to comply by April 2019, other public bodies by April 2020. National e-invoicing mandates for businesses, in Germany, France, Belgium and elsewhere, then adopted the same norm as their reference, which is why the formats converge.

The semantic model

The norm does not define a file format. It defines what an invoice says, as a list of business terms (BT) grouped into business groups (BG): BT-1 is the invoice number, BT-2 the issue date, BT-10 the buyer reference, BG-4 the seller with its address and identifiers, BG-25 an invoice line, and so on. Each term has a cardinality (mandatory, optional, repeatable) and a data type. Together they form the core invoice: everything a compliant invoice may contain, and nothing more.

On top of the terms sit the business rules (BR): conditions that a valid invoice must satisfy. The numbering tells the family:

  • BR-1 to BR-65: presence rules on the core (an invoice shall have a seller name, an invoice line shall have a quantity).
  • BR-CO-*: calculation and consistency rules (the sum of the line amounts equals the total, BR-CO-10; VAT category and rate consistent, BR-CO-17).
  • BR-S, BR-Z, BR-E, BR-AE, BR-K, BR-G, BR-O, BR-IC, BR-IG, BR-IP: one family per VAT category (standard rate, zero rate, exempt, reverse charge, intra-community, export, and the Canary Islands and Ceuta and Melilla taxes).
  • BR-CL-*: code list rules (the currency code must exist in ISO 4217, the country code in ISO 3166).

Every rule id that a validator reports on this site links to its explanation; the error code index lists those published so far.

Two syntaxes

The norm's part 2 lists the syntaxes that can carry the model, and parts 3-2 and 3-3 map each business term to an XML element: UBL 2.1 (OASIS, ubl:Invoice and ubl:CreditNote) and UN/CEFACT Cross Industry Invoice (CII D16B, rsm:CrossIndustryInvoice). Both express the same terms; a converter can move an invoice from one to the other without loss of core data. CEN also publishes validation artefacts, XML Schema and Schematron files, that implement the rules for both syntaxes. The EN 16931 validator applies exactly those artefacts, in the release shown on its page.

CIUS and extensions

A country or a sector can narrow the norm with a Core Invoice Usage Specification (CIUS): make optional terms mandatory, restrict code lists, add national rules, but never allow something the core forbids. XRechnung is the German CIUS (rules BR-DE-), the French usage rules of Factur-X are one, and Peppol BIS Billing 3.0 is the CIUS used across the Peppol network (rules PEPPOL-EN16931-). A compliant CIUS invoice is always a compliant core invoice.

An extension goes the other way: it adds terms the core does not have, for sectors that need them. The EXTENDED profile of ZUGFeRD and Factur-X is an extension; XRechnung has one as well. An extended invoice is only readable by recipients who support the extension, which is why the profile guide recommends the plain EN 16931 profile as the default.

The Peppol validator applies the CEN rules first and the Peppol rules on top, which is how a Peppol invoice is checked in practice.

What is changing

The norm has been amended twice since 2017 (A1:2019 and a corrigendum in 2020), mostly clarifications. The EU's VAT in the Digital Age package (ViDA), adopted in March 2025, makes EN 16931 the default standard for intra-EU B2B e-invoicing and digital reporting from July 2030, and national mandates must converge on it. CEN is revising the norm for those B2B uses, with new terms and rules; the revised edition is expected before the ViDA deadlines, its exact publication date is to be confirmed. Until then, EN 16931-1:2017 with its amendments is the version every format and validator refers to.

Sources

Tools for this topic

Country pages

More guides

No legal advice. Dates and obligations follow the official publications cited in the text; where a date is not final, the text says so.

Google Analytics is optional and off by default. Privacy and cookies

Your privacy choices

These settings concern our home and reading pages. Our tools process invoices locally, without ads or audience measurement.

Optional and off by default. Measure page views to improve the site, with a browser identifier kept for up to 30 days. No invoices, searches or form input are sent. You can withdraw your consent here at any time.

Google advertising

Advertising choices are managed in Google’s consent window. They do not activate Google Analytics on their own. You can continue using the site after refusing.

Google choices will appear when its service is available in your region. You can always disable measurement here.

Read the privacy policy