ZATCA's Phase 2 e-invoicing integration has been rolling out in waves since 2023, and by 2026 most VAT-registered businesses in the Kingdom are within scope. Yet the volume of Phase 2 rejections and clearance failures we still see from small and mid-sized businesses suggests a lot of SMEs treated their integration date as a finish line rather than an ongoing operational requirement. Here is where the gaps actually are.
1. Confusing "has an invoicing system" with "is ZATCA compliant"
Plenty of SMEs run software that produces a PDF invoice with a QR code and assume that satisfies Phase 2. It doesn't. Phase 2 requires invoices to be generated in a structured XML format (UBL 2.1), cryptographically signed, and — for standard tax invoices — cleared with ZATCA in real time before being issued to the customer. Simplified tax invoices (typically B2C) are reported within 24 hours rather than cleared live, but both paths require the structured XML, not just a QR-coded PDF. A system that only produces the visual document is a Phase 1 tool wearing a Phase 2 sticker.
2. Treating the QR code as the whole compliance story
The QR code matters, but it's a TLV-encoded summary — seller name, VAT number, timestamp, invoice total, VAT amount — not the compliance mechanism itself. We regularly see invoices with a QR code that decodes correctly but sit on top of an accounting system that never actually integrated with ZATCA's API for clearance or reporting. The QR code is a symptom of compliance, not the cause of it.
3. Gaps in sequential numbering
ZATCA's system checks for gap-free, sequential invoice numbering with a UUID and Invoice Counter Value (ICV) on every document. Businesses that issue invoices from more than one system — a POS at the till and a separate accounting package for services, for example — routinely break this without noticing, because each system numbers independently. The fix isn't a workaround; it's one system of record for invoice numbering, or a properly synchronised counter across systems.
4. Getting VAT arithmetic almost right
"Almost right" fails an audit. Floating-point rounding errors that show a few halalas of discrepancy between the invoice total, the VAT line, and the QR-encoded amount are one of the most common rejection reasons we see, especially from businesses that built invoicing on top of a general-purpose spreadsheet or a lightly customised generic accounting tool rather than a system that computes VAT in fixed integer units from the start.
5. Assuming the accounting software vendor is ZATCA-approved
Being "ZATCA-ready" as a marketing phrase and being formally onboarded through Fatoora's integration process are different things. Before your next wave date, confirm your provider has actually completed device/solution onboarding with ZATCA — not just that their website says "ZATCA compliant." If they can't show you a successful clearance/reporting integration for a business your size, that claim is unverified.
6. No plan for bilingual, RTL-correct documents
Phase 2 doesn't mandate Arabic-only invoices, but Saudi buyers — and increasingly Saudi auditors — expect a document that reads correctly in Arabic, with proper right-to-left shaping on the tax invoice, not a translated afterthought. Software built for a different market and retrofitted with an Arabic label or two tends to show it in exactly the places an auditor looks first: totals, VAT breakdown, and the seller/buyer block.
Where this leaves SME owners
None of this requires an enterprise ERP rollout. What it requires is treating e-invoicing as infrastructure — a system where invoice numbering, VAT computation, XML generation, and ZATCA clearance all happen in one place, correctly, every time — rather than a checkbox exercise completed once at onboarding.
This is exactly the gap Wahabooks was built to close: a bilingual invoicing and accounting suite for Saudi businesses where every invoice is generated, signed, and cleared correctly by design, with VAT computed in exact integer halalas rather than floating-point approximations. If you're not confident your current setup would survive a ZATCA audit today, request a demo and we'll show you what compliant-by-default actually looks like.

