PEPPOL-EN16931-R121Base quantity MUST be a positive number above zero.

Offizieller Regeltext

Die Preiseinheit (BT-149) muss größer als null sein — sie sagt, auf wie viele Einheiten sich der Preis bezieht, etwa 100 je 100 Stück. Null scheitert daran ebenso wie ein negativer Wert; ganz weglassen ist dagegen erlaubt und bedeutet: Preis je Einheit.

Schweregrad
Fehler
Gilt für
CII, UBL
Regelwerk
v2026-08-31
Geprüft am

Geschrieben und gegen das offizielle KoSIT-Regelwerk geprüft von Dmytro Yalanskyi, NormAPI.

Warum tritt PEPPOL-EN16931-R121 auf?

Das Feld wird mit dem Standardwert des eigenen Datentyps belegt, und der ist bei einer nicht gepflegten Zahl oft 0. Ein Preis je null Einheiten ist eine Division durch null und macht jede Nachrechnung unmöglich.

Was der Validator prüft

Der Ausdruck, den das offizielle KoSIT-Regelwerk auswertet — nicht paraphrasiert, sondern aus der ausgelieferten Schematron-Datei gelesen. UBL und CII adressieren verschiedene Dokumentbäume, deshalb steht dieselbe Regel je Syntax anders da.

UBL
not(cac:Price/cbc:BaseQuantity) or xs:decimal(cac:Price/cbc:BaseQuantity) > 0
CII
not(ram:BasisQuantity) or xs:decimal(ram:BasisQuantity) > 0

Quelle: Regelwerk v2026-08-31

Wie behebt man PEPPOL-EN16931-R121?

Lassen Sie cac:Price/cbc:BaseQuantity weg, wenn sich der Preis auf eine Einheit bezieht — das ist der Standardfall und braucht keine Angabe. Andernfalls setzen Sie die tatsächliche Bezugsmenge, in CII ram:BasisQuantity.

Im XML

Ausschnitt in UBL. Der CII-Pfad steht oben im Text — dieselbe Änderung, andere Elementnamen.

Fehlerhaft
<cac:Price>
  <cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
  <cbc:BaseQuantity unitCode="C62">0</cbc:BaseQuantity>
</cac:Price>
Korrigiert
<cac:Price>
  <cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
  <cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>
</cac:Price>

Verwandte Regeln

NormAPI liefert technische Validierung, keine Steuer- oder Rechtsberatung.