ZATCA e-invoicing, also called Fatoora, requires every VAT-registered business in Saudi Arabia to issue its invoices from a compliant electronic system, and, in the second phase, to connect that system to ZATCA so invoices are cleared or reported in real time. For an online store or app, this means invoicing is not just a PDF at checkout: the system must produce structured invoices, sign them, and exchange them with ZATCA.
This guide explains what the rules require and what that means for the software behind your store. Always confirm the details that apply to you with ZATCA, since requirements and rollout waves are set by ZATCA.
What are the two phases of e-invoicing?
Phase 1, generation, has applied since 4 December 2021. VAT-registered taxpayers must generate and store invoices and notes (credit and debit notes) electronically through a compliant solution. Handwritten invoices are not allowed, and simplified tax invoices must carry a QR code.
Phase 2, integration, started on 1 January 2023 and is being rolled out in waves. ZATCA notifies each group of taxpayers ahead of its integration date. From that date, the invoicing system must be integrated with ZATCA's FATOORA platform.
If you sell online in Saudi Arabia and are registered for VAT, you are already in Phase 1. Whether Phase 2 applies to you yet depends on your wave.
What is the difference between clearance and reporting?
Phase 2 treats the two types of tax invoice differently:
| Invoice type | Typical use | What the system must do |
|---|---|---|
| Standard tax invoice | Sales to businesses (B2B) and government | Clearance: send the invoice to ZATCA and receive it back cleared *before* sharing it with the buyer |
| Simplified tax invoice | Sales to consumers (B2C), the usual case for online stores | Reporting: share the invoice with the customer, then report it to ZATCA within 24 hours |
Most consumer stores issue simplified invoices, so reporting is the flow you will build first. If you also sell to businesses, you need clearance as well.
What must each e-invoice contain?
Beyond the usual invoice fields (seller and buyer details, VAT number, items, totals and 15% VAT), a Phase 2 invoice carries technical elements that your system has to generate:
- Structured format: the invoice is produced as XML following the UBL 2.1 standard, or as PDF/A-3 with that XML embedded.
- QR code: your system generates it on simplified invoices, encoding details such as the seller name, VAT number, timestamp, total and VAT amount. Standard invoices come back from clearance with a QR code added by ZATCA.
- Cryptographic stamp: your system stamps simplified invoices with a certificate issued for your solution during onboarding. Standard invoices are stamped by ZATCA when it clears them.
- Unique identifier (UUID) for every invoice.
- Invoice counter and previous invoice hash: each invoice references the hash of the one before it, so invoices form an unbroken chain and cannot be silently deleted or reordered.
What does this mean for your store or app?
In practice, the software behind your store needs:
- An invoicing service that creates a ZATCA-compliant invoice for every order, refund and cancellation, including credit notes for returns.
- Onboarding with ZATCA: registering your invoicing solution through the FATOORA portal to obtain the certificate it uses to stamp simplified invoices and to connect for clearance and reporting.
- An integration queue: invoices sent to ZATCA, responses stored, failures retried, and reporting finished within the 24-hour window.
- Correct totals: discounts, shipping, rounding and VAT calculated the same way on the invoice, the payment and your reports.
- Storage: invoices kept and retrievable, with the hash chain intact.
If you use a hosted platform such as Salla or Zid, check what the platform handles for you and what remains your responsibility. If your store or app is custom-built, these pieces must be part of the build, not added after launch.
Common mistakes
- Treating the PDF receipt as the invoice. The structured, signed invoice is what counts.
- Issuing refunds without credit notes, which breaks the link between orders and invoices.
- Letting different parts of the system round VAT differently, so the invoice total does not match the amount charged.
- Waiting for the integration wave notice before planning the work. Integration touches checkout, refunds and reporting, and is easier to build in than to retrofit.
Summary
E-invoicing in Saudi Arabia has two layers: every VAT-registered business must issue compliant electronic invoices (Phase 1), and businesses in each Phase 2 wave must connect their invoicing system to ZATCA for clearance of B2B invoices and reporting of B2C invoices within 24 hours. For an online store or app, that is a system to design, not a document to print.
If you are planning a new store or app, include e-invoicing in the scope from the start. To discuss your project, contact our team, or read our comparison of payment gateways in Saudi Arabia and Salla, Zid or a custom store.

