eliDocs
Compliance

EN 16931

The European standard underpinning UBL and CII e-invoicing in the EU, the CIUSes Beliq supports on top of it, and where the Schematron rules come from.

EN 16931 is the European standard for electronic invoicing. It is published by the European Committee for Standardization through CEN/TC 434 in support of EU Directive 2014/55/EU, and it defines the semantic data model every cross-border e-invoice in scope of the Directive must follow.

Most of the formats Beliq generates are built on EN 16931. Three national formats are not: Italy FatturaPA, Spain Facturae, and Slovenia e-SLOG, each validated against its own authority XSD instead; see the dedicated FatturaPA, Facturae, and Slovenia e-SLOG pages for those paths.

Core invoice model

EN 16931 defines invoice content as a set of Business Terms (BT-*) grouped into Business Groups (BG-*) — for example BT-1 is the invoice number, BT-2 is the issue date, BG-4 is the seller party. The model is syntax-neutral: the same BT can be expressed in UBL or in CII.

The standard also defines Business Rules (BR-*) that constrain the model: cardinality, code-list membership, and arithmetic consistency. The rule families are summarised on the validation artifacts — business rule reference page.

Reference syntaxes

EN 16931-2 names two mandatory syntaxes for representing a compliant invoice:

Syntax Used by Beliq targets
UBL 2.1 Peppol BIS Billing 3.0; XRechnung (UBL variant) UBL output for Peppol BIS and XRechnung when requested
UN/CEFACT CII D16B XRechnung (CII variant); EN 16931 CII reference Default CII output for XRechnung

The hybrid PDF formats — ZUGFeRD 2.x and Factur-X 1.08 — embed the newer CII D22B revision (with the same EN 16931 semantic content). The third syntax named by EN 16931-2 (UN/EDIFACT) is optional and is not in scope for Beliq.

Italy FatturaPA is not an EN 16931 syntax — it is a separate national XML format predating the European harmonisation and is validated against the authority XSD only. See the FatturaPA page for that path.

CIUSes Beliq supports

A CIUS (Core Invoice Usage Specification) restricts and concretises EN 16931 for a national or network-specific context. Beliq supports the major EU-relevant CIUSes:

CIUS Beliq standard Owner Beliq page
Peppol BIS Billing 3.0 peppol-bis OpenPeppol Peppol BIS
XRechnung xrechnung KoSIT (Germany) XRechnung
ZUGFeRD 2.x zugferd FeRD (Germany) Germany guide
Factur-X 1.08 facturx FNFE-MPE + FeRD Factur-X

Each CIUS ships its own Schematron overlay on top of the core EN 16931 rules — those overlays use a country/network prefix (BR-DE-* for XRechnung, PEPPOL-EN16931-R* for Peppol BIS, FX-SCH-* for Factur-X, BR-FR-CTC-* for the French CTC overlay).

Validation pipeline

For EN 16931–based documents, Beliq’s validation chain is:

Input → XSD → EN 16931 Schematron → CIUS Schematron → Result

Step 2 — the EN 16931 Schematron — comes from the canonical ConnectingEurope/eInvoicing-EN16931 repository (CEN/TC 434 publishes the rules there). Step 3 applies the CIUS overlay that matches the document’s CustomizationID. For PDF outputs (ZUGFeRD / Factur-X), two further engine-time steps wrap the XML into a PDF/A-3 envelope and validate it.

The pinned Schematron and XSD versions are listed on the validation artifacts page (single source of truth — this page does not duplicate them).

What “EN 16931 compliance” means in API responses

Every successful POST /v1/generate or POST /v1/validate response carries the EN 16931 Schematron version used as validationResult.schematronVersion (and the response header x-schematron-version). CIUS-specific overlay versions are reported in validationResult.ciusVersion. For Peppol BIS, the same value is also surfaced as peppolVersion for Access-Point consumers. FatturaPA responses omit schematronVersion and carry FatturaPA-specific bundle fields instead — see validation artifacts — API response metadata.