BR-CL-18: Tax category codes must come from the UNCL5305 code list

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

Error: the invoice is rejectedAll invoicesFields: —

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

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