E-Rechnung · Formats

What Is EN 16931? The European E-Invoice Standard Behind XRechnung and ZUGFeRD

Guide · 3 min read

Every compliant German e-invoice, whether XRechnung or ZUGFeRD, is built on the same foundation: EN 16931, the European norm for electronic invoicing. Understanding what this standard defines makes the whole format landscape much less confusing, because the formats are just different packagings of the same data model.

Quick answer: EN 16931 is the European semantic standard for electronic invoices. It defines the core data elements an invoice must and may contain (the semantic model) and permits two XML syntaxes to express them: UN/CEFACT CII and UBL 2.1. Germany's e-invoice definition and formats like XRechnung and ZUGFeRD are based on it, so EN 16931 conformance is what makes an invoice legally an E-Rechnung.

Where EN 16931 comes from

EN 16931 was developed by the European standardization body CEN following EU Directive 2014/55/EU, which required public authorities across the EU to accept electronic invoices. Instead of every country inventing its own format, the directive mandated one common semantic standard. Germany then reused this standard when it defined the domestic B2B e-invoice in the Wachstumschancengesetz: an E-Rechnung is, by default, an invoice conforming to EN 16931.

What the standard actually defines

EN 16931 is primarily a semantic model. It specifies the business terms an invoice consists of, each with an identifier like BT-1 (invoice number), BT-9 (payment due date) or BT-31 (seller VAT identifier), whether each term is mandatory, optional or conditional, how many times it may appear, and how the terms group together, for example into seller data, buyer data, invoice lines and the VAT breakdown. It also defines calculation rules, such as how line totals, allowances, charges and VAT amounts must add up.

CII and UBL: two syntaxes, one meaning

The standard deliberately separates meaning from file format. EN 16931 data can be serialized in two permitted XML syntaxes: UN/CEFACT Cross Industry Invoice (CII) and OASIS UBL 2.1. An XRechnung can be written in either syntax, and ZUGFeRD uses CII for its embedded XML. Both express exactly the same business terms, so which syntax you use is mostly a question of what the recipient's system prefers; the content is equivalent.

CIUS: national profiles like XRechnung

Countries and sectors can tighten the standard through a CIUS, a Core Invoice Usage Specification. A CIUS may make optional fields mandatory or restrict allowed values, but it can never contradict the core standard. XRechnung is Germany's CIUS: for example, it requires a Buyer Reference (BT-10), which carries the Leitweg-ID for public-sector invoices, and it requires seller contact details that the base standard leaves optional.

Why conformance matters in practice

Recipients and portals validate incoming invoices against the EN 16931 rules and, where applicable, the XRechnung rules. An invoice that breaks a business rule, a missing mandatory field, a VAT total that does not add up, an invalid code, gets rejected before a human ever sees it. Conformance is therefore not a formality; it decides whether you get paid without a second round.

The practical fix is to validate while writing, not after sending. The E-Rechnung app checks every required EN 16931 field as you type and exports XRechnung XML in CII or UBL 2.1, or a ZUGFeRD/Factur-X PDF. For the full list of data your invoice must carry, see the required fields guide.

This article is general information about a technical standard, not tax or legal advice. For questions about your specific invoicing obligations, consult your Steuerberater.

Common questions

What does EN 16931 stand for?
EN 16931 is a European norm (EN) published by CEN that defines the semantic data model of an electronic invoice: the core business terms, their rules, and the two permitted XML syntaxes, UN/CEFACT CII and UBL 2.1.
Is XRechnung the same as EN 16931?
Not exactly. XRechnung is Germany's national profile (CIUS) of EN 16931. It follows the standard fully but adds stricter rules, such as making the Buyer Reference mandatory. Every valid XRechnung is EN 16931 conformant, but not every EN 16931 invoice meets XRechnung's extra rules.
What is the difference between CII and UBL?
They are two XML syntaxes permitted by EN 16931 for expressing the same invoice data. CII comes from UN/CEFACT, UBL 2.1 from OASIS. The business content is equivalent; recipients may prefer one or the other.
Why was my e-invoice rejected by a validator?
Usually because an EN 16931 or XRechnung business rule failed: a missing mandatory field, totals that do not add up, an invalid VAT category code, or a missing Buyer Reference for public-sector invoices. Validators such as the KoSIT Validator report the exact rule that failed.
About the app
E-Rechnung - e-invoices on iPhone
About the app →