Saudi Arabia's e-invoicing programme, run by the Zakat, Tax and Customs Authority (ZATCA) through its Fatoora platform, has two phases. Phase 1 (generation) started on 4 December 2021 and required invoices to be issued electronically. Phase 2 (integration) goes further: your invoicing system must connect to ZATCA and share every invoice with it.
Who has to comply, and when
Phase 2 has been rolled out in waves since 1 January 2023. ZATCA selects taxpayers by revenue and notifies each wave at least six months before its deadline. If you are VAT-registered in Saudi Arabia, assume your turn is coming and check the Fatoora portal for your notification.
Clearance vs reporting
- Standard tax invoices (B2B) are cleared: ZATCA validates and stamps the invoice before you share it with the buyer.
- Simplified tax invoices (B2C) are reported: you issue them immediately with a QR code and send them to ZATCA within 24 hours.
- Credit and debit notes follow the same rule as the invoice they correct.
What every Phase 2 invoice must contain
- An XML file in the UBL 2.1 format, with the fields ZATCA requires
- A cryptographic stamp from your company's certificate
- A hash linking it to the previous invoice, so the chain cannot be broken
- A QR code (mandatory on simplified invoices, and printed on standard ones)
- A unique identifier (UUID) and an invoice counter
How to get ready
- Make sure your VAT number, CR number and national address are correct in your system.
- Check customer details: B2B buyers need their VAT number and address on the invoice.
- Use software that generates, signs and sends invoices itself — not a manual upload.
- Onboard your devices on the Fatoora portal with a one-time code, and keep the certificates renewed.
- Test with ZATCA's simulation environment before you go live.
In Valeurx, all of this happens when you press Post. The invoice is built, signed, cleared or reported, and ZATCA's answer is stored with it — so if anything is refused you see exactly why.