BR-KSA-EN16931-07: Net item price must equal gross price minus price discount

Explained by Matheel from ZATCA's rule text and the condition SDK 3.4.8 executes · Updated

Error: the invoice is rejectedConditional, see belowFields: BT-146, BT-148, BT-147

Applies when cac:InvoiceLine/cac:Price/cac:AllowanceCharge contains cbc:BaseAmount (gross price, BT-148). Then cac:Price/cbc:PriceAmount (net price, BT-146) must exactly equal that cbc:BaseAmount minus the cbc:Amount (price discount, BT-147) of the same cac:AllowanceCharge.

How to fix it

Make the numbers consistent: e.g. gross <cbc:BaseAmount currencyID="SAR">100.00</cbc:BaseAmount> and discount <cbc:Amount currencyID="SAR">10.00</cbc:Amount> require <cbc:PriceAmount currencyID="SAR">90.00</cbc:PriceAmount>.

ZATCA's official text

[BR-KSA-EN16931-07]-Item net price (BT-146) must equal (Item Gross price (BT-148) - Allowance amount (BT-147)) when gross price is provided.
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules

Fails when (the condition ZATCA's SDK runs)

not(xs:decimal(../../cbc:PriceAmount) = xs:decimal(.) - xs:decimal(../cbc:Amount))

Related rules

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