PEPPOL-EN16931-R121Base quantity MUST be a positive number above zero.
Official rule text
The price base quantity (BT-149) must be greater than zero — it states how many units the price refers to, 100 for a price per hundred. Zero fails it and so does a negative value; leaving the element out altogether is allowed and means a price per single unit.
- Severity
- Error
- Applies to
- CII, UBL
- Rule set
- v2026-08-31
- Checked on
Written and checked against the official KoSIT rule set by Dmytro Yalanskyi, NormAPI.
Why does PEPPOL-EN16931-R121 happen?
The field is filled with the default of your own data type, and for an unmaintained number that is often 0. A price per zero units is a division by zero and makes any recalculation impossible.
What the validator checks
The expression the official KoSIT rule set evaluates — not paraphrased, but read from the Schematron file it ships. UBL and CII address different document trees, so the same rule reads differently in each.
- UBL
not(cac:Price/cbc:BaseQuantity) or xs:decimal(cac:Price/cbc:BaseQuantity) > 0- CII
not(ram:BasisQuantity) or xs:decimal(ram:BasisQuantity) > 0
Source: rule set v2026-08-31
How do you fix PEPPOL-EN16931-R121?
Omit cac:Price/cbc:BaseQuantity where the price is per single unit — that is the default and needs no statement. Otherwise set the real reference quantity, in CII ram:BasisQuantity.
In the XML
A UBL fragment. The CII path is named above — same change, different element names.
<cac:Price>
<cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">0</cbc:BaseQuantity>
</cac:Price><cac:Price>
<cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>
</cac:Price>Related rules
- Peppol BIS rules — what applies on top when delivery goes through Peppol
- PEPPOL-EN16931-R120 — Invoice line net amount MUST equal (Invoiced quantity * (Item net price/item price base quantity) + Sum of invoice line charge amount - sum of invoice line allowance amount
- PEPPOL-EN16931-R130 — Unit code of price base quantity MUST be same as invoiced quantity.
NormAPI provides technical validation, not tax or legal advice.