Page tree

eInvoicing Documentation

Required syntaxes

The information defined in the semantic data model of the eInvoicing standard, documented in the eInvoicing standard, must be carried in an electronic message that may be transferred from one computer to another. The semantic eInvoicing standard does not define the structure of the electronic message. The message structure is called syntax.

Syntax binding methodology

The European standard on eInvoicing includes a methodology for binding the semantic data model to a syntax (CEN/TS 16931 part 3-1) and applies this methodology to the binding between the semantic model and selected syntax (see example in Compliance with eInvoicing standard).

List of compliant syntaxes

Article 7 of Directive 2014/55/EU on electronic invoicing in public procurement states that contracting authorities and contracting entities must receive and process electronic invoices with both of the syntaxes on the list that has been published pursuant to Article 3(2) of the Directive.

The European standard on eInvoicing defines a set of technical and non-technical assessment criteria for determining what syntax standards comply with the semantic model. The criteria and the evaluation of selected syntaxes is documented in CEN/TS 16931 part 3-2, section 5. The results of that evaluation is that two syntaxes are identified to be compliant. These are listed in CEN/TS 16931 part 3-2, section 7 as the following:

UN/CEFACT Cross Industry Invoice XML message as specified in XML Schemas 16B (SCRDM - CII)
UBL invoice and credit note messages as defined in ISO/IEC 19845:2015

Contracting authorities and entities in scope of Directive 2014/55 are thus required to receive and process invoices which comply with the semantic data model defined in EN 16931 part 1 and which are delivered by using either of these two syntaxes. The syntax binding must be according to the specifications in the eInvoicing standard.

Syntax binding

The European standard on eInvoicing applies the syntax binding methodology to three syntaxes and publishes it in separate technical specifications. These are the two compliant syntaxes as well as UN/CEFACT EDIFACT, which is not on the compliant list because it is not commonly used by public sector entities. Implementing the ability to receive invoices by using EDIFACT is therefore not obligatory for public entities. If they choose to use that additional option they shall follow the syntax binding provided by the eInvoicing standard to be compliant.The syntax binding have been published by CEN as follows:

SyntaxVersionDocument nameDocument ID



Syntax binding for ISO/IEC 19845 (UBL 2.1) invoice and credit note

CEN/TS 16931-3-2:2017

Syntax binding for UN/CEFACT XML Industry Invoice D16B

CEN/TS 16931-3-3:2017
EDIFACTD16BSyntax binding for UN/EDIFACT INVOIC D16BCEN/TS 16931-3-4:2017

Syntax versions

It should be noted that the published syntax bindings bind the EN 16931 part 1 semantic data model to a specific version of the syntax. Consequently, a compliant implementation of the eInvoicing standard must use this specific version of the syntax even though that may not be the latest version of the syntax. Over time the governing bodies for each syntax update them with new versions. UN syntaxes are updated twice a year with a new version and for UBL this is every three years. Before a new syntax version can be used in a compliant implementation of the eInvoicing standard the relevant syntax binding needs to updated and published by CEN.

Code list versions

Each code list that is used in the eInvoicing standard is managed by a governing organization. For most code lists these are ISO or UNECE but some are managed by other organizations, including the EU Publications Office (OP).  Over time the code lists are updated and published again as a new code list version. Most commonly updates are concerned with adding new codes to the code list.

Section 6.5.8 of EN 16931 part 1 states that the latest published version of the code lists shall be used. The syntax binding must however state a specific version of the code list. In practical terms this means that the code list version that is used is the one that is most recently published at the time when the syntax binding is made. Consequently, if changes are required to code lists the requesting party should submit a change request to the relevant governing organizations through its procedures. After the publication of a new version of the code list, the syntax binding needs to be updated before the code list changes can be implemented.


To aid in ensuring the compliance of each invoice instance a set of technical validation artifacts has been created for each syntax binding. These enable the Seller to test invoices against the eInvoicing standard, both during development (design-time) and in operation (run-time).