Learn · formats
What is UBL?
Universal Business Language (UBL) 2.1 is an OASIS XML standard for business documents including invoices, widely used as the syntax for Peppol BIS and national e-invoicing implementations.
UBL defines XML schemas for business documents. A UBL invoice contains structured elements like:
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:ID>INV-2024-001</cbc:ID>
<cbc:IssueDate>2024-01-15</cbc:IssueDate>
<cac:AccountingSupplierParty>...</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>...</cac:AccountingCustomerParty>
<cac:InvoiceLine>...</cac:InvoiceLine>
</Invoice>
UBL Namespaces
UBL uses two main namespace prefixes:
- cbc: Common Basic Components (simple values like dates, amounts)
- cac: Common Aggregate Components (complex structures like parties, addresses)
UBL vs Peppol BIS
Peppol BIS Billing 3.0 is built on UBL 2.1 but adds specific business rules and restrictions. Think of UBL as the "language" and Peppol BIS as the "dialect" used on the Peppol network.
International Standard
UBL is the de facto standard for cross-border e-invoicing in the EU. If you send invoices via Peppol, you're using UBL.
EN 16931 Compliant
UBL 2.1 is one of the two official syntaxes for EU e-invoicing. XRechnung, Peppol BIS, and many national formats are based on UBL.
Well Supported
Major accounting software, ERP systems, and e-invoicing platforms support UBL natively. Libraries exist for all programming languages.
Step 1: Understand the Structure
UBL invoices follow a hierarchical XML structure. Study the core elements: parties, line items, tax totals, and payment means.
Step 2: Choose Your Profile
For EU use, implement Peppol BIS Billing 3.0 (based on UBL). For specific countries, check if they have additional requirements (e.g., XRechnung for Germany).
Step 3: Validate Thoroughly
UBL validation involves multiple levels: XML schema validation, business rule checking, and profile-specific rules.
- What is CII?
Alternative syntax
- UBL vs CII
Syntax comparison
- What is Peppol?
E-invoice network
- What is EN 16931?
The EU standard
- What is XRechnung?
German UBL profile
Frequently Asked Questions
- What's the difference between UBL and CII?
- Both are XML syntaxes for EN 16931 invoices. UBL is more common internationally (Peppol), while CII is used in hybrid formats like ZUGFeRD/Factur-X. Both express the same data, just structured differently. Compare UBL vs CII
- Is UBL the same as Peppol?
- No. UBL is a document format; Peppol is a network. Peppol uses UBL-based formats (Peppol BIS Billing) for its invoices, but they're separate concepts.
- Can I convert UBL to PDF?
- Yes. UBL is machine-readable XML that can be rendered to PDF for human viewing using stylesheets (XSLT). Many tools provide UBL visualization.
- Which UBL version should I use?
- UBL 2.1 is required for EN 16931 compliance. UBL 2.3 exists but hasn't been adopted by EU e-invoicing standards yet.
- Is UBL free to use?
- Yes. UBL is an open OASIS standard with no licensing fees. All schemas and documentation are freely available.
More Questions About What is UBL?
- What is the difference between UBL and CII?
- UBL (Universal Business Language) and CII (Cross Industry Invoice) are the two XML syntaxes allowed by the EU e-invoicing standard EN 16931. UBL 2.1 is used by Peppol BIS and XRechnung. CII D16B is used by ZUGFeRD and Factur-X. Both carry the same business data — the difference is the XML structure. Most of the EU uses UBL via Peppol; CII is primarily used in Germany and France for hybrid PDF/XML invoices.
Have an e-invoice that came back rejected? Check it here.
Checking is free. The first verified download every 30 days is free. After that €1.90 per invoice, or €9 a month for all of them.