BR-KSA-82: Prepayment lines must carry zero line amounts
In an invoice with cbc:PrepaidAmount > 0, each line with a cac:DocumentReference of type 386 must have cbc:LineExtensionAmount, cac:TaxTotal/cbc:TaxAmount, cac:TaxTotal/cbc:RoundingAmount and cac:Price/cbc:PriceAmount equal to 0, and any line cac:AllowanceCharge/cbc:Amount equal to 0. Unlike the 'if exist' wording, the check fails when LineExtensionAmount, TaxAmount, RoundingAmount or PriceAmount is missing.
How to fix it
In prepayment lines write those amounts as zero, e.g. <cbc:LineExtensionAmount currencyID="SAR">0.00</cbc:LineExtensionAmount>, cac:TaxTotal with cbc:TaxAmount 0 and cbc:RoundingAmount 0, and cac:Price/cbc:PriceAmount 0.00; the prepaid values go only in the line's cac:TaxSubtotal.
ZATCA's official text
[BR-KSA-82]-An Invoice line (BG-25) where Prepayment Document Type Code (KSA-30) is provided, then Item net price (BT-146); Invoice line allowance amount (BT-136); Invoice line charge amount (BT-141); Item line net amount (BT-131); line VAT amount (KSA-11); and line amount with VAT (KSA-12) for that line shall be 0 (Zero), if exist.
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules
Fails when (the condition ZATCA's SDK runs)
not( (../cbc:LineExtensionAmount)=0.00) or not((../cac:TaxTotal/cbc:TaxAmount)=0.00) or not((../cac:TaxTotal/cbc:RoundingAmount)=0) or not((../cac:Price/cbc:PriceAmount)=0.00)
Related rules
- BR-16 · Every invoice needs at least one invoice line (BG-25)
- BR-21 · Each invoice line needs a line identifier (BT-126)
- BR-22 · Each invoice line needs an invoiced quantity (BT-129)
- BR-24 · Each invoice line needs a line net amount (BT-131)
- BR-25 · Each invoice line needs an item name (BT-153)
- BR-26 · Each invoice line needs an item net price (BT-146)
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