BR-CL-18: Tax category codes must come from the UNCL5305 code list
Every tax category code (cbc:ID under cac:TaxCategory in cac:TaxSubtotal and cac:AllowanceCharge, and under cac:Item/cac:ClassifiedTaxCategory on lines) must be a single code from AE, L, M, E, S, Z, G, O, K, B.
How to fix it
Use one of AE, L, M, E, S, Z, G, O, K, B with no spaces, e.g. <cbc:ID>S</cbc:ID>. Note that BR-KSA-18 narrows this further to S, Z, E or O.
ZATCA's official text
[BR-CL-18]-Invoice tax categories MUST be coded using UNCL5305 code list.
Source: ZATCA SDK 3.4.8 · EN 16931 (CEN) rules
Fails when (the condition ZATCA's SDK runs)
not(( ( not(contains(normalize-space(.),' ')) and contains( ' AE L M E S Z G O K B ',concat(' ',normalize-space(.),' ') ) ) ))
Related rules
- BR-CL-05 · Tax currency code must be an ISO 4217 alpha-3 code
- BR-CL-14 · Country codes must be ISO 3166-1 alpha-2 codes
- BR-CL-16 · Payment means code must be from the UNCL4461 list
- BR-CL-KSA-14 · The QR code value must be 1 to 1000 characters long
- BR-CO-04 · Every invoice line needs a VAT category code
- BR-CO-10 · Total line amount must equal the sum of all line net amounts
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