Skip to main content

XML namespace

UBL Common Aggregate Components

Every structure in a UBL document — parties, addresses, lines, tax totals. If it groups other elements rather than holding a value, it is cac:.

xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"

The counterpart to the basic components. cac:AccountingSupplierParty, cac:InvoiceLine, cac:TaxTotal and cac:PostalAddress are containers: they hold cbc: leaves and further cac: structures, nested several levels deep in any real invoice.

The nesting is the part that surprises people. Reaching a supplier's street name means walking cac:AccountingSupplierParty → cac:Party → cac:PostalAddress → cbc:StreetName, and that path is stable across every UBL document, which is what makes UBL machine-readable at the cost of being verbose.

A UBL invoice therefore always declares at least three namespaces — the document type, this one, and the basic components — and stripping any of them makes the document unprocessable rather than merely untidy.

URI
urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2
Prefix
cac
Elements
AccountingSupplierPartyPartyPostalAddressInvoiceLineTaxTotal

Specification: UBL 2.1 specification

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.