XML format
UBL Invoice
The OASIS invoice document behind Peppol and most European e-invoicing mandates, splitting its vocabulary across three namespaces you must all declare.
A UBL invoice splits its vocabulary across three namespaces: the document type itself, cbc: for leaf values, and cac: for aggregate structures. That means even a minimal invoice declares three xmlns attributes, and stripping any of them makes the document unprocessable.
Schema validity is only the first gate. Peppol BIS and national profiles add business rules on top, so an invoice can be perfectly schema-valid UBL and still be rejected by the network — which is exactly the class of failure that shows up as structural drift over time.
Constraints that bite
- Three namespaces are mandatory in practice: Invoice-2, cbc and cac.
- Element order follows the schema sequence; reordering breaks validation.
- CustomizationID and ProfileID identify the business profile, not the schema version.
- Schema-valid is not network-valid — Peppol rules are an additional layer.
- Amounts require a currencyID attribute; a bare number is invalid.
- Root element
<Invoice>- Media type
application/xml- Extensions
.xml- Namespaces
urn:oasis:names:specification:ubl:schema:xsd:Invoice-2
- XMLDir label
xml
A minimal valid document
Every example on this site is checked against the same parser the workspace uses, so what you see below is known to be well-formed.
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2">
<cbc:ID>INV-10024</cbc:ID>
<cbc:IssueDate>2026-07-20</cbc:IssueDate>
<cac:LegalMonetaryTotal>
<cbc:PayableAmount currencyID="EUR">120.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
</Invoice>Namespaces you will meet
UBL 2 Invoice
urn:oasis:names:specification:ubl:schema:xsd:Invoice-2The root namespace for a UBL invoice, the basis of most European e-invoicing mandates. A UBL document declares this one plus cbc: and cac:.
XML Schema Definition (XSD)
http://www.w3.org/2001/XMLSchemaThe vocabulary a schema document is written in — the xs: elements plus the built-in datatypes an XSD refers to. Bound to xs: or xsd: by convention.
Get started
Bring order to the XML your team can't afford to ignore.
Create a free account and get a private workspace to search, validate, diff, and monitor your XML feeds, sitemaps, schemas, and vendor integrations.