Skip to content

ZATCA e-invoicing in Clix

If your business is registered for VAT in Saudi Arabia, the law says every tax invoice you issue must be an e-invoice, made by a compliant system, and sent to ZATCA. Clix is that system. This page explains the rules first, then what happens when you issue an invoice.

Every ZATCA rule on this page links to the page of ZATCA's own document that states it. Unfamiliar words are in the Glossary.

What ZATCA e-invoicing is

E-invoicing means you no longer write, print or scan invoices. Your invoicing system creates each invoice in a fixed electronic format, and ZATCA receives a copy. Two things matter to you: which invoices must be approved by ZATCA before you send them, and which are sent to ZATCA after. The rest of this section explains who ZATCA is, what the two phases were, and what the rules ask of your business.

Who ZATCA is

ZATCA is the Zakat, Tax and Customs Authority, the government body that collects zakat, taxes and customs duties. It was formed in 2021 by merging the General Authority of Zakat and Tax with the General Customs Authority (Tax Invoicing guideline §1.2).

ZATCA runs VAT in the Kingdom: registration, returns, refunds, audits and penalties. It is also the authority that puts e-invoicing into effect (E-Invoicing Detailed Guidelines §1.4).

What an e-invoice is

An e-invoice is a tax invoice generated and stored in a structured electronic format by electronic means. A paper invoice that is scanned or copied into a computer is not an e-invoice. The same applies to credit and debit notes (E-Invoicing Regulation, Article 1).

The rules apply to every VAT-registered business resident in the Kingdom, and to anyone who issues tax invoices on its behalf. A business that is not resident in the Kingdom does not have to issue e-invoices (E-Invoicing Regulation, Article 3). Fully VAT-exempt supplies, reverse-charge supplies and imports are outside the e-invoicing rules (Implementation Resolution, Clause First (7)).

FATOORA is ZATCA's e-invoicing platform, at fatoora.zatca.gov.sa. It receives invoice data from invoicing systems. It is also where you register each system that issues your invoices (E-Invoicing Detailed Guidelines §2.8). Clix calls this the Fatoora portal.

Phase 1 and Phase 2

ZATCA introduced e-invoicing in two phases (E-Invoicing Detailed Guidelines §1.3; Implementation Resolution, Clause First (1)):

Phase 1: generation Phase 2: integration
In force from 4 December 2021, for everyone 1 January 2023 onwards, in waves
What you must do Generate and store invoices and notes electronically, from a compliant system, with the fields ZATCA requires Everything in Phase 1, and connect your invoicing system to FATOORA so each invoice reaches ZATCA
Format Any electronic format. No handwritten or scanned invoices (Detailed Guidelines §4.1.1) XML, or PDF/A-3 with the XML embedded (Detailed Guidelines §4.1.2)
Security features A QR code on simplified invoices (Implementation Resolution, Annex 1). No editing or deleting of issued invoices (Annex 1, Prohibited Functionalities) Also a cryptographic stamp, a unique ID (UUID), a counter and the previous invoice's hash on every document (Implementation Resolution, Clause Third (2)(C))
ZATCA's role No connection to ZATCA's systems Clears standard invoices before you share them and receives reports of simplified invoices within 24 hours

ZATCA brings businesses into Phase 2 in groups ("waves"), chosen by criteria it sets. It notifies each group at least six months before the group's date (E-Invoicing Detailed Guidelines §1.3; Implementation Resolution, Clause Sixth).

You do not need to track your wave to use Clix. Clix issues every invoice the Phase 2 way: you cannot issue an invoice until you have a ZATCA connection, and every invoice goes to ZATCA.

Why it exists

ZATCA lists the aims of e-invoicing (E-Invoicing Detailed Guidelines §1.2):

  • lower invoicing costs and fewer human errors;
  • better bookkeeping and more digital supply chains;
  • fewer hidden and concealed transactions;
  • fair competition and consumer protection, through one way of checking every invoice;
  • better tax compliance, because ZATCA can verify transactions.

In plain terms: every invoice has a format ZATCA can read and check, and a record nobody can quietly change.

What it means for your business

What Clix does for you

When you issue an invoice, Clix:

  1. Builds the invoice as UBL 2.1 XML, the format ZATCA specifies (XML Implementation Standard §4).
  2. Adds the identifiers ZATCA requires, signs the XML with your connection's certificate, and generates the QR code.
  3. Sends it to ZATCA for clearance or reporting, and stores ZATCA's response against the invoice.
  4. Produces a PDF of the invoice with the XML inside, which is the copy you give your client. See Download the PDF.

Before that, Clix registers each connection with ZATCA using your Fatoora code, and warns you before its certificate expires. See Connect a device to ZATCA.

