Alle Formate
OASIS UBL
2.1

Eine UBL-2.1-Rechnung per API prüfen

UBL 2.1 ist die XML-Syntax der OASIS, die im europäischen Austausch verbreitetste und die Referenzsyntax des Peppol-Netzes. Sie trägt dasselbe Rechnungsmodell wie CII, mit anderen Tags.

Was es genau ist

Die zweite von EN 16931 zugelassene Syntax. Ein Aussteller wählt die eine oder die andere je nach Ökosystem — europäische Warenwirtschaft neigt zu UBL, der deutsch-französische Austausch zu CII — und die Norm garantiert, dass beide dieselben Daten tragen.

Was sie von CII unterscheidet

UBL drückt Nachlässe auf eine Weise aus, wo CII zwei Ebenen unterscheidet. Eine einzige Regel genügt dort, wo CII zwei braucht. Umgekehrt existiert eine Konsistenzregel zu Preisbasismengen nur in CII.

Ohne Container

UBL wird als reines XML eingereicht. Das hybride PDF/A-3-Format nimmt nur CII auf: Ein UBL hat darin keinen Platz, und ein PDF, das eines trüge, würde auf Container-Ebene zurückgewiesen.

CII oder UBL: wie viele Regeln sich wirklich unterscheiden

105 Regeln gelten für beide Syntaxen identisch. 6 sind einer Syntax eigen — dort, und nur dort, ändert die Syntaxwahl das Urteil.

  • PEPPOL-EN16931-R043

    Der Nachlass- oder Gebührenindikator ist weder „true“ noch „false“

  • BR-FREXT-04

    Der Artikelattributcode steht nicht in der erweiterten Liste UNTDID 6313

  • BR-FREXT-22

    Eine DETAIL-Position hat keine berechnete Menge

  • BR-FREXT-23

    Eine DETAIL-Position hat keine Mengeneinheit

  • BR-FREXT-24

    Eine DETAIL-Position hat keinen Nettobetrag

  • BR-FREXT-26

    Eine DETAIL-Position hat keinen Artikelnettopreis

Wogegen Factlint es prüft

Die versiegelten Sockel, die dieses Format heute annehmen. Jedes Urteil nennt denjenigen, der es gefällt hat, und bleibt wiederholbar.

  • de-2026-08

    XRechnung 3.0.2 (KoSIT)

  • eu-en16931-2026-08

    EN 16931-1:2017

  • fr-2026-08

    EN 16931 CIUS France + BR-FR-CTC (FNFE)

Die geltenden Codes

111 dokumentierte Codes gelten für dieses Format. Hier sind 12, alphabetisch.

Codes ansehen →

Ausprobieren

Der kostenlose Prüfer nimmt dieses Format ohne Konto an. Per API ist der Aufruf eine Zeile:

curl -X POST https://api.factlint.com/v1/validate \
  -F '[email protected]' \
  -F 'jurisdiction=FR' \
  -F 'ruleset=latest' \
  -H 'Accept-Language: fr'
Prüfer öffnen