Sources
We use ZATCA's own documents and pages only, and every fact carries its link and the date we checked it. The core documents:
- E-Invoicing Detailed Guideline, Version 2, May 2023
- E-Invoice Data Dictionary, 19 May 2023
- Electronic Invoice XML Implementation Standard v1.2, 19 May 2023
- Security Features Implementation Standard v1.2, 19 May 2023
- Developer Portal Manual, Version 3, November 2022
- ZATCA E-Invoicing SDK 238-R3.3.8
- ZATCA violations classification guide for VAT and e-invoicing, 2nd edition, May 2024 (Arabic)
- ZATCA's roll-out phases page
Checked: 26 October 2026
Codes
We listed the codes from the validation rule files in ZATCA's SDK 238-R3.3.8 (236 codes) and compared them with the tables in the XML Implementation Standard v1.2 (181 codes). 177 are in both, 59 only in the SDK and 4 only in the standard, 240 in all.
Each code's English text is copied as the SDK prints it on rejection, and the severity (error or warning) comes from the same file.
Examples
Each code page has a wrong and a correct example. We start from one of the SDK's official samples, change only the part that breaks the rule, run ZATCA's SDK on the file and confirm the code fires. The untouched sample does not fire it.
Editing the file breaks its signature, so signature codes always fire too and we leave them out. If other rule codes fire alongside, the page names them.
The in-browser XML checker
Each check in the XML checker is written from the rule's text in ZATCA's SDK. We tested it on every valid SDK sample, where nothing fired, and on each rule's wrong example, where its code fired, and it fired no code that the SDK did not.
Labels
- "Our estimate": a figure or inference of ours, not from an official text.
- [withdrawn]: a detail in circulation that we could not prove from an official source, so its value is not shown.
- Check date: the day we opened the source and read the fact from it.
When sources disagree
We show both and say which is newer, and we never pick one silently. These are the conflicts we found:
- E-invoicing fines: ZATCA's 16 November 2021 announcement starts the fine for not issuing at SAR 5,000 and for deleting or editing at SAR 10,000, while the classification guide (May 2024) starts every offence with a warning. We show the guide as the newer source. Source: ZATCA's e-invoicing fines announcement, 16 November 2021 · ZATCA violations classification guide for VAT and e-invoicing, 2nd edition, May 2024 (Arabic)
BR-KSA-84: the rule text says the S category rate must be 15 or 5, but its test inside ZATCA's SDK accepts any rate whose whole part is 15 (such as 15.5). Our browser checker follows the SDK's behaviour. Source: ZATCA E-Invoicing SDK 238-R3.3.8BR-S-08: the rule text ties the sum to each rate, while the SDK's test adds up every S line at any rate. Our checker follows the SDK. Source: ZATCA E-Invoicing SDK 238-R3.3.8- Codes in the XML standard but not in the SDK:
BR-KSA-46,BR-KSA-F-03,BR-KSA-F-06andBR-O-13. We show their text from the standard and note that SDK 238-R3.3.8 does not raise them. Source: Electronic Invoice XML Implementation Standard v1.2, 19 May 2023 · ZATCA E-Invoicing SDK 238-R3.3.8 - The exemption codes
VATEX-SA-DIPLOMATandVATEX-SA-DUTYFREEare in the SDK's lists but not in the XML standard's table (section 11.2.4). Our checker accepts the standard's list only. Source: Electronic Invoice XML Implementation Standard v1.2, 19 May 2023 · ZATCA E-Invoicing SDK 238-R3.3.8 BR-KSA-05: the rule text in one copy of the SDK files lists 388, 383 and 381 without 386, while the standard and the actual test accept 386 (prepayment invoice). Source: Electronic Invoice XML Implementation Standard v1.2, 19 May 2023 · ZATCA E-Invoicing SDK 238-R3.3.8BR-KSA-06: the XML standard (section 11.2.1) speaks of the final four positions, while the rule and the SDK samples have five flags after the first two digits. We follow the rule. Source: Electronic Invoice XML Implementation Standard v1.2, 19 May 2023 · ZATCA E-Invoicing SDK 238-R3.3.8BR-KSA-63andBR-KSA-67: the standard asks for a Saudi buyer's address, while the SDK's test applies them to standard tax invoices only. Source: Electronic Invoice XML Implementation Standard v1.2, 19 May 2023 · ZATCA E-Invoicing SDK 238-R3.3.8BR-KSA-CL-01: the SDK points to the ISO 4217 currency list as of 2015, while the XML standard cites the 2005 edition. Source: Electronic Invoice XML Implementation Standard v1.2, 19 May 2023 · ZATCA E-Invoicing SDK 238-R3.3.8- Commercial registration fee: the Ministry of Commerce service page says 500 with no currency, and a source attributed to the business.sa FAQ says SAR 200 but its page did not open. We show the Ministry page's figure.
Last updated: 26 October 2026 · What we don't do · Methodology · Correct us · Changelog
First published 2026-10-26 · Archived copy
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.