BR-KSA-EN16931-02: VAT accounting currency (TaxCurrencyCode) must be SAR
cbc:TaxCurrencyCode (BT-6) must be SAR, compared after trimming and upper-casing. Its presence is required separately by BR-KSA-68.
How to fix it
Use <cbc:TaxCurrencyCode>SAR</cbc:TaxCurrencyCode>.
ZATCA's official text
[BR-KSA-EN16931-02]-VAT accounting currency code (BT-6) must be "SAR".
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules
Fails when (the condition ZATCA's SDK runs)
not((normalize-space(upper-case(.))) = 'SAR')
Related rules
- BR-53 · With a tax currency (BT-6), give the VAT total in it (BT-111)
- BR-KSA-68 · Every invoice needs a tax currency code (BT-6)
- BR-KSA-89 · Exchange-rate target currency must equal the tax currency
- BR-KSA-DEC-04 · Line amount with VAT may have at most two decimals
- BR-KSA-DEC-06 · Prepayment taxable and tax amounts may have at most two decimals
- BR-KSA-EN16931-01 · Business process (ProfileID) must be reporting:1.0
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