You never handle XML, keys or hashes. What you are responsible for is the accuracy of the content — the VAT number, the address, the VAT category on each line — because Clix signs and submits exactly what you entered.

Clearance and reporting

Every invoice Clix sends to ZATCA takes one of two paths. A standard invoice, usually to a business (B2B), is cleared. A simplified invoice, usually to a consumer (B2C), is reported. The same applies to the credit and debit notes issued against each.

A standard (B2B) invoice goes to clearance and is valid only once ZATCA checks and stamps it; a simplified (B2C) invoice is valid when issued, and Clix reports it straight after A standard (B2B) invoice goes to clearance and is valid only once ZATCA checks and stamps it; a simplified (B2C) invoice is valid when issued, and Clix reports it straight after

Clearance. ZATCA checks that the invoice meets its rules. Only if it does, ZATCA adds its cryptographic stamp and a QR code and sends the invoice back. Clearance is what makes a standard invoice legal and valid, so you may share it with the buyer only after that. Clearance does not apply to simplified invoices (Implementation Resolution, Clause Second (3)(A); E-Invoicing Detailed Guidelines §2.15, §4.1.2 and §6.4).

Reporting. Your invoicing system stamps the simplified invoice itself, and you give it to the customer at once. The invoice must then be sent to ZATCA within 24 hours of being generated (Implementation Resolution, Clause Second (3)(B); E-Invoicing Detailed Guidelines §2.16, §4.2.2 and §6.4).

Clearance Reporting
Applies to Standard invoices (B2B) and their notes Simplified invoices (B2C) and their notes
Who stamps it ZATCA, when it clears the invoice Your invoicing system, Clix, when it issues the invoice
When it goes to ZATCA Before the invoice is valid After issue. ZATCA allows 24 hours; Clix sends it straight away
When the buyer gets it After ZATCA clears it At once
Status when accepted Cleared Reported
Status when refused Not cleared: you have no valid invoice Not reported: the invoice is not valid

A shop cannot wait for approval at the till, so consumer invoices are issued at once and reported afterwards. A business invoice is not valid until ZATCA has cleared it.

Which path an invoice takes. Clix decides from the buyer and the amount; Invoice types sets out ZATCA's rule and how Clix applies it. Your ZATCA connection must be allowed to issue that type: Businesses for standard invoices, Consumers for simplified, or Both. See Who will you invoice?.

ZATCA's three answers. ZATCA answers each invoice in one of three ways (E-Invoicing Detailed Guidelines §10):

ZATCA's answer What it means What Clix shows
Accepted No errors and no warnings Cleared or Reported
Accepted with warnings No fatal errors, but at least one warning. The invoice is still accepted Cleared or Reported, with · warnings in amber
Rejected At least one fatal error. The invoice is not valid Not cleared or Not reported

If ZATCA refuses an invoice. You cannot resubmit or cancel it. You fix the cause and issue a new invoice, with its own number, counter and hash (E-Invoicing Detailed Guidelines, FAQ, p. 63). In Clix you do this with Duplicate Invoice. See ZATCA rejections.

If ZATCA cannot be reached. ZATCA expects the system to keep trying until it answers (E-Invoicing Detailed Guidelines §10). Clix sends the invoice again every hour, on the hour, until ZATCA answers. An invoice ZATCA answered with HTTP 404 is sent again the same way. Until ZATCA answers, the invoice shows as pending. Do not issue a second invoice for the same sale.

How Clix checks an invoice

Clix checks an invoice three times. The first two happen before anything reaches ZATCA, so most mistakes surface while you can still fix them.

Clix checks an invoice in three layers: the form as you type, ZATCA's rules when you click Review invoice, then clearance or reporting at ZATCA; a rejection means duplicating, fixing and issuing the copy, while warnings leave the invoice valid Clix checks an invoice in three layers: the form as you type, ZATCA's rules when you click Review invoice, then clearance or reporting at ZATCA; a rejection means duplicating, fixing and issuing the copy, while warnings leave the invoice valid

Check When What it catches What you see
1. The form As you type Missing fields, supply end date before the supply date, exchange rate, prices and quantities, Arabic-only names, the VAT number's format A message under the field, e.g. "Supply Date must be less than or equal to Supply End Date"
2. Review invoice When you click Review invoice — before issue ZATCA's business rules, which Clix runs itself: dates, document type, the credit or debit reason and reference, currency, VAT categories and exemption reasons, allowances, totals, export rules. Also whether your ZATCA connection may issue this type and its certificate is valid A red message naming the first rule that failed. Fix it and review again. If every rule passes, the Preview invoice dialog opens with Issue invoice to ZATCA
3. ZATCA After you issue Anything ZATCA's own checks find The invoice's status: Cleared or Reported, Rejected, or accepted with warnings

A Zero Rated line: the form asks for a VAT Exemption Reason and keeps Save disabled

