UBL (Universal Business Language)
OASIS-XML-Standard für Geschäftsdokumente — zweite zulässige Syntax für EN-16931-E-Rechnungen und Standard im europäischen Peppol-Netz.
Auch bekannt als: OASIS UBL, UBL 2.1, UBL Invoice, Universal Business Language
Kurzdefinition
UBL (Universal Business Language) ist ein XML-Standard für Geschäftsdokumente, gepflegt vom Konsortium OASIS. UBL beschreibt nicht nur Rechnungen, sondern eine ganze Familie: Bestellungen, Lieferscheine, Gutschriften, Mahnungen — alle mit gemeinsamen Bausteinen.
Seit UBL 2.1 ist es die bevorzugte Syntax im europäischen Peppol-Netz und eine der beiden zulässigen Syntaxen für EN 16931-konforme E-Rechnungen.
Aufbau eines UBL-Invoice
Ein UBL-Dokument ist flacher und tagorientierter als CII. Das Wurzelelement ist Invoice (respektive CreditNote für Gutschriften):
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_3.0</cbc:CustomizationID>
<cbc:ID>2026-0042</cbc:ID>
<cbc:IssueDate>2026-04-17</cbc:IssueDate>
<cac:AccountingSupplierParty>…</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>…</cac:AccountingCustomerParty>
<cac:InvoiceLine>…</cac:InvoiceLine>
</Invoice>
Zwei zentrale Namespaces tauchen dabei immer auf:
cbc:— Common Basic Components (einfache Werte wie IDs, Daten, Beträge)cac:— Common Aggregate Components (zusammengesetzte Blöcke wie Party, Address, LineItem)
UBL vs. CII
Inhaltlich tragen beide Syntaxen dieselben Business-Term-Felder aus EN 16931 — sie sind semantisch gleichwertig. Unterschiede:
| UBL | CII | |
|---|---|---|
| Herausgeber | OASIS | UN/CEFACT |
| Stil | flach, XML-pragmatisch | tief verschachtelt, typisiert |
| Verbreitet in | Peppol-Netz, Benelux, Nordics | D/A/CH, Frankreich |
| Basis für | Peppol BIS Billing 3.0 | ZUGFeRD, Factur-X |
Viele ERP-Systeme in Nord- und Westeuropa sprechen nativ UBL, während deutsche und französische Systeme oft CII bevorzugen.
Wo UBL zum Einsatz kommt
- Peppol BIS Billing 3.0 — das De-facto-Format im Peppol-Netz
- XRechnung — UBL ist eine der beiden zulässigen Syntaxen (die zweite ist CII)
- Öffentliche Aufträge in Norwegen, Dänemark, Italien — nationale Vorgaben setzen häufig UBL voraus
UBL mit der Dokmatiq-API erzeugen
curl -X POST https://api.dokmatiq.com/v1/einvoice/xrechnung \
-H "Authorization: Bearer $DOKMATIQ_KEY" \
-H "Content-Type: application/json" \
-d '{
"syntax": "UBL",
"invoice": {
"id": "2026-0042",
"issueDate": "2026-04-17",
"leitwegId": "991-33333TEST-33",
"seller": { "name": "Muster GmbH", "vatId": "DE123456789" },
"buyer": { "name": "Kunde AG" },
"lines": [{ "description": "Beratung", "quantity": 8, "unitPrice": 120.0 }]
}
}'
Die API liefert direkt UBL-XML zurück, das gegen das Schematron der Ziel-Spezifikation validiert wurde. Mit "syntax": "CII" wechselt derselbe Input in die CII-Variante — ohne Informationsverlust, weil beide dieselben BT-Felder nutzen.
Häufige Stolpersteine
- CustomizationID vergessen — ohne passende
CustomizationIDerkennen Empfänger-Systeme nicht, gegen welche Spec validiert werden soll (Peppol BIS, XRechnung, andere) - Falsche Namespaces — Peppol-Empfänger sind strikt, OASIS-UBL-Namespaces müssen exakt stimmen
- UBL-Version-Mismatch — UBL 2.1 vs. 2.2/2.3: für Rechnungen ist 2.1 weiterhin Standard, neuere Versionen laufen parallel
- Leitweg-ID im falschen Feld — in UBL gehört sie in
cbc:BuyerReference, nicht in einen Endpoint-Tag
Bereit, es direkt per API zu nutzen?
Kostenlos starten. Keine Kreditkarte. 100 Dokumente pro Monat inklusive.