What does BR-CL-22 mean?
If a transaction is exempt from VAT, the reason - when coded - must come from the CEF VATEX code list.
Common causes of BR-CL-22
- Free text ('Tax exempt', 'Reverse charge') sits in the ExemptionReasonCode instead of the text field ram:ExemptionReason.
- A self-invented code was used that is not in the VATEX list.
- Wrong spelling of the VATEX code (e.g. 'vatex_eu_ae' instead of 'vatex-eu-ae' with hyphens).
How to fix BR-CL-22
- Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-121 along this XPath:
//ram:ApplicableTradeTax/ram:ExemptionReasonCode - Apply the fix. Code the VAT exemption reason (BT-121) with a code from the CEF VATEX code list, e.g. 'vatex-eu-ae' (reverse charge), 'vatex-eu-ic' (intra-community supply), 'vatex-eu-g' (export outside the EU), 'vatex-eu-o' (not subject to VAT), 'vatex-eu-132' (exemption under Art. 132). Put the plain text into BT-120 (ram:ExemptionReason).
- Validate again. Save the file and validate it again to check that BR-CL-22 is no longer reported.
Code the VAT exemption reason (BT-121) with a code from the CEF VATEX code list, e.g. 'vatex-eu-ae' (reverse charge), 'vatex-eu-ic' (intra-community supply), 'vatex-eu-g' (export outside the EU), 'vatex-eu-o' (not subject to VAT), 'vatex-eu-132' (exemption under Art. 132). Put the plain text into BT-120 (ram:ExemptionReason).
//ram:ApplicableTradeTax/ram:ExemptionReasonCodeBefore / after: the XML example
This is the spot in question before and after the fix (Cross Industry Invoice, ZUGFeRD/Factur-X).
<ram:ApplicableTradeTax>
<ram:CategoryCode>AE</ram:CategoryCode>
<ram:ExemptionReasonCode>REVERSE-CHARGE</ram:ExemptionReasonCode>
<ram:RateApplicablePercent>0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:ApplicableTradeTax>
<ram:CategoryCode>AE</ram:CategoryCode>
<ram:ExemptionReasonCode>vatex-eu-ae</ram:ExemptionReasonCode>
<ram:RateApplicablePercent>0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
Frequent questions about BR-CL-22
Do I need text next to the code?
Which code fits an intra-community supply?
Related error codes
Check BR-CL-22 automatically
Instead of digging through the XML by hand you can validate your ZUGFeRD or XRechnung file online – upload the PDF or the XML and you get every error with rule ID, affected field, fix and XPath, as a readable report or as JSON through the API.