Format guide

The UBL Invoice Format, Explained

What UBL is, how Peppol BIS Billing 3.0 builds on it, what the XML actually looks like, and verified sample files to download.

What is UBL?

UBL, the Universal Business Language, is an OASIS standard (and ISO/IEC 19845) defining XML vocabularies for business documents: invoices, credit notes, orders, despatch advices, and dozens more. For e-invoicing, two of those document types matter: Invoice and CreditNote. Unlike the hybrid ZUGFeRD and Factur-X formats, a UBL invoice is pure XML with no PDF layer: it is written for machines first.

That machine-first design is why UBL dominates network-based e-invoicing: it is the syntax of Peppol BIS Billing 3.0, the standard document exchanged across the Peppol network, and the default choice in the Netherlands, Belgium, the Nordics, and a growing list of countries beyond Europe.

UBL, EN 16931, and Peppol BIS 3.0

Three layers stack on top of each other. UBL 2.1 provides the XML vocabulary. EN 16931, the European e-invoicing norm, defines which fields an invoice must carry and over 200 business rules connecting them. Peppol BIS Billing 3.0 is a usage specification (CIUS) of that norm: it narrows EN 16931 further with network-specific rules, such as valid endpoint identifier schemes and country-specific checks. The declaration lives at the top of every file:

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

Those two lines tell every receiving platform which rulebook to validate against. Get them wrong and a perfectly sensible invoice bounces.

Inside a UBL invoice

The structure is flat and readable once you know the blocks: supplier and customer parties (each with an EndpointID for network delivery, a legal registration, and a VAT number), payment means with IBAN, a tax breakdown per VAT category, document totals, and one InvoiceLine per item. Two details routinely trip up newcomers: credit notes use a separate CreditNote root element rather than a type code alone, and endpoint identifiers must use a registered scheme (a real GS1 GLN, a VAT number scheme, or a national business register) because Peppol validates their format.

UBL or CII: the two EN 16931 syntaxes

EN 16931 permits two XML syntaxes: UBL and UN/CEFACT CII. They carry the same data model, so conversion between them is lossless for the core invoice. CII is the syntax embedded in ZUGFeRD and Factur-X hybrid PDFs; UBL is the syntax of the Peppol network. Which one you need is decided by your recipient, and converting is a solved problem:

Sample files to download

All files below were generated and validated with the tools on this site; the data is fictitious. Use them to test parsers, validators, viewers, and Peppol onboarding.

Frequently Asked Questions

Common questions about the UBL invoice format.

No. UBL is the XML vocabulary; Peppol is the delivery network plus a rulebook. A Peppol BIS Billing 3.0 invoice is a UBL 2.1 document that additionally follows the Peppol rules, so every BIS invoice is UBL, but not every UBL file is Peppol-ready.
UBL 2.1 is what EN 16931 and Peppol BIS Billing 3.0 are built on, and what receiving platforms expect. Newer UBL releases exist but 2.1 remains the interoperability baseline for invoicing.
No, and this surprises people coming from CII: UBL uses two separate root elements, Invoice and CreditNote, each with its own schema. The type code (380 vs 381) must match the document type.
Not by default: UBL is pure XML. A readable PDF can be embedded as a Base64 attachment or generated from the data; the viewer and UBL-to-PDF tools on this site do exactly that.
Yes. UBL is standardized by OASIS and approved as ISO/IEC 19845, free to implement with no license fees.
Yes: both syntaxes express the same EN 16931 data model, so lossless conversion of the core invoice is possible. This site has converters in both directions.
Ready for Peppol e-invoicing?

Make every invoice compliant, in one message

Sign up to unlock unlimited tools, selectable compliance profiles and every premium feature.

EN 16931 & Peppol BIS 3.0 compliant Results in seconds No installation Data never stored
3 free uses per day · No card required