Formats / Guides
UBL vs CII — the two syntaxes of EN 16931
EN 16931 defines one semantic invoice model but permits two XML syntaxes to express it: OASIS UBL 2.1 (Universal Business Language) and UN/CEFACT CII (Cross-Industry Invoice). A UBL invoice and a CII invoice can carry exactly the same business content — seller, buyer, lines, VAT breakdown — and are subject to the same EN 16931 business rules; they simply spell the XML differently. Which one you need is decided by the network or country you invoice through, not by the standard.
What is the difference between UBL and CII?
UBL (Universal Business Language, OASIS) and CII (Cross-Industry Invoice, UN/CEFACT) are the two XML syntaxes permitted by EN 16931 for representing the same semantic invoice model. UBL uses element names like cbc:ID and cac:AccountingSupplierParty; CII uses ram:ExchangedDocument structures. The business content and rules are identical — only the XML vocabulary differs.
Where is each syntax used?
| Specification | Syntax |
|---|---|
| Peppol BIS Billing 3.0 | UBL |
| XRechnung (Germany) | UBL or CII |
| Factur-X (France) / ZUGFeRD (Germany) | CII embedded in PDF/A-3 |
| e-SLOG 2.0 (Slovenia) | National XML, mappable to EN 16931 |
Which syntax should I use?
Use the syntax your network or recipient mandates. Peppol BIS Billing 3.0 uses UBL. Germany's XRechnung accepts both UBL and CII. France's Factur-X and Germany's ZUGFeRD embed a CII XML inside a PDF/A-3. If you are free to choose, UBL has broader network support in the EU.
Can I convert between UBL and CII?
Yes, in principle losslessly for EN 16931 core content, because both syntaxes carry the same semantic model — each business term has an official syntax binding in both. In practice conversion needs care around extensions and attachments, and the result must be re-validated. The EN 16931 business rules — like BR-CO-10 or the VAT-category BR-S-* family — apply regardless of syntax; see the rule catalogue.
Related: Peppol BIS 3.0 vs EN 16931 · What is a CIUS? · validate an invoice free.