BR-KSA-94: Exempt (E) line VAT breakdown needs an exemption reason code

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

Warning: accepted with a warningConditional, see belowFields: BG-25, KSA-33, KSA-41

Each line-level cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory with cbc:ID 'E' (VAT) must have a non-empty cbc:TaxExemptionReasonCode (KSA-41). The executed check tests presence only (allowed values are checked by BR-KSA-CL-07), and it is evaluated only when the document also contains a standard-rated (S) VAT category.

How to fix it

Add a reason code to that line TaxCategory, e.g. <cbc:TaxExemptionReasonCode>VATEX-SA-29</cbc:TaxExemptionReasonCode>.

ZATCA's official text

[BR-KSA-94]-An Invoice line (BG-25) where the Prepayment VAT category code (KSA-33) is " Exempt from VAT " the Prepayment VAT exemption reason code (KSA-41) should be provided.
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules

Fails when (the condition ZATCA's SDK runs)

not(exists(cbc:TaxExemptionReasonCode) and normalize-space(cbc:TaxExemptionReasonCode )!='' )

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