UBL 2.1 vs CII: Which Peppol Format Does Belgium's E-Invoicing Mandate Require?
Belgium's B2B e-invoicing mandate accepts both UBL 2.1 and CII 16B under EN 16931 โ but only one is what your Peppol access point will actually send. Here's the difference.
UBL 2.1 vs CII: Which Peppol Format Does Belgium's E-Invoicing Mandate Require?
Belgium's B2B e-invoicing mandate requires an EN 16931-compliant structured invoice, and EN 16931 is a semantic data model with two valid XML syntaxes: UBL 2.1 and UN/CEFACT Cross Industry Invoice (CII) 16B. Both are legally acceptable. In practice, though, almost every invoice moving through Belgium's Peppol network uses one of them โ and it isn't a coin flip. If you're setting up e-invoicing for a Belgian business and wondering which format your software actually needs to produce, this is the short answer.
For the full compliance picture โ who's in scope, deadlines, and penalties โ see our Belgium e-invoicing complete guide.
The Short Answer: UBL 2.1, via Peppol BIS Billing 3.0
Peppol BIS Billing 3.0 โ the invoice specification that governs almost all structured B2B invoicing in Belgium โ is built on UBL 2.1. When your accounting software, ERP, or Peppol access point generates an outbound invoice for a Belgian trading partner, it is producing a UBL 2.1 document formatted to the Peppol BIS Billing 3.0 rules, not a raw CII file. CII 16B is technically a valid EN 16931 syntax and is permitted under Belgian law, but it isn't the format Peppol BIS Billing 3.0 uses, so you're unlikely to encounter it in a standard Belgian Peppol exchange.
Why the Distinction Exists
EN 16931 defines a semantic data model โ the set of fields an invoice must carry (seller, buyer, VAT amounts, line items, and so on) โ separately from the syntax used to encode those fields as XML. The standard recognizes two syntax bindings:
- UBL (Universal Business Language) 2.1 โ an OASIS standard, widely used across Peppol-based networks in Belgium, Poland, and elsewhere
- UN/CEFACT CII 16B โ the syntax German ZUGFeRD and French Factur-X are built on
Both encode the same underlying data; the difference is the XML structure and tag naming. A compliant invoice-processing system needs to be able to read both if it wants to handle cross-border EN 16931 traffic generally, but for domestic Belgian B2B invoicing specifically, UBL 2.1 via Peppol BIS Billing 3.0 is what you'll send and receive.
Where CII Actually Shows Up for Belgian Businesses
CII becomes relevant if you trade cross-border with countries where hybrid CII-based formats are the norm:
- Germany: ZUGFeRD 2.x is a hybrid PDF/XML format built on CII
- France: Factur-X โ functionally the same specification as ZUGFeRD, developed jointly by France and Germany โ is also CII-based
If your Belgian business regularly invoices German or French counterparts, your software may need to generate or accept CII-based hybrid invoices for those specific relationships, even though your domestic Belgian Peppol traffic stays on UBL 2.1. Most multi-country Peppol access points (see our software comparison) handle both natively, so this is usually a configuration question rather than a separate integration project.
What This Means Practically
- For domestic Belgian B2B invoicing, confirm your software or access point produces Peppol BIS Billing 3.0 / UBL 2.1 โ this is what satisfies the mandate for transactions between Belgian VAT-registered businesses.
- You don't need to build CII support unless you're separately handling German ZUGFeRD or French Factur-X invoices for cross-border trade.
- Don't assume "EN 16931-compliant" alone tells you the syntax. Ask your vendor specifically whether they generate UBL 2.1 (for Belgian Peppol traffic) and, if relevant, CII-based hybrid formats for your German or French trading partners.
Last updated: August 2026. EN 16931's dual-syntax model is defined by CEN/TC 434; consult the European Commission's eInvoicing in Belgium page for the current legal text.