ZATCA Compliance

ZATCA Wave 24: The 30 June 2026 SME Compliance Deadline — What You Must Do Now

SAR 375,000 threshold, 20-day window, Fatoora go-live checklist, and how Odoo-powered Saudi businesses can complete Phase 2 Integration before the deadline.

iWesabe Editorial TeamJune 10, 20269 min read

If your business received a ZATCA notification placing it in Wave 24, you have until 30 June 2026 to be live on Phase 2 Integration — the full Fatoora clearance and reporting model. As of this post's publication, that is roughly 20 days. This guide covers exactly who is in scope, what Phase 2 Integration adds on top of Phase 1, and what a realistic go-live plan looks like with Odoo.

Who is in scope for ZATCA Wave 24?

Wave 24 covers taxpayers whose annual VAT-exclusive revenues equal or exceed SAR 375,000. ZATCA determines inclusion based on the VAT-return data it holds — businesses do not self-select. If ZATCA notified you, you are in Wave 24. If you have not yet received a notification but your taxable supplies line on your most recent VAT return is at or above SAR 375,000, expect a notification for this or an imminent wave.

SAR 375,000
Annual revenue threshold for Wave 24
30 Jun 2026
Phase 2 go-live deadline
≤ 24 hrs
B2C invoice reporting window
7 yrs
Cleared XML retention requirement

You are already Phase 1-compliant — what does Phase 2 add?

Every VAT-registered business in Saudi Arabia has been Phase 1-compliant since December 2021. Phase 1 means you issue e-invoices with a QR code and store them digitally — no real-time connection to ZATCA is required. Phase 2 Integration is a fundamentally different technical layer: your invoicing system must connect to ZATCA's Fatoora portal in real time and receive a cryptographic clearance stamp on every B2B invoice before it reaches the buyer. The table below maps the exact delta.

Phase 1 vs Phase 2 Integration — what changes for a Wave 24 business
RequirementPhase 1 (you have this)Phase 2 — Wave 24 adds this
Invoice formatStructured e-invoice + QR codeUBL 2.1 XML with Saudi extensions — schema-validated on every submission
ZATCA interactionNone — store locallyReal-time API call to Fatoora portal per invoice
B2B invoicesIssue and deliver to buyerCleared (stamped) by ZATCA before delivery to buyer
B2C invoicesIssue with QRIssue first, report to ZATCA within 24 hours
Cryptographic stampNot requiredECDSA digital signature + ZATCA PKI certificate (CSID) on every invoice
ERP integrationAny methodMust integrate directly with Fatoora — Odoo l10n_sa_edi handles this natively

Not sure if your Odoo is ready for Wave 24?

iWesabe will run a Wave 24 readiness check — l10n_sa_edi configuration, CSID path, partner classification, and a production go-live plan — in a single session.

The five technical requirements for Phase 2 Integration

Phase 2 Integration has five hard technical requirements. All five must be working in production — not sandbox — before 30 June 2026. Odoo's Saudi localisation module (`l10n_sa_edi`) covers every requirement natively; the work for a Wave 24 business is configuration and go-live execution, not custom development.

  1. UBL 2.1 XML with Saudi extensions. Every invoice must be structured as a valid UBL 2.1 XML document including ZATCA's Saudi-specific field extensions — seller/buyer TIN, VAT registration number, invoice-type flag, line-level tax codes. Odoo generates this from the standard invoice form, but custom invoice lines with Arabic free-text fields must be pre-validated against the schema to avoid clearance failures on day one.
  2. ECDSA cryptographic stamp — CSID. Each invoice must carry a digital signature generated from your ZATCA-issued PKI certificate (CSID). Odoo manages the full CSID lifecycle: CSR generation, Compliance CSID (sandbox), and Production CSID (live signing). For a Wave 24 go-live, the Production CSID must be requested, installed, and tested in production before the deadline.
  3. Real-time B2B clearance via Fatoora. B2B invoices must be submitted to ZATCA's Fatoora portal before delivery to the buyer. The portal stamps the invoice and returns the cleared XML; your ERP must store both the cleared XML and ZATCA's clearance response for the 7-year retention requirement. Odoo submits and stores this automatically once the CSID and endpoint are correctly configured.
  4. B2C reporting within 24 hours. B2C invoices are issued to the customer first, then reported to Fatoora within 24 hours. The 24-hour window is a hard compliance requirement. Odoo handles this via a background job that must be enabled and actively monitored in production — not a set-and-forget step.
  5. Correct B2B vs B2C customer classification. ZATCA applies a different legal model to each type. Mis-classifying a B2B customer as B2C — routing a clearance-model invoice to the reporting endpoint — is the most common Phase 2 violation and generates a rejection chain that accumulates per invoice. This is set at the Odoo partner master record, not at the invoice level.

The Wave 24 go-live sequence with Odoo — and what blocks each step

With 20 days to the deadline, the critical path is tight. The table below is iWesabe's minimum-viable go-live plan for a Wave 24 Odoo deployment — ordered by dependency, because some steps block the next and cannot be parallelised. Working-day estimates assume a dedicated implementation partner; an internal IT team working part-time will need to add buffer.

Wave 24 minimum go-live plan — Odoo with l10n_sa_edi
StepWorking daysCommon blocker
Configure l10n_sa_edi — VAT number, CR, Arabic legal name (must match CR exactly), invoice-type flags0.5Arabic legal name mismatch with CR — the single most frequent CSR rejection cause
Generate CSR inside Odoo; submit to ZATCA sandbox; receive Compliance CSID1ZATCA sandbox queue times vary — submit as soon as configuration is clean
Run four Compliance Checks (standard invoice, credit note, debit note, prepayment)1–2All four must pass — skipping any type because 'we don't use it' still blocks Production CSID issuance
Request and install Production CSID; validate partner B2B/B2C classification in Odoo0.5Requires finance sign-off on partner master data — get this running before the CSID arrives
First-day production run — cleared B2B batch, B2C reporting job enabled and monitored0.5Finance + IT must be available live to confirm first cleared invoices and first B2C report

