PEPPOL & Compliance

PEPPOL BIS Billing 3.0 and UBL: The E-Invoice Format Explained for Belgium

If you've researched PEPPOL e-invoicing, you've encountered terms like PEPPOL BIS Billing 3.0, UBL 2.1, and EN 16931. These are the technical standards that define what a PEPPOL invoice looks like under the hood. The good news: you don't need to understand XML to send compliant invoices — your invoicing software handles all of this. But understanding what these terms mean helps you make sense of compliance requirements.

What Is EN 16931?

EN 16931 is the European Standard for Electronic Invoicing, published by the European Committee for Standardisation (CEN). It defines the semantic data model of a European electronic invoice — essentially, a list of all the data elements an e-invoice must or may contain, and the business rules that govern them.

Think of EN 16931 as the specification — it says what information must be in an invoice, but not the exact file format it must be in.

What Is UBL 2.1?

Universal Business Language (UBL) 2.1 is an XML-based file format standard published by OASIS. It is one of two syntax formats approved for implementing EN 16931 in Europe (the other is UN/CEFACT CII, used by FacturX/ZUGFeRD).

A UBL invoice is an XML file with a specific structure — tags like <cbc:InvoiceTypeCode>, <cac:AccountingSupplierParty>, and <cac:TaxTotal> that a computer system can read and process automatically.

What Is PEPPOL BIS Billing 3.0?

PEPPOL BIS Billing 3.0 (Business Interoperability Specification) is the specific implementation profile used for PEPPOL invoices in Belgium and across the EU. It defines:

  • Which UBL 2.1 fields are mandatory, optional, or forbidden for PEPPOL invoices
  • Additional business rules on top of EN 16931
  • The exact code lists to use (currency codes, VAT category codes, unit codes)
  • Country-specific extensions for Belgium (KBO number, Belgian VAT number format)

PEPPOL BIS Billing 3.0 is currently at version 3.0.17. The "3.0" refers to the PEPPOL specification version, not UBL version.

UBL vs CII: What's the Difference?

EN 16931 can be implemented in two XML syntaxes:

  • UBL 2.1 — used by PEPPOL BIS Billing 3.0, the standard for Belgium and most EU countries
  • UN/CEFACT CII (Cross Industry Invoice) — used by FacturX (France), ZUGFeRD (Germany), and XRechnung (Germany). Can also be used with PEPPOL but less common.

For Belgium, UBL 2.1 in PEPPOL BIS Billing 3.0 format is the standard. If a Belgian government entity or company asks you to send a PEPPOL invoice, this is the format.

Do I Need to Know Any of This to Send PEPPOL Invoices?

No. Eurobillr generates PEPPOL BIS Billing 3.0 UBL invoices automatically when you click "Send via PEPPOL." You fill in the invoice fields in the normal user interface — Eurobillr converts this to correctly formatted XML, validates it against the PEPPOL schemas and business rules, and transmits it via the PEPPOL network. You never see the XML.

What If My Client Asks for a Specific Format?

Belgian B2B PEPPOL invoices use PEPPOL BIS Billing 3.0 (UBL). If you work with French clients, they may request FacturX. If you work with German clients, they may request XRechnung or ZUGFeRD. Eurobillr supports multiple formats — select the appropriate one when sending to foreign clients.

Send PEPPOL BIS Billing 3.0 invoices automatically →

← Back to all articles