Saudi Arabia · ZATCA Phase 2 (FATOORA)

ZATCA Phase 2, handled for you.

Phase 2 turned every Saudi invoice into a live exchange with ZATCA. TamilAccounting does that exchange as part of issuing the invoice — builds the UBL 2.1 XML, signs and stamps it, links it to the invoice before it, clears or reports it, and prints the QR — so your team just raises invoices.

B2B invoices cleared B2C invoices reported Hash chain kept for you QR on every print Credit notes Onboarding built in
Who must comply

Phase 2 reaches every VAT-registered business — wave by wave

ZATCA brings VAT-registered businesses into the Integration phase in waves and tells each business ahead of its date. Once your wave is called, invoices must flow through FATOORA — a PDF with a QR code is no longer enough.

Phase 1 · Generation

Electronic invoices with a QR

Invoices issued from a system, not by hand, with the basic QR code on simplified invoices.

  • Seller name and VAT number in the QR
  • Invoice time, total and VAT amount
  • TamilAccounting prints this QR on every Saudi invoice
Phase 2 · Integration

Connected to ZATCA

Your invoicing system is onboarded with ZATCA and exchanges every document with FATOORA.

  • Standard (B2B) invoices cleared before they reach the buyer
  • Simplified (B2C) invoices reported within 24 hours
  • Signed XML, hash chain and cryptographic QR
When your wave is called

Onboard, rehearse, go live

Do it in the ERP you already invoice from — no middleware, no separate portal for each invoice.

  • Generate the OTP on the FATOORA portal
  • Rehearse in ZATCA’s simulation environment
  • Switch to production when every check passes
Why Phase 2 hurts

Where Saudi businesses get stuck with Phase 2

Phase 1 software printed a QR and stopped there. Phase 2 needs a live, cryptographically linked conversation with ZATCA for every document — and the gaps show up fast.

The buyer is waiting

A standard tax invoice has to be cleared by ZATCA before the buyer receives it. Uploading or retyping it on a separate tool means the invoice sits while someone does the paperwork.

Cost: delayed deliveries and delayed payment.

The 24-hour clock

Every simplified (B2C) invoice handed over the counter must be reported to ZATCA within 24 hours. On a busy day, remembering to send each one by hand is not realistic.

Cost: late reports and penalties you never saw coming.

One broken link breaks the chain

Each invoice carries the hash of the one before it and its own counter. Submit out of order, or count a rejected invoice as sent, and everything after it is rejected too.

Cost: days spent unpicking a chain nobody can see.

Certificates, CSRs and OTPs

Onboarding means a certificate request, an OTP from the FATOORA portal, a compliance certificate, sample documents and then a production certificate. Most teams have never done it.

Cost: consultants, delays and a go-live date that slips.

Not everything is 15%

Exports, zero-rated, exempt and out-of-scope lines each need the right tax category and a reason code on the invoice, or ZATCA rejects the whole document.

Cost: rejected invoices on exactly the deals that matter most.

“Sent” is not “cleared”

ZATCA can answer a submission and still refuse the invoice. Software that treats any reply as success leaves you believing invoices are compliant when they are not.

Cost: non-compliant invoices discovered only at audit.

With TamilAccounting

From invoice to VAT return, in one system

You raise the invoice. Everything ZATCA needs happens behind it — automatically on save, or with one button on the invoice if you prefer to control the moment.

InvoiceRaised as usual — buyer, items, VAT
UBL 2.1 XMLBuilt from the real invoice, line by line
Sign & stampCryptographic stamp with your ZATCA certificate
ChainPrevious invoice hash and the next counter
Clear or reportB2B cleared, B2C reported — chosen for you
QRZATCA’s signed QR placed on the invoice
Print & sharePDF with the QR, emailed to the buyer
VAT returnOutput and input VAT for the period
Watch it in action

ZATCA Phase 2, start to finish — in English and Arabic

Recorded on a demo company: a B2B invoice cleared, a counter sale reported, the hash chain moving forward and the QR on the printed invoice.

Sales types & taxes

Tax-inclusive and tax-exclusive prices, tax groups and how the same item stays correct.

Quick takes · under a minute or two
How it works

