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.
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
| Aspect | UBL 2.1 | UN/CEFACT CII |
|---|---|---|
| Publisher | OASIS | UN/CEFACT |
| Element names | descriptive, e.g. cac:AccountingSupplierParty | more technical, e.g. ram:SellerTradeParty |
| Structure | flatter, many dedicated elements | more deeply nested, heavily grouped |
| Adoption | Peppol world, international B2G | DACH 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
- Peppol BIS: UBL. The Peppol network uses UBL as its standard syntax.
- ZUGFeRD and Factur-X: CII. The XML embedded in the PDF is based on CII.
- XRechnung: both. You can produce an XRechnung as UBL or as CII, both are valid.
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.
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 nowFree for 5 invoices / month · Pro 29 € / month · 27 EU countries