How UBL Works
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.
Why UBL Matters
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.
How to Get Started
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.
How Invoice Navigator handles UBL
Invoice Navigator validates UBL 2.1 invoices as used across Peppol BIS, XRechnung, and other CIUS profiles. The engine parses UBL syntax, runs EN 16931 semantic checks, and applies profile-specific rules. Auto-remediation corrects structural issues without altering line items or tax calculations.
View API documentationValidate Your UBL Invoice
Check UBL syntax and business rule compliance.
Validate NowContinue Learning
What is CII?
Cross Industry Invoice (CII) is a UN/CEFACT XML syntax for electronic invoices, used as the base format for ZUGFeRD, Factur-X, and one of the two EN 16931-compliant syntaxes.
What is Peppol?
Peppol is a secure pan-European network for exchanging standardized electronic business documents, governed by OpenPeppol and connecting over 300,000 organizations across 40+ countries.
Read moreWhat is XRechnung?
XRechnung is Germany's national implementation (CIUS) of the EN 16931 European e-invoicing standard, mandatory for all public sector invoicing in Germany.
Read moreWhat is ZUGFeRD?
ZUGFeRD is a German hybrid e-invoice format that embeds machine-readable XML data inside a human-readable PDF, enabling both automated processing and visual review.
Read more