XRechnung: UBL or CII? The Two Syntaxes of EN 16931 Compared
„XRechnung in UBL or CII?“ – this question comes up in almost every technical integration. The good news: they are just two ways of writing the same content.
> Quick answer: UBL and CII are two XML syntaxes that both represent the semantics of EN 16931. XRechnung is permitted in both (UBL is more widespread). ZUGFeRD/Factur-X always uses CII, embedded in a PDF/A-3. In terms of content they are equivalent; the difference lies in the structure and element names.
Two syntaxes, one data model
EN 16931 defines the semantics of an invoice – that is, which data fields exist (BT-1 invoice number, BT-31 VAT ID, and so on). How these fields are written as XML is governed by two „syntaxes“:
| Feature | UBL | CII |
|---|---|---|
| Publisher | OASIS | UN/CEFACT |
| Root element | Invoice | rsm:CrossIndustryInvoice |
| Namespaces | cbc, cac | rsm, ram, udt |
| Typical use | XRechnung (widespread) | ZUGFeRD, Factur-X, XRechnung (CII) |
Both carry the same content – a recipient that processes EN 16931 can read whichever syntax applies.
When UBL, when CII?
- XRechnung: both are allowed. UBL is the most commonly encountered; some systems deliver or expect CII. What matters is what your recipient processes.
- ZUGFeRD / Factur-X: always CII, because the XML is embedded in a PDF/A-3. Anyone who needs the hybrid PDF format therefore uses CII automatically.
Practical recommendation
If you supply public-sector clients, check the requirements of the portal in question – many accept both syntaxes. For B2B exchange with a visible PDF, ZUGFeRD (CII) is convenient; for pure data-exchange scenarios, an XRechnung as UBL or CII is sufficient.
What TaxLayer produces
TaxLayer produces ZUGFeRD 2.x (CII in PDF/A-3) as well as XRechnung as UBL – each validated against EN 16931 and the KoSIT standard. This covers both the hybrid PDF format and the pure-XML XRechnung.
Conclusion
UBL and CII are two ways of writing the same EN 16931 invoice. Do not let it unsettle you: what matters is which syntax your recipient expects – the content stays the same.
---
Try TaxLayer for free now – produces ZUGFeRD (CII) and XRechnung (UBL), validated to EN 16931. Questions to info@landauer.de.
Frequently asked questions
What is the difference between UBL and CII?
UBL (Universal Business Language, OASIS) and CII (Cross Industry Invoice, UN/CEFACT) are two XML syntaxes that both represent the same EN 16931 semantics. They differ in structure and element names, not in content.
Which syntax does XRechnung use?
XRechnung is permitted in both syntaxes: UBL and CII. In practice UBL is very widespread; some systems deliver or expect CII.
Which syntax does ZUGFeRD use?
ZUGFeRD (and the identical Factur-X) always uses CII – embedded in a PDF/A-3 file. A pure XRechnung, by contrast, is a standalone XML file.
Do I have to commit to one syntax?
That depends on the recipient. Many government portals accept both; when in doubt, ask which syntax your recipient processes. Both satisfy EN 16931 equally.
Which formats does TaxLayer produce?
TaxLayer produces ZUGFeRD 2.x (CII in PDF/A-3) and XRechnung as UBL. More on the formats in XRechnung vs. ZUGFeRD.
Free tools
Related articles
Convert PDF invoices now
Try TaxLayer for free – 2 conversions per month, no credit card required.
Get started