Everything Phase 2 asks for, done from the invoice

No separate e-invoicing tool, no file uploads, no retyping. The same invoice your team already raises is the one ZATCA receives.

Clearance & reporting

The right route for every invoice, chosen for you

When the buyer has a Saudi VAT number, the invoice is a standard tax invoice and goes for clearance: ZATCA checks it and returns it cleared, and that is the version your buyer gets. For walk-in and consumer sales the invoice is simplified: it is stamped, handed over at once and reported to ZATCA as soon as it is saved — well inside the 24-hour window.

  • Standard or simplified decided from the buyer, not by the cashier
  • Credit notes carry a reference to the original invoice and follow the same route
  • Zero-rated, exempt and out-of-scope lines carry their tax category and reason code
  • Tax-inclusive prices handled, so the taxable amount on the XML is the true net
Taxes & filings
Hash chain

A hash chain that does not break on a bad day

Every invoice is signed with the hash of the previous accepted invoice and its own sequential counter. TamilAccounting moves the chain forward only when ZATCA accepts a document — a rejected invoice never takes a place in it, so fixing and resending one invoice does not poison the ones after it.

  • Previous invoice hash and invoice counter maintained automatically
  • A document already accepted is never sent twice
  • Simulation and production each keep their own chain — rehearsals never touch live numbering
Onboarding

Onboarding is a four-step wizard, not a project

Enter your VAT number and seller national address, generate the certificate request, and paste the OTP you create on the FATOORA portal. TamilAccounting obtains the compliance certificate, submits a sample of every document type your certificate covers — invoices, credit notes and debit notes — and, once they all pass, requests the production certificate.

  • Certificate request generated for you — nothing to upload
  • Compliance checks run and shown pass by pass
  • Rehearse in ZATCA’s simulation environment, then go live in production
  • Nothing changes for your users until an admin switches e-invoicing on
Rejections, warnings & audit

When ZATCA says no, you see why — at once

An invoice counts as done only when ZATCA actually clears or reports it. If ZATCA refuses it, the invoice is marked failed with ZATCA’s own error codes and messages, and it moves to the front of the overview under Needs attention. Fix the cause — usually a missing buyer address detail — and send it again. Failed submissions are also retried automatically.

  • “Cleared with warnings” accepted, with the warning codes kept for follow-up
  • Buyer building number, district and CR number captured on the customer, so address warnings disappear
  • Overview: issued, cleared, reported, acceptance rate and recent e-invoices
  • Audit trail of every exchange with ZATCA — what was sent, what came back, when
The details

The small things that get invoices rejected elsewhere

Phase 2 is strict about details. These are handled once, in setup, and then on every invoice.

01

The QR the inspector scans

Once an invoice is cleared or reported, its signed Phase 2 QR (TLV encoded) prints on the invoice automatically. Before that, the Phase 1 QR — seller, VAT number, time, total and VAT — is printed, so a Saudi invoice never goes out without one.

02

Tax categories with reasons

Map each item tax type once to standard, zero-rated, exempt or out-of-scope with its exemption reason. Mixed invoices carry a separate VAT subtotal per category.

03

National address, both sides

Your seller national address is set in the wizard; each customer’s building number, additional number, district and CR number sit on the customer record.

04

Corrections by credit note

A cleared invoice is corrected with a credit note that references the original — signed, chained and cleared or reported like any other document.

05

Arabic and English

Work in an Arabic, right-to-left interface or in English. Arabic customer and item names print correctly on the PDF, and the invoice layout designer lets you add Arabic headings beside the English ones.

06

Saudi rules for Saudi companies

The ZATCA logic loads only for companies set up in Saudi Arabia. Run entities in other countries from the same account and they never collide.

Side by side

Phase 1 software vs. TamilAccounting on Phase 2

 Generic or Phase 1 softwareTamilAccounting