20 days is tight — iWesabe can run the full Wave 24 go-live

We have taken Saudi businesses through Phase 2 go-lives across multiple ZATCA waves. The five-step plan above takes 4–5 working days with a dedicated engineer — leaving a week of buffer before 30 June if we start this week.

What happens if you miss the 30 June 2026 deadline?

ZATCA enforces Phase 2 compliance through a tiered penalty schedule that escalates from warning to material financial penalty. Missing the go-live deadline — or going live with a non-compliant configuration — creates an ongoing exposure that accumulates per invoice, not per filing period. Three areas generate the majority of real-world penalties for Wave 24 businesses: issuing a B2B invoice that was not cleared by Fatoora before delivery, failing to report a B2C invoice within the 24-hour window, and filing a VAT return where the totals do not reconcile against the cleared-invoice record.

Wave 24 is not a technology problem — Odoo's Saudi localisation has covered the Phase 2 technical chain since the programme began in 2023. It is a time-pressure problem: roughly 20 days to execute a five-step go-live sequence that takes a dedicated implementation partner 4–5 working days. The businesses that miss the deadline are typically not the ones that lack the right ERP; they are the ones that start the CSID path in the week before the deadline, when the ZATCA sandbox queue and compliance-check cycle consume the remaining time.

iWesabe has run Phase 2 go-lives across multiple ZATCA waves for Saudi businesses in construction, trading, retail, services, and distribution. A Wave 24 readiness call takes 30 minutes: we confirm your l10n_sa_edi configuration, generate the CSR together, and send you the go-live sequence with owner-assigned steps. That call can happen today.

Get Wave 24 live before 30 June — talk to iWesabe today

30-minute readiness call. We confirm your CSID path, partner classification, and B2B/B2C configuration — and send you the production go-live sequence the same day.

WhatsApp

Frequently Asked Questions

What is ZATCA Wave 24?
ZATCA Wave 24 is the cohort of Saudi taxpayers notified by ZATCA to go live on Phase 2 Integration (e-invoicing) by 30 June 2026. The defining threshold for Wave 24 is annual VAT-exclusive revenue of SAR 375,000. ZATCA determines inclusion using its own VAT-return data and sends notifications directly — businesses do not self-register for a wave.
I am already Phase 1-compliant. What additional work does Wave 24 require?
Phase 2 Integration adds five requirements on top of Phase 1: (1) UBL 2.1 XML format with Saudi field extensions; (2) ECDSA cryptographic stamp from a ZATCA-issued CSID on every invoice; (3) real-time B2B clearance through Fatoora before buyer delivery; (4) B2C invoice reporting to Fatoora within 24 hours; (5) correct B2B/B2C customer classification in your ERP. With Odoo, all five are handled by the l10n_sa_edi module — the work is configuration and the CSID go-live sequence, not custom development.
How long does a Wave 24 go-live take with Odoo?
With a dedicated implementation partner, the five-step sequence — l10n_sa_edi configuration, CSR generation, Compliance CSID, four Compliance Checks, Production CSID, first-day production run — takes 4–5 working days. The CSID path (steps 2–4) depends on ZATCA's sandbox queue; starting immediately is the only way to ensure buffer before 30 June. An internal IT team working alongside normal operations should add 2–3 additional buffer days.
What is the CSID and why does it matter for Wave 24?
CSID (Cryptographic Stamp Identifier) is the ZATCA-issued PKI certificate your ERP uses to digitally sign every Phase 2 invoice. Without a valid Production CSID installed in your system, no invoice can be cleared or reported. The CSID lifecycle has three stages: (1) generate a CSR inside Odoo; (2) ZATCA issues a Compliance CSID for sandbox testing after passing four Compliance Checks; (3) ZATCA issues the Production CSID for live signing. Generating the CSR is the first technical step and must happen immediately for a 30 June deadline.
What are the penalties for missing the Wave 24 deadline?
ZATCA imposes financial penalties under a tiered schedule for Phase 2 non-compliance. The three highest-volume penalty categories for Wave 24 businesses are: issuing a B2B invoice without Fatoora clearance before buyer delivery (clearance-model violation — per invoice); failing to report a B2C invoice within 24 hours (reporting-model violation — per invoice); and material discrepancy between cleared-invoice totals and the VAT return at filing. These are per-occurrence violations — a business issuing 50 B2B invoices per day accumulates 50 violations per day until the system is live. The cost of a Wave 24 implementation is a fraction of penalties at even a modest invoice volume.
Can iWesabe get a Wave 24 business live before 30 June 2026?
Yes — provided the engagement starts immediately. The Wave 24 go-live takes 4–5 working days with a dedicated engineer, leaving adequate buffer before 30 June if we begin this week. The prerequisite is that your Odoo instance has l10n_sa and l10n_sa_edi installed and that finance can provide the legal name, VAT number, and CR number for CSR generation. iWesabe has run Phase 2 go-lives across multiple waves for Saudi businesses in construction, trading, services, and distribution.
iWesabe Editorial Team

iWesabe Editorial Team

Practitioner insights on Odoo ERP, ZATCA compliance, and Saudi enterprise digital operations — written by iWesabe's consulting, finance, and engineering teams.

About iWesabe

Related Articles