ZATCA Phase 2 e-invoicing: the complete practical guide
What the Integration phase really requires from your systems, how clearance and reporting work, and a step-by-step plan to get ready before your wave deadline.
Saudi Arabia’s e-invoicing program, known as FATOORA, is one of the most advanced in the world. Phase 1 (Generation) required businesses to issue invoices electronically. Phase 2 (Integration) goes much further: your invoicing system must connect directly with the Zakat, Tax and Customs Authority (ZATCA) and exchange invoices with it in a specific technical format. For many companies, this is the moment they discover their current system simply cannot do it.
Phase 1 vs Phase 2 at a glance
| Phase 1 — Generation | Phase 2 — Integration | |
|---|---|---|
| Start | 4 December 2021 | From 1 January 2023, in waves |
| Requirement | Issue and store invoices electronically, with QR code on simplified invoices | Integrate the system with FATOORA and share invoices in XML format |
| Connection to ZATCA | Not required | Required for every invoice |
| Security | Basic | Cryptographic stamp, hashing and device onboarding |
Who must comply, and when?
Phase 2 is being rolled out in waves. ZATCA selects taxpayers based on their VAT-subject revenue in a reference period and notifies them in advance, typically with a lead time of at least six months. Each wave has a fixed integration window. If you have not received a notification yet, it does not mean you are exempt; it means your turn has not come yet. The smartest companies prepare before the letter arrives.
What your system must be able to do
- Generate invoices in UBL 2.1 XML (or PDF/A-3 with the XML embedded) containing all mandatory fields.
- Assign a unique identifier (UUID) and an invoice counter to every invoice.
- Chain invoices by including the hash of the previous invoice, so the sequence cannot be altered.
- Apply a cryptographic stamp using certificates issued to each onboarded solution or device.
- Produce a QR code with the required tags.
- Connect to FATOORA APIs for compliance checks, clearance and reporting.
- Handle responses, including warnings, rejections and resubmissions, without losing data.
Clearance vs reporting: the key concept
ZATCA treats two invoice types differently:
- Standard tax invoices (business to business and government): must be sent to ZATCA for clearance. ZATCA validates and stamps them, and only then can the invoice be shared with the buyer.
- Simplified tax invoices (business to consumer): are issued to the customer immediately and must be reported to ZATCA within 24 hours.
Credit and debit notes follow the same logic as the invoices they relate to. This distinction has real operational impact: if the integration is down, your B2B invoicing stops. That is why monitoring and retry mechanisms matter as much as the integration itself.
Compliance is not a one-time project. Every invoice, every day, must pass ZATCA’s validation. Design for reliability, not just for go-live.
The onboarding process
- Log in to the FATOORA portal and generate an OTP for each solution unit (for example, each branch or POS device).
- Generate a certificate signing request from your system with your VAT and unit details.
- Obtain a compliance certificate and pass ZATCA’s compliance checks with sample invoices.
- Receive the production certificate and start sending live invoices.
Common mistakes we see
- Waiting for the notification letter and then trying to change systems in a few weeks.
- Incomplete customer master data (missing VAT numbers or national address fields), which causes rejections.
- Manual invoice numbering or editing posted invoices, which breaks the hash chain.
- No owner for daily monitoring of rejected or unreported invoices.
- Forgetting branches, POS terminals or secondary systems that also issue invoices.
A 6-step readiness plan
- Inventory every system and device that issues invoices.
- Clean your master data: customer VAT numbers, addresses, item tax categories.
- Choose a compliant solution such as ERPNext with a tested ZATCA integration.
- Test in ZATCA’s simulation environment with real scenarios: discounts, credit notes, exports and zero-rated sales.
- Onboard each unit and go live before your wave deadline.
- Monitor daily with a dashboard of cleared, reported and rejected invoices.
How Amy Technology helps
We implement ZATCA Phase 2 natively inside ERPNext, from master data cleansing and onboarding to testing, go-live and ongoing monitoring. Because our team includes tax accountants as well as engineers, we make sure the invoices are not only technically valid but also correct from a VAT perspective.
This article is for general information and does not constitute tax advice. Always refer to ZATCA’s latest official guidelines for your specific case.