What is PEPPOL BIS Billing 3.0?
PEPPOL BIS Billing 3.0 is the pan-European interoperability profile for exchanging invoices over the PEPPOL network. It is defined over UBL 2.1 only - CII input must be transcoded to UBL before it can be sent as PEPPOL.
Open a PEPPOL BIS Billing 3.0 file in the viewer → See every business term, a visual preview and the raw XML.
- Country
- Pan-European 🇪🇺
- Syntax
- UBL 2.1 only
- Version
- 3.0
Key facts
- CustomizationID urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0.
- ProfileID urn:fdc:peppol.eu:2017:poacc:billing:01:1.0.
- UBL 2.1 syntax only - PEPPOL does not accept CII.
- Covers the Invoice and CreditNote document types under one BIS Billing profile.
- Norwegian EHF Billing 3.0 and Greek CIUS align with PEPPOL BIS.
PEPPOL BIS Billing 3.0 and EN 16931
PEPPOL BIS Billing 3.0 is a CIUS (Core Invoice Usage Specification) of the European standard EN 16931. EN 16931 defines the semantic model of an electronic invoice - the business terms (BT-1, BT-2 …) and their meaning - independent of any XML syntax. A CIUS narrows that model for a specific community without breaking compatibility: it can make optional fields mandatory and add validation rules, but it cannot invent new terms.
In practice this means every valid PEPPOL BIS Billing 3.0 invoice is also a valid EN 16931 invoice. The CustomizationID urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0 states exactly that: EN 16931-compliant, further constrained by the PEPPOL billing profile. The ProfileID urn:fdc:peppol.eu:2017:poacc:billing:01:1.0 identifies the business process (billing) the document belongs to.
How PEPPOL delivers an invoice: the four-corner model
PEPPOL is not a file format you email - it is a delivery network. The sender (corner 1) hands the invoice to its Access Point (corner 2). That Access Point looks the receiver up in the PEPPOL directory (SML/SMP), finds the receiver’s Access Point (corner 3), and delivers the document to the receiver (corner 4) over the secured AS4 protocol. This is the "four-corner model".
Each participant is addressed by a PEPPOL Participant Identifier - typically a VAT or company-registration number with a scheme prefix (for example 9930:DE123456789 for a German VAT number). BIS Billing 3.0 is the document profile that travels across this network; the network itself moves any PEPPOL BIS document the same way.
Document types covered
PEPPOL BIS Billing 3.0 is a single profile that covers both invoices and credit notes. They use different UBL root elements but share the same CustomizationID and ProfileID.
| Document | UBL root element | Typical use |
|---|---|---|
| Invoice | ubl:Invoice | Commercial invoice, including corrective invoices with negative lines |
| Credit Note | ubl:CreditNote | Crediting a previously issued invoice |
Why UBL only - and what happens to CII
EN 16931 has two permitted syntaxes: OASIS UBL 2.1 and UN/CEFACT CII D16B. PEPPOL BIS Billing 3.0 accepts UBL 2.1 only. A CII invoice - including the XML embedded inside a Factur-X / ZUGFeRD PDF - cannot be sent over PEPPOL as-is.
Because both syntaxes express the same EN 16931 semantic model, a CII invoice can be transcoded to UBL without losing meaning: each CII element is mapped to its UBL counterpart. Facturus does this transcoding when you convert Factur-X, ZUGFeRD or XRechnung-CII to PEPPOL BIS - the business data is preserved, only the XML wrapper changes.
National rulesets aligned with PEPPOL BIS
Several countries publish their own CIUS that build on, or interoperate with, PEPPOL BIS Billing 3.0. They share the UBL 2.1 syntax and the EN 16931 model but add national rules and their own CustomizationID.
| Country | Profile | Relationship |
|---|---|---|
| Germany | XRechnung (UBL) | EN 16931 CIUS; routinely exchanged over PEPPOL for B2G |
| Norway | EHF Billing 3.0 | Built directly on PEPPOL BIS Billing 3.0 |
| Netherlands | NLCIUS / SI-UBL 2.0 | National CIUS, PEPPOL-transportable |
| Greece | Greek CIUS | Aligns with PEPPOL BIS |
Validating a PEPPOL BIS invoice
A PEPPOL BIS Billing 3.0 invoice is valid only if it passes three layers, in order:
1. UBL 2.1 XSD - the document is well-formed and structurally correct UBL. 2. EN 16931 business rules (~200 Schematron rules, the BR-* set) - the semantic invoice is internally consistent (totals add up, VAT categories are coherent). 3. PEPPOL rules (the PEPPOL-EN16931-* Schematron) - the additional PEPPOL-specific constraints, for example mandatory buyer/seller electronic addresses.
A common failure is rule PEPPOL-EN16931-R004 (or the BR-CO totals rules) when calculated totals do not match the stated totals. You can run all three layers in the browser with the Facturus validator - upload a file under Validate and you get the EN 16931 + PEPPOL compliance report without sending anything over the network.
Example: a minimal PEPPOL BIS Billing 3.0 header
The two identifiers that make a UBL invoice a PEPPOL BIS Billing 3.0 invoice are the CustomizationID and ProfileID at the top of the document:
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>INV-2026-0001</cbc:ID>
<cbc:IssueDate>2026-06-12</cbc:IssueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<!-- AccountingSupplierParty, AccountingCustomerParty, InvoiceLine, TaxTotal, LegalMonetaryTotal … -->
</Invoice> Frequently asked questions
- Does PEPPOL accept CII?
- No. PEPPOL BIS Billing 3.0 is UBL-only. CII invoices (including the XML inside a Factur-X or ZUGFeRD PDF) must be transcoded to UBL 2.1 first.
- Is PEPPOL BIS Billing 3.0 mandatory?
- PEPPOL itself is not mandatory everywhere, but several countries mandate EN 16931 e-invoicing and use PEPPOL as the delivery network - for example Norwegian and Dutch public-sector invoicing, and German B2G via XRechnung over PEPPOL.
- What is the difference between PEPPOL BIS and XRechnung?
- Both are EN 16931 CIUS profiles in UBL. PEPPOL BIS Billing 3.0 is the pan-European interoperability profile; XRechnung is the German national CIUS (and also exists in CII). XRechnung invoices are commonly transported over the PEPPOL network.
- What is a PEPPOL Access Point?
- An Access Point is a certified service provider that sends and receives documents on the PEPPOL network on your behalf, using the AS4 protocol and the four-corner model. You connect to an Access Point rather than to each trading partner individually.
- Is PEPPOL BIS UBL 2.1 or 2.0?
- UBL 2.1. PEPPOL BIS Billing 3.0 is defined over OASIS UBL 2.1 only.
- How do I validate a PEPPOL BIS invoice?
- Check it against three layers: the UBL 2.1 XSD, the EN 16931 Schematron rules, and the PEPPOL-EN16931 Schematron rules. The free Facturus validator runs all three in your browser - no upload to a server.