BR-KSA-68: Every invoice needs a tax currency code (BT-6)
The invoice root must contain a non-empty cbc:TaxCurrencyCode (BT-6). This rule checks presence only, not the value.
How to fix it
Add <cbc:TaxCurrencyCode> with the tax currency code at invoice level, next to cbc:DocumentCurrencyCode.
ZATCA's official text
[BR-KSA-68]-Tax currency code (BT-6) must exist in an invoice.
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules
Fails when (the condition ZATCA's SDK runs)
not(exists(cbc:TaxCurrencyCode) and (cbc:TaxCurrencyCode) != '')
Related rules
- BR-53 · With a tax currency (BT-6), give the VAT total in it (BT-111)
- BR-KSA-89 · Exchange-rate target currency must equal the tax currency
- BR-KSA-EN16931-02 · VAT accounting currency (TaxCurrencyCode) must be SAR
- BR-KSA-63 · Saudi buyer needs a full national address on standard invoices
- BR-KSA-66 · Seller postal code (BT-38) must be exactly 5 digits
- BR-KSA-67 · Saudi buyer postal code (BT-53) must be 5 digits
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