UBL vs CII: Which XML Syntax Should You Use?

UBL (Universal Business Language) and CII (Cross-Industry Invoice) are two XML syntaxes for expressing EN 16931 invoices. Both carry the same business information—the difference is technical structure. Your choice usually depends on which formats and networks you need to support.

Side-by-Side Comparison

FeatureUBLCII
Full NameUniversal Business Language 2.1UN/CEFACT Cross-Industry Invoice
Maintained ByOASISUN/CEFACT
Used ByPeppol, XRechnungZUGFeRD, Factur-X, XRechnung
File SizeTypically largerTypically smaller
StructureMore verbose/explicitMore compact
International AdoptionHigher (Peppol network)Strong in EU (Franco-German)

UBL

UBL 2.1 (OASIS) uses explicit, self-documenting XML element names. It is the required syntax for Peppol BIS Billing 3.0 and one of the two accepted syntaxes for XRechnung. Dominant in international e-invoicing and government procurement.

CII

UN/CEFACT CII uses compact element names with deeper nesting, producing smaller files. It is the required syntax for ZUGFeRD and Factur-X, and the second accepted syntax for XRechnung. Dominant in Franco-German trade corridors.

Key Differences Explained

Structure and Verbosity

UBL uses explicit, self-documenting element names. More verbose but easier to read without documentation.

CII uses shorter element names with more nesting. Smaller files but requires documentation reference.

Ecosystem

UBL dominates international trade (Peppol connects 40+ countries). If you need to invoice globally, UBL is more widely supported.

CII is strong in France and Germany. If most of your trade is Franco-German, CII tools are abundant.

When to Use UBL

  • ·Connecting to Peppol network (required)
  • ·Invoicing internationally
  • ·Working with UK, Nordic, Belgian businesses
  • ·Your ERP exports UBL natively

When to Use CII

  • ·Creating ZUGFeRD or Factur-X invoices (required)
  • ·Trading primarily France/Germany
  • ·Want smaller file sizes
  • ·Your ERP exports CII natively

Can You Use Both?

If you use XRechnung, you can choose either syntax—both are valid. Most implementations pick one and stick with it.

Conversion between UBL and CII is possible since both map to EN 16931, though some edge cases may require attention.

Validate Your XML

Check if your UBL or CII invoice is correctly structured.

Validate Now

Frequently Asked Questions

Related Comparisons