Phoonix

ZATCA e-invoicing Phase 2: what Saudi businesses need to know

A plain-language guide to ZATCA Phase 2: clearance vs reporting, XML, CSID onboarding, QR codes and a step-by-step plan to get your ERP ready.

A tax invoice with a QR code and an approval stamp

Since December 2021, every VAT-registered business in Saudi Arabia has had to issue invoices electronically. That was Phase 1, the generation phase. Phase 2, the integration phase, goes further: your invoicing system must connect to ZATCA's Fatoora platform and share each invoice with the authority as part of the normal invoicing flow.

This guide explains, in plain language, what changes in Phase 2, which invoices are cleared and which are reported, what your software must do behind the scenes, and how to prepare before your deadline. Rules are updated from time to time, so always confirm the details that apply to you on the official ZATCA website.

What is ZATCA Phase 2?

Phase 2 is the stage of Saudi e-invoicing where your invoicing system is connected to ZATCA and sends invoices to the authority in a structured format. Phase 1 only required that invoices be generated electronically by a compliant system. Phase 2 adds integration: invoices are produced as XML, signed, and either cleared or reported through Fatoora.

The practical effect is that ZATCA sees your invoices close to the moment they are issued, and invoices that do not meet the technical and data rules are flagged or rejected. For finance teams, this means invoicing quality matters more than ever: missing buyer data or a broken sequence is no longer something you fix quietly at month-end.

Phase 1 vs Phase 2 in one table

The short version: Phase 1 is about how invoices are created; Phase 2 is about how they are shared with ZATCA.

Phase 1: Generation Phase 2: Integration
Started 4 December 2021 From 1 January 2023, in waves
What it requires Invoices created in a compliant electronic system The system connects to Fatoora and sends invoices to ZATCA
QR code Required on simplified invoices Required, generated by the system with cryptographic details
Invoice format Electronic Structured XML (UBL 2.1) with a cryptographic stamp
Handwritten or editable invoices Not allowed Not allowed
Who is included All VAT-registered taxpayers Taxpayers notified by ZATCA, wave by wave

How the waves work

ZATCA brings businesses into Phase 2 in waves based on revenue. Each taxpayer is notified at least six months before its integration date. If you have not received a notice, that does not mean you are exempt forever; it means your wave has not been announced yet. Check the latest wave criteria on zatca.gov.sa and keep an eye on the email address registered with ZATCA.

Clearance vs reporting: which invoices go where

Standard tax invoices (B2B) are cleared before you send them to the buyer; simplified tax invoices (B2C) are reported within 24 hours.

Standard tax invoices (B2B): clearance

  1. Your system builds the invoice in XML and signs it.
  2. It sends the invoice to Fatoora.
  3. ZATCA validates it and returns the cleared invoice.
  4. Only then do you share the invoice with your customer.

Because the buyer cannot receive the invoice until it is cleared, a clearance problem directly delays billing. That is why data quality and a reliable connection matter most for B2B sellers.

Simplified tax invoices (B2C): reporting

  1. Your system (often a point of sale) issues the invoice with its QR code.
  2. You hand it to the customer immediately.
  3. The system reports the invoice to ZATCA within 24 hours.

Retail and restaurant businesses mostly live in this flow, so the key risk is a backlog of unreported invoices when a device goes offline.

Credit and debit notes

Credit and debit notes follow the invoice type they relate to. A credit note on a standard invoice is cleared; a credit note on a simplified invoice is reported.

What a Phase 2 invoice contains

A Phase 2 invoice is a signed, structured file that links to the invoice before it. The key technical elements are:

  • XML in UBL 2.1 format. A standard structure that ZATCA's systems can read and validate.
  • Cryptographic stamp. A digital signature created with the certificate issued to your invoicing unit.
  • UUID. A unique identifier for every invoice.
  • Hash of the previous invoice. Each invoice carries the hash of the one before it, forming a chain that shows nothing was removed or changed.
  • QR code. Printed on the invoice so it can be scanned and checked.

To share invoices with customers in a human-readable form, businesses may use PDF/A-3 with the XML embedded, so the readable document and the structured data travel together.

What your ERP or invoicing system has to do

