Payments and tax · 6 min read
E-invoicing in Saudi Arabia: what a small business should prepare
What ZATCA’s integration phase asks of your invoicing, the difference between clearance and reporting, and a checklist to start with.
ZoolCoder
What it is
The Zakat, Tax and Customs Authority (ZATCA) requires VAT-registered businesses in Saudi Arabia to issue electronic invoices through its FATOORA platform. It came in two phases: first generating invoices electronically, then connecting invoicing systems to ZATCA directly.
The second phase, integration, is rolled out in waves. ZATCA selects each wave by revenue and notifies the businesses in it ahead of their deadline, and each wave reaches smaller businesses than the one before.
Two kinds of invoice, two flows
In the integration phase your system talks to ZATCA for every invoice:
- Standard tax invoices (business to business) are cleared: your system sends the invoice to ZATCA, which checks and stamps it before it goes to your customer.
- Simplified tax invoices (business to consumer) are reported: you give the invoice to the customer, with a QR code, and your system reports it to ZATCA within 24 hours.
What changes in your invoicing system
The system that issues your invoices, which ZATCA calls an e-invoice generation solution, needs to:
- Produce invoices in ZATCA’s structured XML format.
- Give each invoice a unique identifier and link it to the previous one.
- Sign invoices with a cryptographic stamp issued to your system during onboarding.
- Pass ZATCA’s compliance checks before it can send live invoices.
A checklist to start with
Most of the preparation is about your data and your systems, not the technology:
- Check whether your business has been notified for a wave, and the deadline.
- List every place that issues invoices today: accounting software, point of sale, a custom system, a spreadsheet.
- Clean your customer records: business customers need their VAT number and address on standard invoices.
- Ask your accounting or ERP provider how they support the integration phase. Odoo, for example, has a Saudi localisation for it.
- Plan a test period on ZATCA’s simulation environment before your deadline.
Where we can help
We connect the systems that issue your invoices, check the data before it leaves, and keep a person in control of anything that fails validation. If you already use Odoo or another accounting tool, we work with it rather than around it.