Steps

  1. Phase 2 needs the ZATCA e-invoicing (Phase 2) add-on: add it in Settings → Subscription & billing first (stores already connected keep it). Without it the Phase 2 option is locked and invoices carry the free Phase 1 QR code.
  2. Check that General and National address in Store settings match your ZATCA registration (name, VAT number, CR number, address), then save.
  3. In Store settings → ZATCA credentials set Phase to "Phase 2 — Integration (clearance)" and click Save settings.
  4. Log in to fatoora.zatca.gov.sa → Onboard new solution unit/device → Generate OTP.
  5. Click Connect to ZATCA, type the 6-digit One-time password (OTP) and click Connect.
  6. Wait while the app generates the key pair, creates the CSR, requests the compliance CSID, runs 6 compliance checks and requests the production PCSID.
  7. When you see "Connected to ZATCA", the dialog shows the PCSID, certificate expiry and the 6 compliance checks until you click Done; the Connection card then reads "Connected · Non-production (sandbox)" or "Connected · Production". New invoices are now signed and sent.

Tips

  • An OTP is valid for 1 hour and works once. "Invalid-OTP" means it is wrong or expired — generate a new one in the Fatoora portal and try again.
  • Connect to ZATCA is disabled while the phase is 1; Phase 1 needs no credentials and only prints the QR code.
  • Connect to ZATCA stays disabled until Phase 2 and the environment are saved: onboarding uses the saved phase and environment, so click Save settings first.
  • Onboarding can take up to a minute on ZATCA's side; keep the dialog open until the result shows.
  • If you change the seller name, VAT number, CR number or address, a "Reconnect required" banner appears — reconnect with a new OTP or invoices may be rejected (BR-KSA).
  • Changing the business category does not need a reconnect: it never marks the store.
  • The certificate is valid for 1 year. A warning appears 30 days before expiry — renew by clicking Reconnect with a new OTP.
  • Disconnect revokes the PCSID and private key: invoices are no longer cleared or reported until you reconnect with a new OTP.
  • Each store (branch) has its own ZATCA connection — repeat the steps in every branch.

In the app, press F1 or ? on this screen to open this guide next to your work.

This guide belongs to the ZATCA e-invoicing (Phase 2) module. Learn more

Related guides

More guides in Settings & administration

All guides

Still need help?

Our team answers in Arabic and English by email and phone.