← Back to global tracker
πŸ‡ΈπŸ‡¦

Country deep dive

Saudi Arabia

Middle East Β· SA Β· VAT area: GCC
Last updated: 21 July 2026
Compliance model: Centralised clearance (Fatoora)
UBL 2.1
XML format + ZATCA extensions
ECDSA
Cryptographic stamp algorithm
24 hrs
B2C reporting window
SAR 5k–50k
Penalty per violation
2021
Phase 1 live since
01

Compliance timeline

ZATCA's rollout is a genuine two-phase model: first everyone had to generate e-invoices, then β€” much more demandingly β€” integrate directly with the government in waves by turnover.

December 2021
4 Dec 2021In effect
Phase 1 (Generation Phase) begins

All VAT-registered taxpayers must generate e-invoices using a compliant electronic system and store them digitally β€” no live integration with ZATCA required yet at this stage.

January 2023
1 Jan 2023In effect
Phase 2 (Integration Phase) begins β€” Wave 1

The largest taxpayers (annual revenue above SAR 3 billion) must directly integrate their billing systems with ZATCA's Fatoora platform. Every subsequent wave brings smaller businesses into scope, each notified at least 6 months in advance.

March 2026
31 Mar 2026In effect
Wave 23 β€” turnover above SAR 750,000

Businesses with turnover between SAR 750,000 and SAR 1 million (2022–2024 tax years) must complete Phase 2 integration.

June 2026
30 Jun 2026In effect
Wave 24 β€” turnover above SAR 375,000

The threshold drops to effectively match the mandatory VAT-registration threshold, bringing nearly every VAT-registered resident business into Phase 2 integration.

02

File format & data specification

Phase 2's technical bar is genuinely high: cryptographic stamping, mandatory Arabic content, and a QR code that packs in nine distinct data tags.

Format

SyntaxUBL 2.1 XML, with ZATCA-specific extensions
Standard invoice packagingPDF/A-3 with embedded XML
LanguageArabic, machine-readable (bilingual common in practice)

The PDF/A-3-with-embedded-XML packaging mirrors France's Factur-X approach β€” a human-readable rendering alongside the machine-readable data in a single file.

Cryptographic controls

Signature algorithmECDSA (Elliptic Curve Digital Signature Algorithm)
CredentialCryptographic Stamp Identifier (CSID)
Government layerZATCA applies its own stamp using its private key after clearance

The chain of trust runs supplier β†’ ZATCA β†’ recipient: your ECDSA signature proves the invoice came from you, and ZATCA's own stamp on top of that is what actually makes it legally valid.

Mandatory identifiers

UUIDUnique per invoice
IRNInvoice Reference Number
Invoice hashChained to the prior invoice's hash
Invoice counter valueSequential, tamper-evident numbering

A "Hash Mismatch" rejection means the XML content was altered after the hash was calculated β€” this is one of the most common Phase 2 integration errors.

QR code (Phase 2)

Base64-encoded, TLV (Tag-Length-Value) format, packing in:

Seller nameVAT numberTimestampInvoice totalVAT totalCrypto stamp hashPublic keyECDSA signature

Anyone can verify these instantly using ZATCA's official mobile app β€” a scan confirms the invoice exists in the central system, its signatures are valid, and its printed data matches, typically in 2–5 seconds.

03

Transmission protocol

Saudi Arabia runs one of the strictest clearance models in this tracker: a B2B invoice without ZATCA's clearance response simply has no tax effect.

B2B β€” real-time clearance

ThresholdInvoices above SAR 1,000
RequirementCleared by ZATCA before delivery to the buyer
If not clearedNo legal or tax effect

This is stricter than Poland's KSeF or Italy's SDI in one specific sense β€” clearance must happen before delivery, not just before the invoice is considered "final."

B2C β€” near-real-time reporting

Document typeSimplified Tax Invoice
DeadlineReported within 24 hours of issuance

Unlike B2B, simplified invoices can be issued to the customer immediately β€” the 24-hour clock covers reporting to ZATCA, not pre-clearance.

Common rejection codes

401 UnauthorizedExpired or invalid CSID
BR-KSA-31Incorrect VAT category code for a line item
Hash MismatchXML altered after hash calculation

Renewing your CSID before expiry and locking down post-hash XML modification are the two highest-leverage fixes for reducing rejection volume.

Scope

Applies toTaxable persons resident in the Kingdom
Non-resident VAT-registeredCurrently exempt from issuing e-invoices

If you're VAT-registered in Saudi Arabia without local residency, you're out of scope for now β€” but confirm this hasn't changed, since GCC e-invoicing scope has shifted before.

04

Getting set up with Fatoora

Integration is a genuinely multi-stage technical process β€” budget real time for certificate generation and sandbox testing, not just format mapping.

Register your organisation on the Fatoorah portal

This is the prerequisite step before you can generate any certificates or begin technical onboarding.

Generate your Cryptographic Stamp Identifier (CSID)

Obtain this through ZATCA's compliance API β€” it's required before you can sign any invoice, so treat it as a blocking dependency for everything downstream.

Configure invoice templates

Set up all mandatory fields, correct Arabic translations, and proper QR code positioning β€” get this right before moving to signing and testing.

Implement and test cryptographic signing

Configure ECDSA signing and generate valid hashes, then explicitly test signature verification before touching the sandbox.

Run comprehensive tests in ZATCA's sandbox environment

Don't skip this step even under deadline pressure β€” it's specifically designed to catch integration errors before they hit production.

Train your finance team

Make sure staff understand the new processes, common rejection codes, and troubleshooting procedures β€” this is a genuine operational change, not just a system upgrade.

Go live with production APIs

Only switch from sandbox to production once testing has genuinely succeeded β€” and watch for your specific wave notification, since ZATCA gives roughly six months' notice ahead of each deadline.

05

Penalties & related considerations

The fine itself is only part of the exposure β€” prohibited software behaviours carry their own separate scrutiny.

ZATCA β€” Fatoora