B2B invoicesPrinted and sent; clearance done elsewhere, if at allCleared with ZATCA from the invoice itself
B2C invoicesUploaded by hand, hoping it is within 24 hoursReported as soon as the invoice is saved
Invoice formatPDF onlyUBL 2.1 XML with cryptographic stamp, plus the PDF
Hash chainNot kept, or broken by a single rejectionPrevious hash and counter advanced only on acceptance
QR codePhase 1 QR onlyZATCA’s signed Phase 2 QR once cleared or reported
OnboardingCertificates and OTPs handled by a consultantWizard: certificate request, OTP, compliance checks, production certificate
Rejections“Sent” even when ZATCA refused itZATCA’s error codes shown; failed invoices retried and flagged
VAT returnRebuilt from a separate systemOutput and input VAT straight from the same books
Why businesses stay

Bring your data. We’ll keep it right — and keep making it better.

Switching software is the hard part. We help you move, keep your records sound, and keep improving the system with you.

Data migration & opening balances

Move across from Tally, Zoho, QuickBooks, Xero, Sage 50 or SMACC, or from Excel templates for items, customers, suppliers, employees, chart of accounts and opening balances. You preview every row before it is saved — and our team helps you through it.

Your data, kept right

Your database is backed up three times a day — every 8 hours — and your files are backed up too. Each company keeps its own separate database; roles decide who can see, enter, approve or void; every change is on the audit trail; and everything exports to Excel or PDF whenever you want it.

Always improving, with you

We follow up regularly with the businesses that use it, and their requests become features. Updates arrive on your account automatically — nothing to download or reinstall.

Connected to what comes next

GST e-invoice and e-way bill, ZATCA, WooCommerce, WhatsApp, biometric devices, online payment gateways, mobile apps and an AI assistant — and new connections are added as the market moves.

FAQ

ZATCA Phase 2: common questions

Invoices to a buyer with a valid Saudi VAT number are standard tax invoices and are sent for clearance — ZATCA validates them and returns them cleared before the buyer receives them. Invoices to consumers and walk-in customers are simplified invoices: they are given to the customer immediately and reported to ZATCA. TamilAccounting decides the route from the buyer, so nobody has to choose.

Only once per environment, to generate the OTP during onboarding: on the portal you choose to onboard a new solution unit or device and create an OTP, then paste it into the setup wizard. The certificate request is sent for you. After that, every invoice is exchanged with ZATCA from inside TamilAccounting.

Yes. Onboard in ZATCA’s simulation environment first, run the compliance checks and issue test invoices, then onboard for production. Each environment has its own certificate and its own hash chain, so rehearsals never affect your live invoice numbering.

The invoice is marked failed with ZATCA’s own error codes and messages, and it appears under Needs attention on the overview. It does not take a place in the hash chain, so the invoices after it are unaffected. Correct the cause — for example the buyer’s national address — and send it again; failed submissions are also retried automatically.

A cleared invoice cannot be withdrawn from ZATCA. Raise a credit note against it: the credit note references the original invoice and is signed, chained and cleared or reported in the same way.

Yes, once the invoice has been cleared or reported, the cryptographically signed QR returned for that invoice prints on it automatically. Until then the invoice carries the Phase 1 QR with the seller, VAT number, time, total and VAT amount.

Yes. Each item tax type is mapped once to standard, zero-rated, exempt or out-of-scope with its exemption reason, and every invoice line carries the right category. Invoices that mix categories show a separate VAT subtotal for each.

No. Onboarding can be finished while e-invoicing is still switched off, and nothing changes for users until an admin turns it on. After that they raise invoices exactly as before — automatically on save, or with a button on the invoice if you choose manual mode. There is a 1-month free trial to try it first.

Be ready before your wave is called.

Onboard with ZATCA, rehearse in simulation and go live from the same system you invoice from.

Global Coverage

Multi-Country ERP — One Platform

Supports GST (India), VAT (UAE, South Africa, Egypt, Iraq, Botswana), and local compliance across all regions.

🇮🇳 India (GST)
🇦🇪 UAE (VAT)
🇸🇦 Saudi Arabia
🇶🇦 Qatar
🇧🇭 Bahrain
🇴🇲 Oman
🇰🇼 Kuwait
🇪🇬 Egypt
🇮🇶 Iraq
🇿🇦 South Africa
🇧🇼 Botswana
🇲🇾 Malaysia
🇸🇬 Singapore
🇦🇺 Australia
🇬🇧 United Kingdom
🇺🇸 USA
🌏 & More Regions