PEPPOL-EN16931-R121: Base quantity MUST be a positive number above zero
Peppol BIS Billing 3.0.21 · UBL
Original rule text
[PEPPOL-EN16931-R121]-Base quantity MUST be a positive number above zero.
not(cac:Price/cbc:BaseQuantity) or xs:decimal(cac:Price/cbc:BaseQuantity) > 0PEPPOL-EN16931-R121 is a fatal rule in the format layer of Peppol BIS Billing 3.0.21 · UBL. An invoice that breaks it is rejected.
What this rule requires
For each cac:InvoiceLine or cac:CreditNoteLine, the UBL test allows cac:Price/cbc:BaseQuantity to be absent, but when it is present its value, converted to decimal, must be greater than 0. The rule therefore rejects a present base quantity of 0, a negative number, or a value that cannot be read as a decimal. The message states "Base quantity MUST be a positive number above zero", which the test applies only when the element exists.
How to fix
If cac:Price/cbc:BaseQuantity is present, set it to a positive number above zero (e.g. 1). If base quantity does not apply, remove the element. Check that the value is a valid decimal, not zero or negative.
Guidance on this rule. The original text above is authoritative.
Where to go next
No published Peppol BIS Billing UBL release comparison lists a change to PEPPOL-EN16931-R121.
Validate an invoice against these rules · All release changes