ERPNext ZATCA Phase 2 compliance means your ERPNext must send every invoice to ZATCA's Fatoora platform as structured XML. Standard (B2B) tax invoices are cleared by ZATCA before you share them. Simplified (B2C) invoices are reported within 24 hours.
Standard ERPNext doesn't do this on its own. You need a ZATCA Phase 2 app, onboarding of each invoicing unit with a cryptographic certificate (CSID), and clean invoice data.
Who this is for: finance heads, IT managers and owners of Saudi trading, retail, distribution and services businesses in Riyadh, Jeddah and Dammam running ERPNext or moving to it, especially smaller businesses now reached by ZATCA's latest waves.
Key takeaways
- Wave 25 covers taxpayers whose VAT-subject revenue exceeded SAR 187,500 in 2022, 2023, 2024 or 2025. They must integrate with Fatoora by 1 February 2027.
- Earlier waves had higher thresholds: SAR 1 million (Wave 22), SAR 750,000 (Wave 23) and SAR 375,000 (Wave 24, deadline 30 June 2026).
- ZATCA notifies each wave at least six months before its integration date.
- Clearance applies to standard tax invoices (B2B/B2G). Reporting within 24 hours applies to simplified invoices (B2C).
- In ERPNext, Phase 2 needs a ZATCA compliance app, CSID onboarding per EGS unit, correct seller and buyer data, and Arabic on the invoice.
In Wave 25? Your Fatoora deadline is 1 February 2027
Get a free ZATCA readiness review for your ERPNext. In 30 minutes we check your version, invoice data, devices and branches, and tell you what's needed for Phase 2 integration.
Get my free ZATCA readiness review → WhatsApp us: +91 8089051848
Or email info@nexeves.com
ZATCA Phase 2 waves and deadlines (official)
ZATCA brings taxpayers into Phase 2 (the Integration Phase) in waves based on VAT-subject revenue. Here are the most recent waves, as announced on ZATCA's website (as of 9 October 2026):
| Wave | VAT-subject revenue exceeded | In any of these years | Integrate with Fatoora by |
|---|---|---|---|
| Wave 22 | SAR 1,000,000 | 2022, 2023 or 2024 | 31 December 2025 |
| Wave 23 | SAR 750,000 | 2022, 2023 or 2024 | 31 March 2026 |
| Wave 24 | SAR 375,000 | 2022, 2023 or 2024 | 30 June 2026 |
| Wave 25 | SAR 187,500 | 2022, 2023, 2024 or 2025 | 1 February 2027 |
Three points matter:
- One year is enough. If you exceeded the threshold in any one of the listed years, you meet the criterion.
- 2025 counts for the first time in Wave 25. Businesses set up in 2025, or that crossed the line only in 2025, may now be in scope.
- ZATCA notifies you. It informs each wave at least six months before the integration date. Check the ZATCA e-invoicing portal and your notifications.
Phase 1 (the Generation Phase) has applied since 4 December 2021. It banned handwritten and spreadsheet invoices and required compliant e-invoices with a QR code. Phase 2 has rolled out in waves since 1 January 2023.
Phase 1 vs Phase 2: what changes in ERPNext
| Phase 1 (Generation) | Phase 2 (Integration) | |
|---|---|---|
| Started | 4 December 2021 | From 1 January 2023, in waves |
| Invoice format | Electronic invoice with required fields | Structured XML (UBL 2.1), or PDF/A-3 with embedded XML |
| QR code | Basic QR code (simplified invoices) | Phase 2 QR code with more data, including the cryptographic stamp |
| Connection to ZATCA | None | Integration with Fatoora through APIs |
| B2B (standard) invoices | Issued and stored | Cleared by ZATCA before sharing with the buyer |
| B2C (simplified) invoices | Issued and stored | Stamped by your system, reported within 24 hours |
| Security | — | CSID certificate, invoice hash chain and counter per unit |
What ERPNext includes today
ERPNext's Saudi features (KSA VAT settings, the KSA VAT report, Phase 1 QR codes and a VAT invoice print format) were part of ERPNext up to version 14. They now live in a separate KSA app.
These cover VAT reporting and Phase 1. For Phase 2, you need an additional ZATCA integration app built for Fatoora, installed on a supported ERPNext version.
How ZATCA Phase 2 works in practice
Clearance for standard tax invoices (B2B and B2G)
- ERPNext generates the invoice as XML.
- The XML is sent to Fatoora's clearance API.
- ZATCA validates it and applies its cryptographic stamp.
- Only then is the cleared invoice shared with your buyer.
If clearance fails, you can't send that invoice to the customer until the error is fixed.
Reporting for simplified invoices (B2C)
- ERPNext (or your POS) generates the invoice, stamps it with your CSID and adds the Phase 2 QR code.
- You hand the invoice to the customer straight away.
- The XML is reported to Fatoora within 24 hours.
EGS units, CSIDs and the hash chain
ZATCA calls each invoicing system or device an E-Invoice Generation Solution (EGS) unit. Each one is onboarded separately and gets its own Cryptographic Stamp Identifier (CSID).
Within a unit, invoices are linked in one chain using the previous invoice hash, and the invoice counter must never reset. That's why you shouldn't run two invoice sequences on the same unit, and why deleting or renumbering invoices breaks compliance.
ERPNext ZATCA Phase 2 setup: step by step
Step 1: Check your ERPNext version and app
- Confirm your ERPNext version is supported by the ZATCA Phase 2 app you choose.
- Install the app on a test site first, never straight on production.
- Check that it supports what you use: clearance, reporting, credit and debit notes, POS and multiple branches.
Step 2: Complete company and VAT data
- Seller details: legal name in Arabic, VAT registration number and full Saudi national address, including building number and postal code.
- VAT setup: correct tax templates for standard-rated, zero-rated, exempt and out-of-scope items. Our post on how taxes are calculated in ERPNext explains templates.
- Numbering: one invoice series per EGS unit, with no gaps or resets.
Step 3: Clean customer data for B2B invoices
Standard tax invoices need complete buyer details. Make sure every VAT-registered customer has a correct VAT number and address in ERPNext. Missing details cause validation warnings or rejections.
Step 4: Arabic print formats
Under Saudi VAT rules, invoices must be in Arabic. Other languages can appear alongside.
Build bilingual Arabic-English print formats for tax invoices, simplified invoices and credit notes, with the Phase 2 QR code. See how to customise print formats in ERPNext.
Stuck on onboarding or rejected invoices?
Book a free ZATCA Phase 2 health check. Our consultants review your ERPNext ZATCA setup, CSID onboarding and recent errors, and give you a clear fix list.
Book my free ZATCA health check → WhatsApp us: +91 8089051848
Or email info@nexeves.com
Step 5: Onboard each EGS unit
- Log in to the Fatoora portal through ZATCA's taxpayer portal.
- Generate a one-time password (OTP) for each unit you're onboarding.
- Enter the OTP in the ZATCA app in ERPNext, which generates the certificate request.
- Run ZATCA's compliance checks with sample invoices, credit notes and debit notes.
- Receive the production CSID and switch the unit to live.
Each branch, POS terminal or separate system you invoice from may need to be its own unit. Plan the list before you start.
Step 6: Test in the sandbox
ZATCA provides a developer sandbox and simulation environment. Test every scenario you use: cash and credit sales, discounts, advances, returns, credit notes against cleared invoices and zero-rated exports. Fix errors here, not in front of customers.
Step 7: Train staff and monitor daily
- Show billing staff how to read clearance and reporting statuses.
- Make one person responsible for rejected or pending invoices every day.
- Never cancel or edit a cleared invoice. Issue a credit or debit note instead.
- Watch CSID renewal dates so a unit doesn't stop working.
Common ERPNext ZATCA Phase 2 problems
- Missing buyer VAT number or address on standard invoices.
- Several systems sharing one unit, which breaks the hash chain.
- Deleted or amended invoices creating gaps in the counter.
- POS invoices not reported within 24 hours because a device was offline.
- Credit notes not linked to the original invoice.
- English-only print formats.
Our post on how ERPNext keeps audit-ready data explains the controls that prevent most of these.
Saudi Arabia, the UAE and the rest of the GCC
Many groups run entities in more than one Gulf country. The UAE (Dubai, Abu Dhabi) starts mandatory e-invoicing on 1 January 2027 for businesses with revenue of AED 50 million or more, using a different model with accredited service providers.
Read our UAE e-invoicing ERPNext checklist and ERPNext UAE VAT and corporate tax guide. We also serve Qatar (Doha), Kuwait, Bahrain and Oman (Muscat), and set up each country from its own official rules.
How Nexeves helps with ZATCA Phase 2
Our consultants support Saudi businesses in Riyadh, Jeddah and beyond from our base in Kozhikode, India:
- Readiness review of your ERPNext version, data and EGS units.
- Setup and onboarding: app installation, print formats, CSIDs and sandbox testing.
- Go-live support and training for billing and accounts.
Moving to ERPNext as part of this? A mid-sized go-live usually takes 2–3 months at Nexeves. See our ERPNext implementation timeline, the ERPNext implementation cost guide and our ERPNext implementation services.
Frequently asked questions
Does ERPNext support ZATCA Phase 2?
Yes, with an add-on. ERPNext's Saudi features, now in a separate KSA app, cover VAT reporting and Phase 1 QR codes. For Phase 2 you install a ZATCA integration app that generates the XML, onboards each unit with a CSID, and handles clearance and reporting with the Fatoora platform.
What is ZATCA Wave 25?
Wave 25 covers taxpayers whose VAT-subject revenue exceeded SAR 187,500 in 2022, 2023, 2024 or 2025. ZATCA announced it on 24 July 2026 and will notify the businesses concerned. They must integrate their e-invoicing solutions with the Fatoora platform by 1 February 2027.
What is the difference between ZATCA Phase 1 and Phase 2?
Phase 1, from 4 December 2021, requires electronic invoices with set fields and a QR code. Phase 2, rolled out in waves since 1 January 2023, adds integration with ZATCA's Fatoora platform: XML invoices, cryptographic stamps, clearance of B2B invoices and reporting of B2C invoices within 24 hours.
What is a CSID in ZATCA e-invoicing?
A CSID (Cryptographic Stamp Identifier) is a digital certificate ZATCA issues to each onboarded invoicing unit. It identifies the unit, signs simplified invoices and gives access to the clearance and reporting APIs. You get it by generating an OTP on the Fatoora portal and passing compliance checks.
How long do I have to report simplified invoices to ZATCA?
Simplified tax invoices (B2C), and their credit and debit notes, must be reported to the Fatoora platform within 24 hours of being issued. You give the invoice to the customer immediately, stamped and with the Phase 2 QR code, then report the XML within that window.
Do ZATCA invoices have to be in Arabic?
Yes. ZATCA's guidelines state that, under the VAT regulations, invoices must be in Arabic.
Other languages, such as English, can appear on the invoice as well. In ERPNext, the practical answer is a bilingual Arabic-English print format with the Phase 2 QR code.
Get ERPNext ZATCA Phase 2 ready
Book a free ZATCA readiness review with Nexeves. We help businesses in Riyadh, Jeddah and across Saudi Arabia run compliant ERPNext, and we also serve the UAE, Qatar, Kuwait, Bahrain and Oman.
Book my free ZATCA readiness review → WhatsApp us: +91 8089051848
Or email info@nexeves.com
Nexeves serves India & the GCC: Kerala and the rest of India, plus the UAE (Dubai, Abu Dhabi), Saudi Arabia (Riyadh, Jeddah), Qatar (Doha), Kuwait, Bahrain and Oman (Muscat).
No comments yet. Login to start a new discussion Start a new discussion