What is ZATCA e-invoicing?
Most businesses don't set out to become e-invoicing experts — they just want to keep selling without falling foul of ZATCA. What follows is the plain version: what "Fatoora" actually requires, how the two phases differ, and where Navira fits into it.
ZATCA e-invoicing — everyone just calls it Fatoora, after the portal — is Saudi Arabia's system for issuing tax invoices electronically instead of on paper or as a PDF. Phase 1 requires an electronically generated invoice carrying a QR code. Phase 2 goes further: every invoice is generated as UBL 2.1 XML, carries a cryptographic stamp, and — for standard (B2B) tax invoices — is cleared with ZATCA in real time before it reaches the buyer. Simplified invoices, the kind issued to a walk-in customer and generally under SAR 1,000, follow a different path: they're reported to ZATCA within 24 hours rather than cleared beforehand. Getting that distinction wrong is one of the more common mistakes we see, which is why it's built into how Navira issues invoices rather than left for someone to remember.
ZATCA has been rolling businesses into Phase 2 in waves based on annual VAT-taxable revenue, and the threshold keeps dropping — recent waves reach down to SAR 375,000, the same figure that triggers mandatory VAT registration in the first place. Once you're in scope, the immediate task is a Compliance CSID for onboarding and testing, then a Production CSID once ZATCA approves the integration. Navira handles both as part of setup rather than treating them as a separate technical project.
Beyond the ZATCA layer, Navira is a working accounting system: VAT calculation and reporting to support your return, customer and product records, multi-company support for groups running more than one legal entity, and a point-of-sale module built for real invoice volume. Credit and debit notes follow ZATCA's own timing — including the 15-day issuance window that catches finance teams who treat it as a soft guideline rather than a deadline. None of this replaces a bookkeeper's judgment; it's meant to stop the software itself from being the reason an invoice goes out wrong.
If you're trying to work out whether any of this applies to you — which wave you're in, whether an invoice should be simplified or standard, what a Compliance CSID actually is — that's a better first conversation than a sales pitch, and it's the one we'd rather have.
Where we actually stand
Onboarded and active on ZATCA's Fatoora simulation environment — CSID issued, all six compliance checks passed, invoices signed, cleared and returning zero warnings. Simulation is the stage ZATCA requires before a production certificate is issued. Each merchant then onboards under their own certificate, which Navira walks you through.
Validated against ZATCA's own FATOORA SDK, not against an interpretation of the specification.
Verified 2026-09-05
Onboarding, step by step
This is the real sequence ZATCA requires, not a marketing simplification of it. Most merchants complete it in about half an hour.
Generate the signing request
Navira generates an elliptic-curve key pair for your device and builds the certificate signing request in the exact shape ZATCA's SDK expects — the field layout here is where most integrations fail their first check.
Paste the Fatoora OTP
You take a one-time password from ZATCA's Fatoora portal on your own VAT number. That exchanges the request for a compliance CSID — a certificate issued to you, not to Navira.
Pass the six compliance checks
ZATCA requires six signed sample documents — a standard invoice, a credit note and a debit note, then the same three as simplified. Navira builds, signs and submits all six from one screen.
Receive the production certificate
Passing the checks promotes the device to a production CSID. From that point every document you issue is signed with it automatically.
Issue, and Navira does the rest
A standard invoice to a business is cleared with ZATCA before it reaches the buyer. A simplified receipt is reported within 24 hours. Both carry the Phase-2 QR, and every submission and response is kept against the document.
What happens when something is rejected
Standard invoice (B2B)
Cleared before it reaches your buyer. A rejection is caught while the document is still yours — you see ZATCA's exact reason on the invoice, fix it, and re-submit. The customer never sees a broken document.
Simplified invoice (B2C)
Reported within 24 hours, so the receipt is already with the customer. The correction is a credit note referencing the original — and Navira keeps retrying a failed report inside the window rather than losing it.
Every attempt and every response is retained against the document. When ZATCA asks you to evidence a filing, the evidence is already there.
Technical specification
For the developer or IT evaluator who has been asked to check whether this is real.
- UBL 2.1 invoice, credit note and debit note
- XAdES B-B enveloped cryptographic signature
- Phase-2 TLV QR, base64, on every document
- Invoice hash chaining (PIH) across the sequence
- Reporting for simplified, clearance for standard
- Simulation-to-production device promotion
- Per-document submission log with the authority's raw response
- REST API and POS ingestion for your own systems
On the QR timestamp
One detail worth knowing, because it catches nearly everyone: ZATCA's live gateway compares the QR timestamp as a true UTC instant, while the offline SDK compares it as a string. Follow the SDK and the gateway raises a warning on every invoice you issue. Navira follows the gateway.
It is the kind of thing you only find by running real documents through the real gateway and reading what comes back.
ZATCA questions
Is Navira really ZATCA Phase 2 compliant, or just 'compliance-ready'?
The engine is onboarded and active on ZATCA's Fatoora simulation environment: a CSID has been issued, all six compliance checks pass, and invoices are signed, cleared and returning zero warnings. The document pipeline is validated against ZATCA's own FATOORA SDK rather than against our reading of the specification. Simulation is the stage ZATCA requires you to pass before it issues a production certificate — every merchant crosses it on their own VAT number, which is why onboarding is per-merchant and not something a vendor can do once for everybody.
Do I need my own ZATCA account?
Yes. Phase 2 certificates are issued to your VAT number, not to ours — you keep an account on ZATCA's Fatoora portal, and the OTP you paste into Navira comes from it. This is how the regulation is designed: your cryptographic identity stays yours, and it moves with you if you ever leave.
What happens if ZATCA rejects an invoice?
The rejection and the authority's exact reason are stored against that document and shown on it — not swallowed into a log nobody reads. Standard (B2B) invoices are cleared before they reach the buyer, so a rejection is caught before you have sent anything. Simplified (B2C) invoices are reported within 24 hours, so the receipt is already with the customer and the fix is a credit note referencing the original. Every submission attempt, with its response, is kept as an audit trail.
Clearance or reporting — which applies to me?
Both, depending on the document. A standard tax invoice to another business must be cleared by ZATCA before you send it. A simplified invoice — a retail receipt to a consumer — is reported to ZATCA within 24 hours of issue. Navira decides which path a document takes from the document type and the buyer, and you do not have to think about it.
Can I edit an invoice after issuing it?
No, and that is deliberate — the database itself refuses it. An issued tax invoice is a tax record; it is corrected with a credit or debit note that references the original, which is what both ZATCA and the FTA expect. Drafts remain fully editable until you issue them.
I have several CRs. Can I run them all from one login?
Yes — one login can hold several companies, each with its own VAT number, its own ZATCA device, its own numbering and its own branding, and you switch between them from the sidebar. How many you may hold depends on your plan. Note that each company is separate by design, including in reporting: a single consolidated view across companies is not available yet.
What is ZATCA e-invoicing (Fatoora)?
It's Saudi Arabia's mandatory system for issuing tax invoices electronically instead of on paper — most people just call it "Fatoora," after the portal. Phase 1 requires an electronically generated invoice with a QR code; Phase 2 adds a cryptographic stamp, UBL 2.1 XML, and — for invoices between businesses — real-time clearance with ZATCA before the buyer ever sees the document. Navira is built around both phases, not one bolted onto the other.
How do I know if my business is in ZATCA's Phase 2 wave?
ZATCA rolls businesses into Phase 2 in waves, based on annual VAT-taxable revenue, and the threshold has been lowered progressively — recent waves reach down to SAR 375,000, the same figure that triggers mandatory VAT registration. ZATCA notifies businesses directly ahead of their wave, but if you're unsure, check your VAT-taxable revenue against the latest published thresholds rather than assume the mandate doesn't reach you yet.
What is the VAT registration threshold in Saudi Arabia?
SAR 375,000 in annual taxable supplies makes VAT registration mandatory; SAR 187,500 makes it optional. Crossing 375,000 is also the figure ZATCA has used to pull businesses into e-invoicing Phase 2, so the two obligations tend to land on a growing business at roughly the same time.
What is the ZATCA 15-day rule for credit and debit notes?
A credit or debit note that corrects an issued tax invoice — a return, a price correction, a cancellation — generally has to be issued within 15 calendar days of the event that requires it. It's a hard deadline, not a guideline, and it's easy to miss when the correction is small; Navira keeps that window visible on the invoice it corrects rather than leaving it to memory.
What's the difference between a Compliance CSID and a Production CSID?
A Compliance CSID is issued during onboarding to prove your invoice format meets ZATCA's technical requirements — it's what you use to pass the six required test documents. A Production CSID is the certificate your system signs real, cleared invoices with once ZATCA approves that testing. Navira requests and renews both as part of setup, not as a separate project you run yourself.
What happens if my business doesn't comply with ZATCA's e-invoicing requirements?
ZATCA can issue fines for e-invoicing non-compliance, and penalties escalate for repeat violations. If you've had a notice or suspect you're already out of scope, the priority is moving onto compliant software and closing the gap — not waiting to see if an audit finds it first.
Does a small shop in Saudi Arabia actually need e-invoicing software, or just larger businesses?
It depends on your VAT-taxable revenue and which wave that puts you in — the threshold has been lowered over time, most recently down to SAR 375,000, so smaller retailers are increasingly in scope. If you're issuing tax invoices at all, it's worth checking your current wave status rather than assuming the mandate is still years away.
The mandate is not waiting.
ZATCA is rolling Phase 2 out in waves by revenue. Onboarding takes about half an hour; being caught unprepared takes considerably longer.