Dokmatiq DOKMATIQ

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:

UBLCII
HerausgeberOASISUN/CEFACT
Stilflach, XML-pragmatischtief verschachtelt, typisiert
Verbreitet inPeppol-Netz, Benelux, NordicsD/A/CH, Frankreich
Basis fürPeppol BIS Billing 3.0ZUGFeRD, 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

  1. CustomizationID vergessen — ohne passende CustomizationID erkennen Empfänger-Systeme nicht, gegen welche Spec validiert werden soll (Peppol BIS, XRechnung, andere)
  2. Falsche Namespaces — Peppol-Empfänger sind strikt, OASIS-UBL-Namespaces müssen exakt stimmen
  3. UBL-Version-Mismatch — UBL 2.1 vs. 2.2/2.3: für Rechnungen ist 2.1 weiterhin Standard, neuere Versionen laufen parallel
  4. 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.