VAT accounting currency code (BT-6) must be "SAR".
What does this mean?
Three rules sit on the same field, and telling them apart shortens the journey. BR-KSA-68, an error, asks whether the element exists. This one, also an error, asks what its value is. BR-KSA-EN16931-09, a warning, governs what the document must carry once the field is declared. You are on the second: the element is there, and its value is not SAR.
The value is literal: SAR, the ISO 4217 code in capitals, in cbc:TaxCurrencyCode at invoice level.
It is not the billing currency. The document currency (BT-5), in cbc:DocumentCurrencyCode, is free — sell in dollars and you write dollars. The accounting currency is fixed by the jurisdiction rather than by the deal: VAT is a Saudi liability declared in riyals, so it never follows the first field.
Two neighbouring rules read this declaration. BR-KSA-89 requires the target currency code (KSA-38), where present, to be the same as BT-6, and BR-KSA-CL-02 requires every currencyID attribute to match the invoice currency except the invoice total VAT amount in accounting currency (BT-111). Changing BT-6 moves what is around it, which is why it is written as a constant once and left alone.
Why does it happen?
Ordered from the most common to the least — your cause is most likely the first or the second.
- One line of mapping copying the document currency into the tax currency — the commonest cause by far, and one whose effect only shows on the first invoice in a foreign currency.
-
A lower-case
sar, a stray trailing space, or a currency symbol in place of the ISO code. - Writing the currency name in Arabic or in words in a field that takes a three-letter Latin code.
- An international accounting system with a company-level functional currency in dollars or dirhams, writing that value here as though it were the accounting currency.
-
The numeric ISO code
682instead of the alphabetic one.
How to fix it
3 steps, then send the invoice again.
-
1
Write it as a constant, not as something derived
cbc:TaxCurrencyCodewith the valueSAR, on every document: invoice, credit note and debit note. Do not derive it from the document currency, from establishment settings, or from the customer record — on a Saudi e-invoice there is nothing to derive in this field. -
2
And leave the billing currency to your deal
BT-5 stays whatever you actually sold in. The document amounts are expressed in it, and the VAT amount in the accounting currency is converted to riyals at the rate your business uses.
BR-KSA-97, a warning, expects those two VAT figures to differ once the invoice currency is not SAR — so identical figures on a foreign-currency invoice are a sign of a conversion that never happened. -
3
Then review the SAR tax block
Declaring the accounting currency brings a second tax total into scope, holding the VAT amount in SAR with no breakdown inside it, which is the subject of BR-KSA-EN16931-09. It is a warning rather than a rejection, which is why it is usually the first thing to appear once the value of this field is right.
Once corrected, send the invoice again. A rejected invoice was never recorded with the Authority, so it needs no credit note — send the corrected invoice itself.
Does ZATCA Tools prevent it?
Yes, and for the same reason as BR-KSA-68: the accounting currency is written into the payload builder as the constant SAR, and there is no currency column anywhere in the product — not on the establishment, not on the invoice — from which a different value could be derived. That is the honest version of the sentence: the value cannot be wrong because the case that makes it interesting, invoicing in a foreign currency, is not supported here at all.
Related codes
BR-KSA-68
Rejects the invoice
BR-KSA-EN16931-09
Warning
BR-KSA-CL-02
Frequently asked questions
I sell in dollars. Do I write dollars in this field? +
Is a lower-case sar accepted? +
Do I have to send exchange-rate fields? +
BR-KSA-88 and BR-KSA-89 require, where those fields exist, the source currency to name the invoice currency and the target currency to name the accounting currency. Whether they must be present in the first place is not something we can read here, and that is a question for zatca.gov.sa.ZATCA Tools builds the signature, the PIH, the counter and the encoding for you, and validates your data before it is sent. Completely free for now, and no credit card.
Start for free