How to Register on Fatoora and Connect Your E-Invoicing Solution
What is the Fatoora portal?
Fatoora is ZATCA’s official portal for e-invoicing. You use it to see your Phase 2 wave and deadline, register EGS units (devices/systems that issue invoices), and complete the integration steps that link your solution to ZATCA.
Step 1: Access Fatoora
- Go to fatoora.zatca.gov.sa
- Log in with the same credentials you use for ZATCA/VAT (e.g. Absher business account or ZATCA portal login)
- If you don’t have access, your business may need to be registered for VAT and linked in the ZATCA system first
Step 2: Confirm your business and deadline
- In the portal, check your business details (name, VAT number, address)
- Find your Phase 2 wave and integration deadline. ZATCA assigns waves by revenue; your deadline is fixed once announced
Step 3: Add an EGS unit (onboard a solution)
Each device or system that will issue e-invoices must be registered as an EGS (E-Invoicing Gateway Solution) unit:
- In Fatoora, look for the option to onboard or register a new solution/device (wording may be “Onboard new solution unit” or similar)
- Choose whether you’re using a pre-approved solution (from ZATCA’s list) or self-integration (your own build or a solution not on the list)
- You’ll be asked to generate an OTP (one-time password). Generate it in the portal—it’s valid for a short time (e.g. 5 minutes)
- Enter that OTP in your e-invoicing solution or API. The solution then completes the technical handshake with ZATCA (e.g. submitting a CSR, passing compliance checks, receiving a production CSID)
Important: Complete the OTP step within the validity window. If it expires, generate a new OTP and try again.
Step 4: Complete compliance (if required)
For self-integration or some solutions, ZATCA may require you to issue a small number of test invoices (e.g. 3) that pass validation. Once accepted, ZATCA issues your production CSID (certificate/stamp) for that EGS unit. Your solution or API will guide you through this.
Step 5: Go live
- Use the production endpoint and production CSID for real invoices
- For B2B: send each standard invoice to ZATCA for clearance before sharing with the buyer
- For B2C: issue the simplified invoice and ensure it’s reported to ZATCA within 24 hours
If you use an API like Esnad, you create an EGS unit in the API dashboard, paste the OTP from Fatoora when prompted, and the API handles CSR, compliance, and CSID. You then call the API to issue invoices; it handles clearance and reporting.
Skip the boilerplate. Use Esnad API.
The fastest way to integrate ZATCA compliance into any system.
Read next
Keep going — these posts connect to what you just read.