ValidateFin
Back to blog
·Updated Mar 11, 2026·E-invoicing·By Eliel Nicaise

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:

AspectUBL 2.1UN/CEFACT CIIFactur-X / ZUGFeRD
Syntax typePure XMLPure XMLHybrid: PDF/A-3 + embedded CII XML
Maintained byOASISUN/CEFACTFNFE-MPE (FR) + FeRD (DE)
EN 16931 syntaxYes — CIUS supportYes — CIUS supportYes — via embedded CII XML
Peppol supportPrimary format (BIS 3.0)Not directly supportedNot on Peppol network
Human-readable?No (XML only)No (XML only)Yes — PDF is human-readable
Main adoptersNetherlands, Belgium, Peppol countriesGermany (XRechnung CII), some EU programsFrance, 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 Validator

Frequently 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.