Standard

EN 16931

Definition

EN 16931 is the European standard that defines the semantic data model of a core invoice. It specifies the mandatory and optional fields (Business Terms), their meaning, and the validation rules that apply to all conforming electronic invoices in the EU. Nationally implemented standards such as XRechnung, ZUGFeRD (EN 16931 profile), and Factur-X must comply with this standard.

Background & context

EN 16931 was created in response to EU Directive 2014/55/EU, which aimed to harmonise electronic invoicing in public procurement. The standard defines only the semantic data model of the 'core invoice' — i.e. which information an invoice contains and what it means, but not the concrete file format. Each data element is defined as a Business Term (BT-x) with a unique number, meaning, data type and cardinality; related BTs are bundled into Business Groups (BG-x). The standard also defines around 200 business rules (BR-x) that check arithmetic consistency (e.g. that line totals equal the invoice grand total) and logical conditions. EN 16931 permits exactly two syntaxes for technical implementation: UBL 2.1 (OASIS) and UN/CEFACT CII. National specifications such as XRechnung (CIUS) may restrict the standard and add national rules (BR-DE) but must not contradict it. Validation is two-stage: first the XSD schema check, then the content-level Schematron check of the business rules.

In practice — a worked example

A piece of software is to check whether an invoice is EN 16931-compliant. It checks, for example, rule BR-CO-15: the invoice grand total with VAT (BT-112) must exactly equal the net total (BT-109) plus the total VAT amount (BT-110). For an invoice of €1,000 net + €190 VAT, BT-112 must therefore be €1,190 — a deviation of even one cent leads to rejection. At the same time, the standard checks that mandatory fields such as the invoice number (BT-1, rule BR-1) and invoice date (BT-2, rule BR-2) are present. Only when all BR rules are satisfied is the document considered compliant.

Common mistakes

  • EN 16931 is not a file format — you cannot create an 'EN 16931 file', only a UBL or CII file that conforms to the standard.
  • Rounding errors: the standard requires rounding per VAT category, not on the grand total — otherwise BR-CO rules fail.
  • National CIUS such as XRechnung tighten the standard; a generically EN 16931-compliant document is not automatically XRechnung-compliant (BR-DE rules).

Frequently asked questions

Is EN 16931 a mandatory standard?

For electronic invoices to public buyers in the EU, EN 16931 compliance is mandatory (Directive 2014/55/EU). In Germany, the Growth Opportunities Act additionally requires EN 16931-compliant e-invoices in domestic B2B from 2025.

What is the difference between EN 16931 and XRechnung?

EN 16931 is the European base standard. XRechnung is a German CIUS that specialises it: it makes certain fields mandatory and adds German business rules (BR-DE). Every XRechnung is EN 16931-compliant, but not every EN 16931 invoice is an XRechnung.

How many business rules are there?

EN 16931 defines around 200 business rules (BR-, BR-CO-, BR-S-, BR-Z- etc.) that are checked via Schematron. National extensions such as XRechnung add further (BR-DE) rules.

Switch to German:EN 16931 (DE)

Related terms

XRechnungXRechnung is the German standard for structured electronic invoices in public sector procurement (B2G). It is based on the European standard EN 16931 and is available in two syntaxes: UBL 2.1 and UN/CEFACT CII. Since 27 November 2020, federal public buyers have been required to accept electronic invoices in XRechnung format, and state and municipal authorities have been progressively included.ZUGFeRDZUGFeRD (Zentraler User Guide des Forums elektronische Rechnung Deutschland) is a hybrid invoice format that combines a human-readable PDF/A-3 file with embedded machine-readable XML data. The format is maintained by the Forum elektronische Rechnung Deutschland (FeRD) and exists in several profiles (MINIMUM, BASIC, EN 16931, EXTENDED). It is technically identical to the European Factur-X standard.Factur-XFactur-X is the Franco-German standard for hybrid electronic invoices, jointly developed by the French association FNFE-MPE and the German FeRD. Technically, Factur-X is identical to ZUGFeRD from version 2.0 onwards and uses UN/CEFACT CII as its XML syntax. The format is recognised across the European Union as a de facto standard for hybrid B2B invoices.Business Term (BT)A Business Term (BT) is a single, semantically defined data element of the European standard EN 16931. Each Business Term has a unique number (e.g., BT-1 for the invoice number, BT-9 for the payment due date), a name, a definition, and cardinality rules. Business Terms are syntax-independent and are mapped to different XML elements in UBL and CII.Business Group (BG)A Business Group (BG) groups semantically related Business Terms (BT) of the EN 16931 standard into a logical unit. Examples include BG-4 (Seller), BG-7 (Buyer), or BG-23 (VAT breakdown). Business Groups can be nested and provide a structured organisation of the invoice data model.SchematronSchematron is a rule-based validation language for XML documents, based on XPath expressions. In the context of XRechnung and EN 16931, Schematron rules are used to perform content-level plausibility checks that go beyond pure schema validation (XSD). The official Schematron rules for XRechnung are maintained by KoSIT and are part of the open-source Validator.UBL (Universal Business Language)UBL (Universal Business Language) is an OASIS-standardised XML vocabulary for business documents, including invoices, orders, and delivery notes. UBL 2.1 is one of the two permitted syntaxes for EN 16931-compliant invoices and is used for XRechnung as well as Peppol BIS Billing 3.0, among others. UBL invoices use the namespace `urn:oasis:names:specification:ubl:schema:xsd:Invoice-2`.CII (UN/CEFACT Cross Industry Invoice)CII stands for Cross Industry Invoice and is the UN/CEFACT XML document format for invoices. It is one of the two syntaxes permitted by EN 16931 alongside UBL and forms the basis of ZUGFeRD and Factur-X. CII documents use the namespace `urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100`.