UBL vs CII vs Factur-X — Comparing European E-Invoice Formats
A practical comparison of the three main European e-invoicing formats: UBL 2.1, UN/CEFACT CII, and Factur-X/ZUGFeRD. Which one should you use?
Three formats, one standard
The European e-invoicing directive (2014/55/EU) established EN 16931 as the common semantic data model. Three syntaxes implement this model: UBL 2.1, UN/CEFACT CII, and Factur-X (which embeds CII XML inside a PDF/A-3). All three are legally equivalent under EU regulations — the choice depends on your trading partners, country, and technical infrastructure.
This guide compares the three formats across key dimensions: structure, adoption by country, technical complexity, and use cases. Understanding their differences helps you choose the right format for your e-invoicing implementation.
ValidateFin validates UBL 2.1 (including Peppol BIS 3.0) and extracts/validates Factur-X/ZUGFeRD XML from PDF invoices.
Format comparison
Key differences between UBL, CII, and Factur-X:
| Aspect | UBL 2.1 | UN/CEFACT CII | Factur-X / ZUGFeRD |
|---|---|---|---|
| Syntax type | Pure XML | Pure XML | Hybrid: PDF/A-3 + embedded CII XML |
| Maintained by | OASIS | UN/CEFACT | FNFE-MPE (FR) + FeRD (DE) |
| EN 16931 syntax | Yes — CIUS support | Yes — CIUS support | Yes — via embedded CII XML |
| Peppol support | Primary format (BIS 3.0) | Not directly supported | Not on Peppol network |
| Human-readable? | No (XML only) | No (XML only) | Yes — PDF is human-readable |
| Main adopters | Netherlands, Belgium, Peppol countries | Germany (XRechnung CII), some EU programs | France, Germany, Austria |
UBL 2.1: the Peppol standard
UBL 2.1 is the dominant format for Peppol-based e-invoicing:
Strengths: Widely adopted across Europe via Peppol BIS Billing 3.0. Strong tooling ecosystem. Supports Invoice and CreditNote document types. Used by default in Belgium, Netherlands, and Nordic countries.
Limitations: XML-only format — not human-readable without a viewer. Requires a Peppol access point for network delivery. More complex schema than CII.
Best for: Companies exchanging invoices via Peppol, B2G invoicing in Belgium and Netherlands, international supply chains.
UN/CEFACT CII: the alternative syntax
CII is the second EN 16931 syntax, used mainly in Germany:
Strengths: Simpler XML structure than UBL. Used by XRechnung (German CIUS) alongside UBL. Supported by many ERP systems. The base format for Factur-X/ZUGFeRD.
Limitations: Not supported on the Peppol network. Smaller adoption footprint than UBL outside Germany. Fewer open-source tools.
Best for: German B2G invoicing (XRechnung CII syntax), companies already using Factur-X/ZUGFeRD, ERP systems with native CII support.
Factur-X / ZUGFeRD: the hybrid approach
Factur-X (France) and ZUGFeRD (Germany) are the same format — a PDF/A-3 with embedded CII XML:
Strengths: Human-readable PDF for visual review + machine-readable XML for automated processing. Gradual adoption path — recipients can start by reading the PDF and automate later. Multiple profiles from MINIMUM to EXTENDED.
Limitations: Larger file size (PDF + XML). The PDF and XML can get out of sync. Not supported on Peppol. Requires PDF/A-3 compliance.
Best for: French e-invoicing reform (Chorus Pro accepts Factur-X), German SMEs (ZUGFeRD 2.x), companies wanting a gradual transition to structured e-invoicing.
Validate your e-invoices with ValidateFin
ValidateFin supports UBL 2.1 validation (including Peppol BIS 3.0 rules) and Factur-X/ZUGFeRD extraction and validation. Upload your invoice and get instant compliance feedback — no file is sent to any server.
Open UBL ValidatorFrequently Asked Questions
Which format should I use for French e-invoicing?
France accepts all three formats: Factur-X, UBL 2.1, and CII. Factur-X is the most popular choice for B2B via Chorus Pro. If you exchange invoices via a Peppol ODP, use UBL 2.1.
Is UBL better than CII?
Neither is inherently better — they implement the same EN 16931 semantic model. UBL has broader adoption via Peppol, while CII is simpler structurally. Choose based on your trading partners and country requirements.
Can I convert between formats?
Yes, since all three implement EN 16931, conversion is possible without data loss for the core fields. Tools like the EU eInvoicing Reference Implementation support UBL↔CII conversion.
Does Peppol support Factur-X?
No. Peppol only supports UBL 2.1 (BIS Billing 3.0). Factur-X invoices must be converted to UBL for Peppol delivery, or exchanged via a non-Peppol channel.
What is a CIUS?
A CIUS (Core Invoice Usage Specification) is a national or sector-specific restriction of EN 16931. Examples: XRechnung (Germany), NLCIUS (Netherlands), Peppol BIS 3.0 (pan-European). A CIUS can restrict but not extend the EN 16931 model.
Which format has the best tooling?
UBL 2.1 has the most extensive tooling thanks to Peppol adoption. Open-source validators, mapping tools, and SDKs are widely available. CII and Factur-X tooling is growing but less mature.
Can one invoice contain both UBL and CII?
No. An invoice uses exactly one syntax. However, Factur-X embeds CII XML inside a PDF — the XML part is pure CII, not a mix.
Is Factur-X the same as ZUGFeRD?
Yes. Since ZUGFeRD 2.0, the Franco-German standard uses the same technical specification. Factur-X is the French name, ZUGFeRD is the German name. They are 100% interoperable.
Which countries mandate which format?
France: Factur-X, UBL, CII all accepted. Germany: XRechnung (UBL or CII) for B2G, any EN 16931 format for B2B. Belgium/Netherlands: UBL via Peppol. Italy: FatturaPA (national format, not EN 16931).
Will EN 16931 add more syntaxes in the future?
Unlikely. The EU standardization mandate focuses on UBL and CII as the two official syntaxes. Factur-X is a delivery mechanism (PDF+CII), not a separate syntax. Any new developments will build on these two foundations.