PEPPOL-EN16931-R121: Price base quantity (BT-149) is not greater than 0
Official message
[PEPPOL-EN16931-R121] Base quantity MUST be a positive number above zero.
[PEPPOL-EN16931-R121] Base quantity MUST be a positive number above zero.
- Severity
- Error The invoice is invalid and may be rejected by the recipient.
- Applies to
- XRechnung (CII), XRechnung (UBL)
What does this mean?
Base quantity MUST be a positive number above zero: if an item price base quantity (BT-149) is given, it must be greater than 0. The value given is 0 or negative.
The rule originates from Peppol BIS Billing 3.0 and is applied in the XRechnung validation. CII: ram:BasisQuantity in ram:NetPriceProductTradePrice and ram:GrossPriceProductTradePrice. UBL: cac:Price/cbc:BaseQuantity.
Typical causes
The base quantity was passed as 0 instead of being left empty.
For a credit note the base quantity was given negative; the sign belongs to the quantity (BT-129), not to the base quantity.
How to fix the error
State the base quantity as the quantity the price refers to (e.g. 1 or 100), or omit it; without it the price applies to one unit.
Generate and validate the invoice again.
In E-Rechnungsfreund
In the invoice form, "Experte" view, section "Rechnungspositionen (BG-25)" (invoice lines), fill the field "Basis-Menge Netto (BT-149)" (net base quantity) of the line with a value greater than 0; if it is left empty, 1 is used.
Example
Wrong
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>12.50</ram:ChargeAmount>
<ram:BasisQuantity unitCode="H87">0</ram:BasisQuantity>
</ram:NetPriceProductTradePrice>
Correct
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>12.50</ram:ChargeAmount>
<ram:BasisQuantity unitCode="H87">1</ram:BasisQuantity>
</ram:NetPriceProductTradePrice>
For developers: test expression per syntax
XRechnung (CII) (CII)
Context: ram:NetPriceProductTradePrice | ram:GrossPriceProductTradePrice
not(ram:BasisQuantity) or xs:decimal(ram:BasisQuantity) > 0
XRechnung (UBL) (UBL)
Context: cac:InvoiceLine | cac:CreditNoteLine
not(cac:Price/cbc:BaseQuantity) or xs:decimal(cac:Price/cbc:BaseQuantity) > 0
Related validation rules
- PEPPOL-EN16931-R001: Business process type (BT-23) is missing
- PEPPOL-EN16931-R005: VAT accounting currency (BT-6) equals the invoice currency (BT-5)
- PEPPOL-EN16931-R008: The invoice contains empty elements
- PEPPOL-EN16931-R010: Buyer electronic address (BT-49) is missing
- PEPPOL-EN16931-R020: Seller electronic address (BT-34) is missing
- PEPPOL-EN16931-R040: Allowance or charge amount does not match base amount and percentage
Last updated:
Explanation of the validation rule, not legal or tax advice.