Glossary · Updated June 2026

UBL vs CII: the two EN 16931 syntaxes

UBL and CII are the two XML syntaxes EN 16931 allows. Both carry the same invoice data, just in a different structure and with different element names. The good news up front: in practice you almost never have to choose actively, the target format sets the syntax.

TL;DR

UBL (Universal Business Language, OASIS) and CII (Cross Industry Invoice, UN/CEFACT) are the two permitted EN 16931 syntaxes. Same semantic model, different XML structure. Peppol BIS uses UBL, ZUGFeRD and Factur-X use CII, XRechnung exists in both. Neither is better, the target format decides. Vera produces the right syntax automatically.

Origin and idea

UBL (Universal Business Language) comes from OASIS and is a broad XML library for business documents, from purchase order to invoice. CII (Cross Industry Invoice) comes from UN/CEFACT, the UN body for trade facilitation. Both existed before EN 16931. When the norm had to allow two syntaxes, it picked these two because they were already established in Europe.

The differences

AspectUBL 2.1UN/CEFACT CII
PublisherOASISUN/CEFACT
Element namesdescriptive, e.g. cac:AccountingSupplierPartymore technical, e.g. ram:SellerTradeParty
Structureflatter, many dedicated elementsmore deeply nested, heavily grouped
AdoptionPeppol world, international B2GDACH hybrid PDFs, francophone area

Both express the same EN 16931 business terms. An amount, a tax rate, a buyer address land in both syntaxes, just in differently named elements.

Which format uses which

When the choice matters

For most users, never. Whoever needs a ZUGFeRD PDF gets CII automatically, whoever sends over Peppol gets UBL. The syntax only becomes relevant if a recipient explicitly requires a specific one, for example a public body that only accepts UBL XRechnung.

Note: Vera produces the right syntax automatically for the target format you choose. You pick XRechnung, Factur-X or Peppol BIS, and the correct syntax follows.

FAQ

What is the difference between UBL and CII?

Two XML syntaxes that both express the EN 16931 model. UBL comes from OASIS, CII from UN/CEFACT. They differ in element naming and structure but carry the same data.

Which formats use UBL and which use CII?

Peppol BIS uses UBL, ZUGFeRD and Factur-X use CII, XRechnung exists in both variants.

Is UBL or CII better?

Neither is generally better, both are equally valid under EN 16931. The choice depends on the target format and the recipient.

Do I have to choose between UBL and CII?

Rarely. The target format decides the syntax. Vera produces the right one automatically for the format you choose.

The right syntax, automatically

You choose the target format, Vera produces UBL or CII to match and validates before download.

Create one now

Free for 5 invoices / month · Pro 29 € / month · 27 EU countries