3. Connect a device to ZATCA¶
At the end of this step your organisation has a ZATCA connection that reads Active. Every invoice is issued by a connection, and ZATCA accepts invoices only from one holding a production certificate. Clix does the certificate work; you provide one code from the ZATCA portal. The whole step takes about ten minutes.
Before you start
- Access to the ZATCA Fatoora portal for your business.
- A Fatoora code (OTP) from that portal. On the portal, choose "Onboard New Solution Unit" and generate a code. The portal shows one six-digit code per device, valid for one hour. See Get a code from Fatoora.
Connect to ZATCA¶
What it is. Connecting to ZATCA registers Clix as your invoicing software with ZATCA. The result is a ZATCA connection: one registered unit that issues your invoices. ZATCA calls it an E-Invoice Solution Unit (EGS unit); some Clix screens call it a device. A connection is a point of issue: a shop till, an ERP, or simply "the office". A small business usually needs one.
You prove to ZATCA that the connection is yours with a one-time code from the Fatoora portal, ZATCA's e-invoicing website. ZATCA then issues the connection a certificate. See Certificates.
Why ZATCA requires it. You must register every unit that issues your e-invoices (E-Invoicing Detailed Guidelines §7.4, p. 39; Implementation Resolution, Clause Seventh (7), p. 7). In the integration phase, invoices must come from a unit that has been onboarded (Detailed Guidelines §4.1.2(a), p. 15). ZATCA sets out the steps: sign in to the Fatoora portal, request a one-time code for each solution, enter the code in the solution, and check that it was onboarded (Detailed Guidelines §9, p. 44).
What to do in Clix. An Admin opens ZATCA Connections and clicks Connect to ZATCA. The dialog has two steps:
- Set up your connection: a name, who you will invoice, and where the connection is.
- Link with ZATCA: the six-digit code from Fatoora.
The full steps are in Add the connection, below.
Where next. What a ZATCA connection is · What each connection status means
Who will you invoice?¶
What it is. Each connection is set to the kind of buyer it invoices. The choice decides which kind of invoice the connection can issue:
| Choice | Issues | ZATCA path |
|---|---|---|
| Businesses | standard tax invoices to companies (B2B) | clearance: ZATCA approves each invoice before it is valid |
| Consumers | simplified invoices, like receipts (B2C) | reporting: the invoice is valid when you issue it, and Clix sends it to ZATCA straight after. ZATCA's own deadline for reporting is 24 hours |
| Both | either | each invoice takes its own path |
Why ZATCA requires it. ZATCA handles the two kinds of invoice differently. A standard tax invoice must be cleared by ZATCA before you share it with the buyer. A simplified tax invoice must be reported to ZATCA within 24 hours of being generated (Implementation Resolution, Clause Second (3)(A)–(B), p. 3; E-Invoicing Detailed Guidelines §4.1.2(b), p. 15 and §4.2.2(c), p. 18). Which kind a sale needs depends on the buyer and the amount: see Invoice types.
What to do in Clix. Under Who will you invoice?, choose Businesses, Consumers or Both. If you sell to both, choose Both. If your organisation sells to only one kind of buyer, the choice is fixed to it. A connection set to Consumers cannot issue a standard invoice.
Where next. ZATCA e-invoicing in Clix: what clearance and reporting mean
Get a code from Fatoora¶
What it is. The Fatoora portal (fatoora.zatca.gov.sa) is ZATCA's website for e-invoicing. You sign in with your ZATCA account. The Fatoora code is a one-time password (OTP): six digits that tell ZATCA you, the taxpayer, approve this connection. Each code registers one connection, and it expires one hour after you generate it.
Why ZATCA requires it. ZATCA's onboarding steps are: the taxpayer signs in to the Fatoora portal, "requests OTP code(s) for solution(s) to integrate", and "populates OTP code(s) in E-Invoice Solution(s)" (E-Invoicing Detailed Guidelines §9, p. 44; FAQ, p. 59).
What to do in Clix. Step 2 of the dialog, Link with ZATCA, lists these steps and has an Open Fatoora Portal button.
- Click Open Fatoora Portal.
- Sign in with your ZATCA credentials.
- Choose Onboard New Solution Unit.
- Generate a code.
- Back in Clix, type the six digits in Fatoora code.
- Click Connect.
The code lasts one hour
"The 6-digit code expires 1 hour after you generate it." Generate it just before you connect. If connecting fails, generate a fresh code rather than reusing the old one.
Where next. Fatoora code problems
Add the connection¶
- In the left navigation, open ZATCA Connections. Once a connection exists, the sidebar entry also shows its state, such as "All connections active — you're compliant with ZATCA".
- Click Connect to ZATCA. On a new organisation it sits under "Issue compliant e-invoices from anywhere"; once you have connections, it is at the top right. (How it works opens a three-step explainer; Skip closes it.)
- Enter a Connection name, for your reference, such as "Main store".
- Under Who will you invoice?, choose Businesses, Consumers or Both.
- Under Where is this connection?, leave Enter location selected.
- Type the city in Location, such as "Riyadh". A connection with no branch is a business-level connection and uses the address in Company Profile. If you have branches (Pro and Business plans), you can choose Select a branch instead; the location must match the branch city.
- Click Continue.
- Under Enter your Fatoora code, type the six digits from the portal in Fatoora code. See Get a code from Fatoora.
- Click Connect.

Result. The dialog closes and Clix says "Connecting to ZATCA — this usually takes a few minutes. You can keep working; the status will update in the list." The connection appears in the Connections table with the status Setup in Progress while Clix runs the certificate steps ZATCA requires. When they finish, the status reads Active: "Connected to ZATCA and ready to issue compliant invoices."
sequenceDiagram
participant You
participant Clix
participant ZATCA
You->>Clix: Connection name, who you invoice, Fatoora code
Clix->>ZATCA: Signing request + code
ZATCA-->>Clix: Compliance certificate
Clix->>ZATCA: Sample invoices (compliance check)
ZATCA-->>Clix: Production certificate
Clix-->>You: Status Active
If Clix says the connection failed
Reload the page and read the status in the Connections table; it shows the connection's real state. If it reads Active, you are done. If it reads Action Required, open the row's menu and click More Details to see what went wrong. The usual cause is a Fatoora code that expired or was already used: get a fresh one from the portal and connect again. More cases in Certificate and device problems.
Check the certificate¶
- Open the Compliance tab on the same page.
- Read the Certificate Overview. It counts your connections as Active, Expiring Soon, Expired or Unknown, and lists each with its Valid Until date.

What just happened¶
ZATCA now knows this connection belongs to your VAT number and will accept invoices signed by it. The certificate expires. From 30 days before, Clix warns you on the dashboard and the connection's menu in the Connections table shows Renew certificate.
Next: Add your first client and item
ZATCA sources¶
ZATCA publishes each text in Arabic and English; where they differ, the Arabic prevails.
- E-Invoicing Detailed Guidelines, version 2, May 2023: §4.1.2, p. 15 · §4.2.2, p. 18 · §7.4, p. 39 · §9, p. 44 · FAQ, p. 59 · Arabic
- E-Invoicing Implementation Resolution (controls, requirements and technical specifications), 2023: Clause Second, p. 3 · Clause Seventh, p. 7 · Arabic