Official text (the SDK's own message)
[BR-KSA-87] If the tax exchange rate (KSA-36) exists, then Source Currency Code (KSA-37), Target Currency Code (KSA-38) and Calculation Rate (KSA-39) shall be providedWarning · Source: ZATCA E-Invoicing SDK 238-R3.3.8 · Checked: 26 October 2026
What it means
BR-KSA-87 is one of the validation rules for the e-invoice. A warning: the invoice is accepted with a note; fix the cause in the next invoices. The severity comes from ZATCA's own SDK.
Fields the rule names
The rule text names 5 fields. BT is a single invoice element, BG is a group of elements and KSA is a Saudi-specific element.
KSA-87KSA-36KSA-37KSA-38KSA-39
How to fix it
The steps follow the wording of the rule only; we add nothing ZATCA did not say.
- Open the invoice XML and find the fields the rule names:
KSA-87,KSA-36,KSA-37,KSA-38,KSA-39. - Correct the value or element in the XML, or in the POS setting that writes it, then generate the invoice again.
- Check the corrected file with ZATCA's SDK 238-R3.3.8 before you send it.
- This is a warning and the platform accepts the invoice with it. Fix the cause so it does not repeat in the next invoices.
Rule family
BR-KSA-87 belongs to the BR-KSA family. In the XML Implementation Standard this family is section 13.3.1, titled KSA - business rules (BR-KSA): the business rules specific to Saudi Arabia. Our data holds 78 rules of this family, 77 of them raised by ZATCA's SDK.
Source and verification
- ZATCA SDK 238-R3.3.8: yes
- XML Implementation Standard: no
Verified on 26 October 2026. Source: ZATCA E-Invoicing SDK 238-R3.3.8
This page is built from the reference’s open data: /codes.json. We add nothing of our own to it beyond the layout and the wording of the steps.
Related codes
From the same family:
- BR-KSA-85 The Buyer's contact phone number (BT-57) shall start with "0" or "+", followed by a maximum of…
- BR-KSA-86 Buyer's Contact Email Address (BT-58) shall follow the following format ** XXX@YYY.ZZ where…
- BR-KSA-88 [BR-KSA-88] If exist, Source Currency Code (KSA-37) must be the same as Invoice currency code…
- BR-KSA-89 [BR-KSA-89] If exists, Target Currency Code (KSA-38) must be the same as the Tax currency code…
- BR-KSA-90 [BR-KSA-90] If exists, the allowed maximum number of digits for the Tax Exchange Rate (KSA-39)…
Terms on this page
Keep going
Go back to the e-invoicing reference, see all rejection codes, or check your invoice file in the XML checker before you send it.
Frequently asked questions
What does BR-KSA-87 mean?
BR-KSA-87 is a rule in ZATCA's e-invoice validation. Its official text is: "[BR-KSA-87] If the tax exchange rate (KSA-36) exists, then Source Currency Code (KSA-37), Target Currency Code (KSA-38) and Calculation Rate (KSA-39) shall be provided"
Is the invoice rejected when BR-KSA-87 appears?
A warning: the invoice is accepted with a note; fix the cause in the next invoices. This is its severity in ZATCA's SDK 238-R3.3.8.
Where is BR-KSA-87 in ZATCA's documents?
ZATCA SDK 238-R3.3.8: yes. XML Implementation Standard: no. We checked on 26 October 2026.
Last updated: 27 October 2026 · What we don't do · Methodology · Correct us · Changelog
First published 2026-10-27
First 500 restaurants, cafés, bakeries and sweet shops: a SAR 99 monthly cap.
Instead of SAR 149, per branch, for a full year. Free to join, no commitment.