BR-KSA-EN16931-04: An allowance/charge percentage needs a base amount
Applies when a document-level or line-level cac:AllowanceCharge contains cbc:MultiplierFactorNumeric (the percentage). The same cac:AllowanceCharge must then also contain cbc:BaseAmount.
How to fix it
Add <cbc:BaseAmount currencyID="SAR">…</cbc:BaseAmount> next to cbc:MultiplierFactorNumeric in that cac:AllowanceCharge, or remove the percentage if the amount is not percentage-based.
ZATCA's official text
[BR-KSA-EN16931-04]-Allowance/Charge base amount (BT-93, BT-100, BT-137, BT-142) must be provided when allowance/Charge percentage (BT-94, BT-101,BT-138, BT-143) is provided.
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules
Fails when (the condition ZATCA's SDK runs)
not(exists(../cbc:BaseAmount))
Related rules
- BR-KSA-DEC-01 · Document allowance percentage must be 0-100 with up to 2 decimals
- BR-KSA-EN16931-03 · Allowance/charge amount must equal base amount × percentage / 100
- BR-KSA-EN16931-05 · An allowance/charge base amount needs a percentage
- BR-KSA-EN16931-01 · Business process (ProfileID) must be reporting:1.0
- BR-KSA-EN16931-02 · VAT accounting currency (TaxCurrencyCode) must be SAR
- BR-KSA-EN16931-06 · Price-level allowance/charge must have ChargeIndicator false
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