ZATCA-compatible POS system: what you need to know in 2026
A ZATCA-compatible POS system must do two things: issue a simplified tax invoice with a QR code (Phase 1), and — when your compliance wave lands — integrate with the Fatoora platform to sign and submit every invoice electronically (Phase 2). POS systems that print a QR but lack the Phase 2 infrastructure will fail the moment your business enters its compliance wave. Modarhem builds the full chain in-house: CSID certificate, ECDSA signing, UBL 2.1 XML, and the BR-KSA Schematron rules ported locally — with no third-party ZATCA SaaS dependency.
What's the difference between ZATCA Phase 1 and Phase 2?
Phase 1 (Generation Phase) was mandated in December 2021 and requires every invoice to be electronic and stored, with QR codes on simplified tax invoices. Phase 2 (Integration Phase) started in 2023 in waves by revenue size, and requires actual integration with the Fatoora platform, digital signing, and submission of every invoice to ZATCA before delivery (B2B Clearance) or within 24 hours (B2C Reporting).
Do all POS systems on the Saudi market support ZATCA?
Most support Phase 1 (QR + e-invoice). Phase 2 is different — it needs signing and Fatoora integration infrastructure. Some systems lean on a third-party Billing Service Provider (BSP), which adds cost, latency, and an extra point of failure. Modarhem builds the entire pipeline in-house.
What is an EGS and why do I need one?
EGS (E-Invoice Generation Solution) is the unit registered with ZATCA that produces and submits invoices. Every POS device or server that issues invoices needs its own EGS with a dedicated CSID. Modarhem manages the full EGS lifecycle: CSR generation, CSID retrieval from ZATCA, secure storage, renewal before expiry.
How are e-invoices signed technically?
The invoice is built in UBL 2.1 XML, hashed with SHA-256, then digitally signed using ECDSA with the private key from the CSID. Each invoice references the previous invoice hash (the hash chain), making retroactive tampering with any invoice impossible without breaking downstream invoices.
What happens if submission to ZATCA fails?
Modarhem retries automatically for 24 hours. Pending invoices remain visible with a status badge. If failures persist past 24 hours, a warning appears on the settings dashboard. B2C invoices do not block the sale (reporting is retroactive). B2B invoices require pre-clearance approval from ZATCA before delivery.
When does my business need to comply with Phase 2?
ZATCA announces compliance waves by annual revenue. Early waves targeted large taxpayers (≥ SAR 3 billion, then descending), and now small taxpayers. You receive an official ZATCA notice six months before your compliance date. Modarhem has been Phase 2 ready since day one — no upgrade required when your wave lands.