A Phase 2 ready system handles the technical work automatically, so your team only issues invoices as usual. In practice it should:

  1. Onboard each invoice-generating unit. Every unit that issues invoices (for example a branch system or a cashier device) is registered with ZATCA and receives a certificate, known as a CSID.
  2. Build and sign the XML. Each invoice is produced in UBL 2.1, stamped and given a UUID.
  3. Maintain the hash chain. The system stores the previous invoice hash per unit, so the sequence stays intact.
  4. Generate the QR code and include it in the printed or PDF invoice.
  5. Clear or report automatically depending on the invoice type.
  6. Handle failures safely. If Fatoora is unreachable or an invoice is rejected, the invoice should be queued or flagged with a clear reason, never silently lost.
  7. Keep an audit trail. Store each invoice with its status and ZATCA's response so you can answer questions later.

If you issue invoices from several places, such as a head office, branches and a point of sale, all of them need to be covered. Multi-entity groups also need each company's own VAT number, certificates and invoice chain kept separate, which we cover in running several companies from one ERP.

A step-by-step plan before your deadline

Start with your ZATCA notification date and work backwards; six months passes quickly.

Months 6 to 4: understand your scope

  • Confirm your wave and integration date in your ZATCA notice.
  • List every place you issue invoices: head office, branches, point of sale, online store, manual billing.
  • Ask your software provider in writing whether and how they support Phase 2 integration.

Months 4 to 2: clean up data and test

  • Check that customer records include VAT numbers and complete addresses. Standard invoices require buyer details, and incomplete data is a common reason for rejection.
  • Review your item, tax and unit settings so every invoice line carries the correct VAT treatment.
  • Test in ZATCA's sandbox / simulation environment before going live. Try normal invoices, credit notes and edge cases.

Final two months: go live and train

  • Onboard each invoice-generating unit and obtain its CSID.
  • Train the people who issue invoices on what a rejected invoice looks like and how to fix it.
  • Decide who monitors failed or pending invoices every day.

Common mistakes to avoid

Most Phase 2 problems come from process and data, not from the technology itself. Watch for these:

  • Treating it as an IT-only project. Sales, cashiers and accountants all change how they work.
  • Forgetting secondary invoicing points. A branch or online store that still issues invoices from an old tool is out of scope of your new setup.
  • Editing or deleting issued invoices. Corrections should be made with credit or debit notes, not by changing the original.
  • No one owning rejections. Someone must review and resolve flagged invoices daily.
  • Testing too late. Leave enough time to fix issues found in the sandbox.

How Azha ERP handles ZATCA e-invoicing

Azha ERP supports ZATCA e-invoicing, including Phase 2 integration. Tax invoices from the Sales and Point of sale modules are generated in the required format and sent to Fatoora as part of the normal workflow, and because every module posts to one ledger, the same invoice updates stock, accounts and the VAT return report.

Azha runs several companies from one login, so each company keeps its own VAT number and invoice sequence, with branches inside each company. The interface works fully in Arabic (right to left) and English. You can read more about our approach on the services page or see what we have built in our work.

Frequently asked questions

Does Phase 2 apply to my business now?

Phase 2 is applied in waves based on revenue, and ZATCA notifies each taxpayer at least six months before its integration date. If you have not received a notice, your wave may not have been announced yet. Check the current criteria on zatca.gov.sa.

What is the difference between clearance and reporting?

Clearance applies to standard tax invoices (B2B): ZATCA validates the invoice before you share it with the buyer. Reporting applies to simplified tax invoices (B2C): you give the invoice to the customer immediately and report it to ZATCA within 24 hours.

What is a CSID?

A CSID is the cryptographic certificate ZATCA issues to each invoice-generating unit during onboarding. Your system uses it to sign invoices, so each unit that issues invoices needs to be onboarded.

Can I still send PDF invoices to customers?

Yes, customers still need a readable invoice. In Phase 2, a PDF/A-3 file with the XML embedded can be used, so the customer receives both the readable invoice and the structured data. Confirm the current presentation rules with ZATCA.

If you are preparing for your wave and want to see a cleared invoice end to end, book a free 30-minute demo. We will walk through it with examples from your own business and outline a realistic plan. You can also browse more guides on the blog.

/ Related articles

Questions about your setup?

A 30-minute call with someone who has implemented this for companies like yours.