ZATCA e-invoicing Phase 2 and Saudi VAT: the complete guide for shops and restaurants
Every VAT-registered business in Saudi Arabia now has to issue e-invoices that connect to ZATCA's FATOORA platform. This guide explains Saudi VAT, Phase 1 and Phase 2 in plain words — and shows how MCPOS Cloud signs, reports and clears your invoices straight from the till.
Quick answer
ZATCA Phase 2 (the "integration phase") means your billing software must connect to ZATCA's FATOORA platform. B2B tax invoices must be cleared by ZATCA before you give them to the buyer. B2C simplified invoices must be reported to ZATCA within 24 hours. Every invoice is an XML file with a cryptographic stamp, a link to the previous invoice and a QR code.
Wave 24 closed on 30 June 2026 and covered businesses with taxable revenue above SAR 375,000 — the same figure as the mandatory VAT registration limit. So almost every VAT-registered business must now be on Phase 2. MCPOS Cloud has Phase 1 and Phase 2 built in, on the Advanced plan.
Saudi Arabia e-invoicing at a glance
| Tax authority | Zakat, Tax and Customs Authority (ZATCA) — هيئة الزكاة والضريبة والجمارك |
|---|---|
| E-invoicing platform | FATOORA (فاتورة) |
| VAT rate | 15% standard rate (since 1 July 2020). Some supplies are zero-rated or exempt. |
| VAT registration | Mandatory above SAR 375,000 of taxable sales a year; voluntary above SAR 187,500 |
| Phase 1 — Generation | Since 4 December 2021: invoices must come from a compliant electronic system, with a QR code on simplified invoices |
| Phase 2 — Integration | Since 1 January 2023, in waves. Wave 24 deadline: 30 June 2026 (revenue above SAR 375,000) |
| B2B / B2G (standard tax invoice) | Clearance — ZATCA checks and stamps the invoice before you share it |
| B2C (simplified tax invoice) | Reporting — hand it to the customer now, report it to ZATCA within 24 hours |
| Invoice format | UBL 2.1 XML with a cryptographic stamp, invoice hash, counter and UUID; a QR code on the printout |
| Language | Arabic is required; a second language (like English) can be added |
Timeline and who is covered
| Wave | Who is in it (VAT-taxable revenue) | Integration deadline |
|---|---|---|
| Phase 1 | Every VAT-registered business | 4 December 2021 |
| Wave 1 | Above SAR 3 billion (2021) | 1 January – 30 June 2023 |
| Wave 2 | Above SAR 500 million (2021) | 1 July – 31 December 2023 |
| Waves 3 – 22 | The limit came down wave by wave | 2023 – 2025 |
| Wave 23 | Above SAR 750,000 in 2022, 2023 or 2024 | 31 March 2026 |
| Wave 24 | Above SAR 375,000 in 2022, 2023 or 2024 | 30 June 2026 |
ZATCA tells each business its wave by notice, usually six months ahead. If you registered for VAT voluntarily below SAR 375,000, check the notice on your FATOORA or ZATCA portal account.
Saudi VAT in short
Saudi Arabia charges VAT at 15% on most goods and services. You must register once your taxable sales pass SAR 375,000 in 12 months, and you may register from SAR 187,500. Businesses with taxable sales above SAR 40 million file VAT returns every month; everyone else files every quarter.
There are two kinds of VAT invoice:
- Tax invoice (فاتورة ضريبية) — for sales to another business or the government (B2B, B2G). It must show the buyer's name, VAT number and full address.
- Simplified tax invoice (فاتورة ضريبية مبسطة) — for sales to consumers (B2C), like a supermarket or restaurant bill. It needs less buyer detail but must carry a QR code.
Returns and price changes are made with a credit note (إشعار دائن) or a debit note (إشعار مدين) that points back to the original invoice. Keep your VAT records for at least six years.
Phase 1 vs Phase 2 — what is the difference?
| Phase 1 — Generation | Phase 2 — Integration | |
|---|---|---|
| Started | 4 December 2021, for everyone | 1 January 2023, wave by wave |
| Invoice | Made and kept in an electronic system | A UBL 2.1 XML file with a cryptographic stamp |
| QR code | 5 fields: seller name, VAT number, date and time, total with VAT, VAT amount | Adds the invoice hash, the digital signature and the public key (up to 9 fields) |
| Connection to ZATCA | None | Every invoice goes to FATOORA — cleared (B2B) or reported (B2C) |
| Device registration | None | Each billing device (EGS unit) is registered and gets its own certificate |
| Chain | None | Each invoice carries a counter and the hash of the one before it |
Phase 2 does not replace Phase 1. You still need everything from Phase 1 — Phase 2 adds the XML, the stamp and the live connection on top.
Clearance and reporting — what happens to one invoice
A B2C sale (reporting):
- The till builds the invoice as XML and gives it a UUID and the next counter number.
- It hashes the invoice, adds the hash of the previous invoice, and signs it with the device's private key.
- It prints the bill with the signed QR code. The customer leaves.
- Within 24 hours, the signed XML is sent to ZATCA, which answers "reported" (or lists what is wrong).
A B2B sale (clearance):
- The system builds and signs the tax invoice the same way, with the buyer's VAT number and address.
- It sends the invoice to ZATCA before sharing it.
- ZATCA checks it, adds its own stamp and QR code, and sends back the cleared invoice.
- Only the cleared invoice goes to the buyer. A rejected invoice is not valid — fix the data and issue it again.
EGS units, OTP and CSID — how onboarding works
ZATCA calls every device or software unit that issues invoices an EGS unit (E-invoice Generation Solution). Each till, each POS terminal and each back-office system that issues invoices is registered on its own:
- Log in to the FATOORA portal and create an OTP (one-time password).
- Your software makes a key pair and a certificate request (CSR) with your VAT number, branch and device serial.
- ZATCA returns a compliance CSID (a test certificate).
- The software sends ZATCA a set of sample documents — standard and simplified invoices, credit notes and debit notes — and ZATCA checks each one.
- When all pass, ZATCA issues the production CSID. From then on, that device signs real invoices.
The private key never leaves your side. If a till is reset or replaced, it must be onboarded again — its invoice chain starts fresh.
Why ZATCA rejects invoices — lessons from building it
These are the mistakes we saw most while building and testing MCPOS against ZATCA's platform. Check your current system for each one:
- Wrong VAT number. A Saudi VAT number has 15 digits and starts and ends with 3.
- Missing B2B address. A tax invoice needs the buyer's building number (4 digits), street, district, city and postal code (5 digits).
- Totals that do not add up after a discount. Bill and item discounts must lower the VAT base line by line, or the invoice totals will not match the lines.
- Seller name in the QR not matching the invoice. The name in the QR must be exactly the registered name in the XML — usually the Arabic name.
- Wrong date near midnight. The invoice date and time must be Saudi time, not server (UTC) time.
- A broken chain. Two tills sharing one certificate, or a reinstalled app re-using old counters, breaks the hash chain.
Key terms in Arabic
| English | Arabic |
|---|---|
| E-invoicing | الفوترة الإلكترونية |
| Tax invoice (B2B) | فاتورة ضريبية |
| Simplified tax invoice (B2C) | فاتورة ضريبية مبسطة |
| Credit note | إشعار دائن |
| Debit note | إشعار مدين |
| VAT number | الرقم الضريبي |
| Value added tax | ضريبة القيمة المضافة |
How MCPOS Cloud handles ZATCA Phase 1 and Phase 2 Live in MCPOS Cloud
ZATCA e-invoicing is built into MCPOS Cloud — not a plug-in and not a separate portal. We tested it end to end on ZATCA's own platform: device onboarding, all six compliance documents, reporting of simplified invoices and clearance of tax invoices. It is part of the Advanced plan.
Phase 1 or Phase 2 — your choice
Pick your phase in settings. Phase 1 prints the 5-field QR on every simplified invoice. Phase 2 signs every invoice and files it with ZATCA.
Onboard each till in minutes
Paste the OTP from FATOORA. MCPOS makes the key and CSR, gets the compliance CSID, passes the six compliance checks and gets the production CSID — for each terminal.
B2C invoices even offline
Android and desktop tills sign simplified invoices on the device and print the signed QR at once. They report to ZATCA as soon as they are back online, well inside 24 hours.
B2B cleared in real time
A sale to a customer with a VAT number is cleared by ZATCA before it prints. If the till is offline, it prints a normal bill with no ZATCA QR and clears the invoice when it is back online.
Bilingual invoices
"Simplified Tax Invoice | فاتورة ضريبية مبسطة" and "Tax Invoice | فاتورة ضريبية" on every template — 80 mm thermal and A4. B2B invoices show the buyer's VAT number, CR number, building number and district.
Credit notes for returns
Every sales return becomes a credit note linked to the original invoice, and is reported or cleared the same way.
A status for every invoice
See Reported, Cleared or Rejected with ZATCA's own messages. Download the signed and cleared XML. Failed sends are retried on their own every few minutes, and nothing is filed twice.
VAT that adds up
Item and bill discounts lower the VAT base line by line, so totals always match what ZATCA checks. VAT posts to your accounts, and the VAT report is ready for your return.
Going live on MCPOS — five steps
- Set up your business. Open MCPOS Cloud on the Advanced plan and add your Arabic and English name, VAT number, CR number and national address.
- Turn on e-invoicing. My Business → E-Invoicing: choose ZATCA and pick Phase 2.
- Onboard each till. Create an OTP on the FATOORA portal and paste it into MCPOS for each terminal. MCPOS runs the compliance checks and activates the device.
- Update your business customers. Add the VAT number and full address to every B2B customer, so their invoices clear the first time.
- Start billing. Watch the filing queue for anything rejected. Your VAT report fills itself as you sell.
Screen-by-screen help: E-invoicing setup and the e-invoice log in the MCPOS User Guide.
Already on another POS? Your old invoices stay with the old system. Onboard MCPOS as a new EGS unit — ZATCA allows more than one unit per VAT number — and start the new chain from your first MCPOS sale.
Saudi Arabia e-invoicing — frequently asked questions
What is ZATCA Phase 2?
ZATCA Phase 2, the integration phase, requires billing software in Saudi Arabia to connect to ZATCA's FATOORA platform. B2B tax invoices must be cleared by ZATCA before they are shared with the buyer, and B2C simplified invoices must be reported to ZATCA within 24 hours. Each invoice is a UBL 2.1 XML file with a cryptographic stamp, a hash chain and a QR code.
Is ZATCA Phase 2 mandatory for small businesses?
Yes for most. Wave 24, with a deadline of 30 June 2026, covered every business with VAT-taxable revenue above SAR 375,000 in 2022, 2023 or 2024. That is the same as the mandatory VAT registration limit, so nearly every VAT-registered business must now be on Phase 2. Voluntary registrants below that limit should check their ZATCA notice.
What is the difference between clearance and reporting?
Clearance applies to B2B and B2G tax invoices: ZATCA must check and stamp the invoice before you share it with the buyer. Reporting applies to B2C simplified invoices: you give the invoice to the customer straight away and send it to ZATCA within 24 hours.
Can I still bill when the internet is down?
Yes for B2C sales. MCPOS Android and desktop tills sign simplified invoices on the device, print the signed QR code and report them when they are back online, inside the 24-hour window. B2B tax invoices need ZATCA clearance, so MCPOS prints a normal bill without a ZATCA QR while offline and clears the invoice as soon as the connection returns.
What is an EGS unit and a CSID?
An EGS unit is any device or software that issues e-invoices, such as a POS terminal. Each EGS unit is registered with ZATCA using an OTP from the FATOORA portal and receives a Cryptographic Stamp Identifier (CSID) — first a compliance CSID for testing, then a production CSID for real invoices.
Do I need a separate ZATCA registration for each POS terminal?
Yes. Each terminal that issues invoices is its own EGS unit with its own key, certificate and invoice chain. MCPOS onboards each terminal from its settings with a new OTP.
What does the ZATCA QR code contain?
The Phase 1 QR code has five fields: seller name, VAT number, invoice date and time, total with VAT, and VAT amount. The Phase 2 QR code adds the invoice hash, the digital signature and the public key, and for simplified invoices the signature of ZATCA's certificate.
Must a ZATCA e-invoice be in Arabic?
Yes, the invoice must be in Arabic. You may add a second language, such as English. MCPOS prints bilingual Arabic and English invoice titles and labels.
Do sales returns need to go to ZATCA too?
Yes. A return is a credit note that must reference the original invoice, and it is cleared or reported the same way as the invoice. MCPOS turns every sales return into a linked credit note automatically.
How much does ZATCA e-invoicing cost in MCPOS Cloud?
ZATCA Phase 1 and Phase 2 are included in the MCPOS Cloud Advanced plan, priced per user per year with no setup fee. See the MCPOS pricing page for the current price.
E-invoicing in Saudi Arabia, handled from your till
Start free with billing, stock and accounting. E-invoicing is on the Advanced plan — no setup fee, and we help you through onboarding.
Start free See pricing Talk to usSources
Facts checked on 29 September 2026. Tax rules change — always confirm with the tax authority or your tax adviser before you act.
E-invoicing in other countries
One e-invoicing engine, one connector per country. See them all on e-invoicing software by country, or jump to one: