E-invoicing: ZATCA & EgyptSaudi Arabia

Setting up ZATCA e-invoicing (Phase 2)

Connect once; after that every invoice goes to ZATCA automatically.

Setting up ZATCA e-invoicing

Silent — on-screen captions in Arabic

You do this once when integration starts according to your wave date, and again when the certificate is renewed or ZATCA asks for re-registration. After that every invoice is sent automatically.

Before you start

  • Make sure the “ZATCA Phase 2” add-on is enabled in your licence (its card in the add-ons center does not show “Not subscribed”).
  • Have the establishment’s login for the Fatoora portal fatoora.zatca.gov.sa ready.

Onboarding steps

  1. Open the “Add-ons center”, then the “ZATCA Phase 2” card.

    The add-ons center
  2. In “Settings” check the company name, VAT number (15 digits) and CR — they are read automatically and summarised above the address section.

    ZATCA Phase 2 settings: environment and national address
  3. Under “National address of the establishment” enter the street, building number (4 digits), additional number, district, city, postal code (5 digits), branch/unit name and business activity, then “Save address”.

  4. Under “Connection environment” choose “Simulation” to test first, tick “Send invoices to ZATCA automatically” and save.

  5. Sign in to Fatoora with the establishment account, onboard a new solution unit and request an OTP (valid one hour, single use).

  6. Under “Register the e-invoicing device” enter the OTP and press “Register”: MEGA creates the key and certificate request, runs the six compliance checks and receives the certificate automatically.

  7. “Registered” appears with the date, certificate validity and documents sent, plus “Compliance check results” with a ✓ for each document.

  8. After a successful test switch the environment to “Production” and save, then request a new OTP from Fatoora and press “Register” again.

  9. Press “Test connection” to confirm: it shows “Production certificate valid until…” and the current counter.

Important Do not press “Re-register” without a reason (expired certificate or a ZATCA request): it starts a new document chain. Make sure “Production” is selected before issuing real invoices — switching environments does not delete the other registration.
Note “VAT number in settings is invalid” or “Complete the national address first” blocks registration: fix it and retry with the same OTP if its hour has not passed.
Tip ZATCA charges no fee for integration. Onboarding is recorded in the security log.

Screenshots come from a demo copy with sample data.

Frequently asked questions

Simulation or production?

Simulation tests the connection without real invoices; production is for real invoices. Registration is stored separately per environment.

The OTP expired before registering?

Request a new one from Fatoora; an OTP is valid for one hour and single use.

Was this article helpful?

We only store vote counts — no personal data.

Didn’t find your answer?

The MEGA team answers in the site chat or on WhatsApp — and you can try the full system free for 5 days.

Detailed PDF guides

5-day free trial