BR-E-10Exempt VAT breakdown gives no exemption reason

This rule was retired in rule pack 2.0.0: ZATCA's SDK 3.4.8 no longer includes the assertion it mirrored, so Mutabiq no longer reports it. Reports produced by earlier rule packs may still name it; the explanations below are kept for them.

What Mutabiq reports

One entry for each way this rule can be reported.

Reported as
What kind of value was found — empty, not_15_digits and the like — never the value itself.

Exempt VAT breakdown gives no exemption reason

Reported asexemption_reason_missingno exemption reason

What is wrong

Only rule packs before 2.0.0 report this: SDK 3.4.8, which rule pack 2.0.0 reads, removed BR-E-10. Its successor, BR-KSA-23, asks an exempt breakdown for a reason code, at warning (KSA:2581), and BR-KSA-CL-04 accepts VATEX-SA-29, VATEX-SA-29-7 or VATEX-SA-30 there; a report produced under 2.0.0 never carries this note. What follows is the rule as SDK 3.0.8 ran it. A cac:TaxSubtotal directly under the invoice's own cac:TaxTotal is coded E - exempt - under the VAT tax scheme, and its cac:TaxCategory carries neither a cbc:TaxExemptionReason nor a cbc:TaxExemptionReasonCode. EN 16931 rule BR-E-10, which ZATCA ran, required one or the other. The test was for the presence of the element and not for its content, so an element written with no text in it satisfies this particular rule - which is not true of the equivalent rule for the out-of-scope category, BR-O-10, where an empty reason fails. Under SDK 3.0.8 this rule and BR-S-10 could not both be satisfied on an invoice that also carried standard-rated supplies; SDK 3.4.8 fixed BR-S-10, and its note explains how.

What to check in your ERP

The reason belongs in cac:TaxSubtotal/cac:TaxCategory, as cbc:TaxExemptionReason for the text or cbc:TaxExemptionReasonCode for the code, and it is a property of the breakdown rather than of the line. Most systems hold it against the tax code as an exemption or non-taxability reason, and the field is left blank when the code is created by copying a taxed one. Since the breakdown is a single block per category, your export needs one reason for the whole exempt group, so decide which reason it carries when an invoice has exempt supplies of more than one kind. Under SDK 3.4.8 what the exempt breakdown needs is the reason code: VATEX-SA-29, VATEX-SA-29-7 or VATEX-SA-30.

© 2026 Hayatiq AI Solutions F.Z.E. All rights reserved.