ZATCA Phase-2 (Saudi e-invoicing Phase 2) isn't optional — it's a legal mandate rolling out in waves since 2023; wave 25 already reaches businesses with revenue above SAR 187,500 (deadline 1 February 2027). If you haven't yet, this guide saves you weeks of research.
Phase-1 vs Phase-2: What Changed?
Phase-1 (Generation) — December 2021 — was simple: generate an electronic invoice with QR code and UUID, but no real-time submission.
Phase-2 (Integration) — January 2023, rolling out — is fundamentally different:
- Every invoice cryptographically stamped via ZATCA digital certificate
- B2B invoices submitted to ZATCA first (clearance), no print/send before approval
- B2C invoices reported within 24h (reporting)
- Format must be UBL 2.1 XML with ZATCA modifications
Your Compliance Date
ZATCA implements Phase-2 in waves, each wave covering companies above a revenue threshold:
| Wave | Threshold | Effective Date |
|---|---|---|
| Wave 1 | +3B SAR | Jan 1, 2023 |
| Wave 2 | +500M SAR | Jul 1, 2023 |
| ... | ... | ... |
| Wave 23 | +750K SAR | by 31 Mar 2026 |
| Wave 24 | +375K SAR | by 30 Jun 2026 |
| Wave 25 | +187.5K SAR | by 1 Feb 2027 |
Is your company in any wave? ZATCA sends an official notice 6 months before your activation date.
5 Core Technical Requirements
- CSID (Cryptographic Stamp Identifier) — digital certificate from ZATCA portal linked to your CR
- UBL 2.1 XML — approved invoice format with strict metadata
- QR Code (Base64) — generated with: BR name, VAT, timestamp, total, VAT amount
- UUID — unique invoice identifier (UUID v4)
- Hash chain — every invoice's hash links to the previous (immutability)
How Odoo Gets You Compliant
Odoo (version 16 and later) includes the official Saudi e-invoicing module for Phase 2 — and it is open source. With Softloomer as your certified partner, the rollout is:
- Step 1: Generate CSID from ZATCA portal + upload to Odoo
- Step 2: Activate ZATCA module + test in sandbox
- Step 3: Map Account Chart to ZATCA tax codes (15% VAT, 0% exempt, etc.)
- Step 4: End-to-end testing: B2B clearance + B2C reporting + edge cases
- Step 5: Production go-live + submissions monitoring
5 Most Common Mistakes
- ❌ Forgetting certificate renewal — CSIDs have an expiry date that must be tracked
- ❌ Wrong tax code mapping (e.g., Zero-rated instead of Exempt)
- ❌ Incorrect hash chain — every invoice must link to previous hash
- ❌ Improper credit note handling (must reference original invoice)
- ❌ No fallback when ZATCA API is down — need a retry queue
What If You Don't Comply?
ZATCA penalties:
- First violation: warning
- Repeat: fines escalate with each repetition, up to SAR 50,000 depending on the violation
The math is clear: a one-time, well-scoped implementation costs far less than repeated fines and the disruption of non-compliance.
Next Step
If your company is in an upcoming wave and you're on Excel or a non-compliant system, book a free 30-min consultation and we'll show you the optimal roadmap.