BR-KSA-EN16931-12: Item price base quantity must be greater than zero
Applies when cac:InvoiceLine/cac:Price/cbc:BaseQuantity (BT-149) is present with a value. The value must be a number greater than 0.
How to fix it
Use a positive base quantity, e.g. <cbc:BaseQuantity unitCode="PCE">1</cbc:BaseQuantity>, or omit cbc:BaseQuantity if the price is per one unit.
ZATCA's official text
[BR-KSA-EN16931-12]-Base quantity (BT-149) must be a positive number above zero.
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules
Fails when (the condition ZATCA's SDK runs)
string-length(.) > 0 and not(number((.)) > 0)
Related rules
- BR-KSA-EN16931-11 · Line net amount = quantity × net price ± line charges/allowances
- BR-KSA-EN16931-08 · Exactly one TaxTotal with tax subtotals per invoice
- BR-KSA-EN16931-09 · With a tax currency code, add one TaxTotal without subtotals
- BR-KSA-F-01 · Dates must use the YYYY-MM-DD format
- BR-KSA-F-02 · Allowance/charge indicator must be 'false' or 'true'
- BR-KSA-F-04 · Invoice amounts and quantities must not be negative
Validate your invoice against ZATCA's rules
Paste the XML and see every error and warning. It runs in your browser; the invoice goes nowhere.
Validate an invoice or try Matheel