Check 1 at work: choose Zero Rated and the form asks for a VAT Exemption Reason before it lets you save the line.

Totals are worked out by Clix, not by your browser. Each line, discount and total you see on the form comes from the same code that builds the invoice, so the Preview invoice dialog matches what ZATCA receives.

The credit-note limits run at issue, not at review. A credit note that takes more than is left on the original passes the review and is refused when you issue it.

One error at a time

The review stops at the first rule an invoice breaks. An invoice with two problems shows the second only after you fix the first.

What check 3 still catches. Clix does not run ZATCA's own validator on the signed XML before sending it. Rules ZATCA checks that Clix's copy does not are found only at step 3. The result arrives on the invoice, not as a message on screen:

  • Rejected. The invoice moves to Invoices → Rejected Invoices with ZATCA's reasons listed. It is not valid; see ZATCA rejections.

    A rejected invoice expanded: Not cleared, with ZATCA's rule BR-KSA-84 and its message

    Here ZATCA refused a line at a 12% VAT rate (rule BR-KSA-84: standard rate must be 5% or 15%). Clix's review did not catch it — an example of what only check 3 finds.

  • Accepted with warnings. "Accepted with 1 warning to review" — "ZATCA accepted and filed this invoice. Fixing the items below helps avoid rejections on future invoices."

    An invoice Reported with warnings: the amber banner and the warning ZATCA returned

Check the client once, not on every invoice

The buyer's address and VAT number are checked when you save the client, not when you issue. Validate VAT Number on the client form opens ZATCA's public taxpayer lookup; Clix does not look the number up itself. Get the client right once and every invoice to them starts clean.

Why it is asynchronous

Submission is a call to a government service. Clix accepts your invoice, queues it, and reports the outcome when ZATCA answers. That is why an invoice briefly shows as pending before it becomes Cleared or Reported.

Through the API this is explicit: POST /api/invoices/ returns 202 Accepted and a location to poll.

Warnings are not rejections

ZATCA can accept an invoice and attach warnings. Clix shows this as a distinct state — the status plus · warnings in amber, rather than red.

A warning means the invoice is valid and accepted, but something in it is not ideal. Read them. ZATCA says warnings are accepted for now and may become rejections in future, and that it investigates taxpayers who keep receiving them (E-Invoicing Detailed Guidelines §10).

Warnings are easy to miss on a phone

The mobile invoice card shows accepted and accepted-with-warnings identically. Check warnings on a full screen.

Once it is cleared, it is permanent

A cleared or reported invoice cannot be edited or deleted — not by you, not by support. Corrections are made by issuing a credit or debit note against it.

This is ZATCA's rule, not a Clix limit. A compliant system must protect issued invoices from alteration or deletion (Implementation Resolution, Clause Third (2)(C)(2)). The archive is trustworthy precisely because nobody can rewrite it.

The device is what ZATCA registered

ZATCA registers a device, not a company, and the device's certificate signs the invoice. ZATCA calls it a unit: the part of an invoicing system that chains the invoices together with hashes and stamps simplified invoices (Implementation Resolution, Clause Third (2)(E)(2)). No device, no invoices — and an expired certificate stops invoicing until it is renewed. See Devices, certificates and branches.

ZATCA sources

All are ZATCA's official publications. Where the English and Arabic texts differ, ZATCA says the Arabic prevails.

  • E-Invoicing Regulation, 4 December 2020 — English · Arabic. Cited: Article 1 (p. 2), Article 3 (p. 3), Article 4 (p. 4).
  • Implementation Resolution (Controls, Requirements, Technical Specifications and Procedural Rules), Governor's Decision No. 62738, 2023 — English · Arabic. Cited: Clause First (p. 1–2), Clause Second (p. 2–3), Clause Third (p. 3–5), Clause Sixth (p. 6), Annex 1 (p. 11–14).
  • E-Invoicing Detailed Guidelines, version 2, May 2023 — English · Arabic. Cited: §1.2–1.4 (p. 5–7), §2.8 (p. 10), §2.15–2.16 (p. 12), §4.1–4.2 (p. 14–18), §6.4 (p. 31–32), §7.1 (p. 37), §9 (p. 44), §10 (p. 45, 53–55), FAQ (p. 59–63).
  • Electronic Invoice XML Implementation Standard, version 1.2, May 2023 — PDF. Cited: §4 (p. 5).
  • Guideline for Tax Invoicing and Records under VAT Provisions, version 3, May 2026 — English · Arabic. Cited: §1.2 (p. 7), §8.3.3 (p. 42).
  • VAT Implementing Regulations — English, 2021 edition · Arabic, current. Cited: Article 66 (English p. 66).

ZATCA's e-invoicing documents are listed at zatca.gov.sa → E-Invoicing.