Skip to content
Technical6 min read

ZATCA e-invoicing: what your system needs

Saudi e-invoicing requirements in plain language: the two phases, tax versus simplified invoices, the QR code, and integrating with ZATCA.

E-invoicing is not an extra field in your system; it is how invoices are issued and stored altogether. Any store, point of sale or subscription system selling in Saudi Arabia falls under it.

This is a plain-language explanation of what is technically required. It is not regulatory advice — for specific cases, refer to ZATCA or your certified accountant.

Any system that sells in Saudi Arabia has to issue a structured electronic invoice carrying a QR code and mandatory fields, and store it so it cannot be altered — and the second phase adds direct integration with ZATCA.

The two phases, briefly

Phase one (generation and storage) requires you to issue invoices electronically in a structured format and store them so they cannot be edited or deleted, and to stop issuing anything manually outside the system.

Phase two (integration) adds a direct technical link to ZATCA's platform, plus an electronic signature and a cryptographic certificate, with invoices sent for validation. It is rolled out in waves by business size, so check which wave you fall into.

Tax invoice versus simplified invoice

A tax invoice is issued for business-to-business sales and requires the buyer's full details including their VAT number. A simplified invoice is issued to an end consumer — a restaurant or shop point of sale, for example — and its requirements are lighter, but the QR code is mandatory on it.

What your system needs in practice

This is the technical checklist for any system that sells:

  • Generate the invoice in a structured, machine-readable format, not just a printed PDF.
  • A QR code on the invoice carrying the core fields: seller name, VAT number, date and time, total, and the VAT amount.
  • Sequential numbering that never breaks or repeats, and a ledger that does not allow deleting or editing an invoice after it is issued.
  • Credit notes for returns, instead of editing the original invoice.
  • Backups and retention for the legally required period.
  • In phase two: a cryptographic certificate, an electronic signature, and a direct link to ZATCA's platform.

Recurring mistakes

The most common: a system that prints a beautiful PDF that is not structured, a QR code carrying incomplete data, and the ability to edit an issued invoice from the dashboard. All three look like small details while you are building, and become a large problem at review time.

A fourth mistake: building invoicing at the end of the project. Make it part of the database design from the start, because numbering and immutability touch the structure of the data itself.

How to build it yourself

When you describe your system to Uttra, state invoicing explicitly: "issue an electronic invoice that meets ZATCA requirements with a QR code and sequential numbering, prevent editing issued invoices, and use a credit note for returns." That one sentence changes the structure of the system from the start instead of patching it later.

Common questions

The requirement is tied to VAT registration more than to store size. If you are registered, you are in scope. Check with ZATCA to confirm your wave and your integration date.

Generally no. What is required is a structured, machine-readable format, optionally accompanied by a human-readable rendering. Relying on a PDF alone is one of the most common causes of non-compliance.

Yes, but it is harder than building it in from the start, especially if the system allows editing invoices or its numbering is not sequential. In most cases it means changing the data structure, not just adding a screen.

Try it on your own project

Describe what you want in your own words and watch your site or system get built — then change it by chatting.

Start free