# Saudi Arabia: VAT and ZATCA e-invoicing

> Set up a Saudi business — 15% VAT, bilingual documents, the ZATCA onboarding wizard, standard and simplified e-invoices, credit notes, the dashboard.

Canonical: https://docs.getonebooks.com/tax/saudi-arabia/
Language: en
Documentation index: https://docs.getonebooks.com/llms.txt

Applies to businesses whose country is **Saudi Arabia**. OneBooks issues ZATCA (Fatoora) Phase 2 e-invoices: every tax invoice and credit note is signed, given a QR code and submitted to ZATCA for clearance or reporting, automatically, when you send it.

## What is set up for you

- Currency **SAR** with 2 decimals, tax name **VAT**, default rate **15%**, tax-exclusive pricing.
- A **ZATCA** entry in the sidebar with the submissions dashboard.
- Extra fields on customers (Arabic name, VAT registration number, national address) and on your business (**Settings → KSA ZATCA**).
- Arabic/English bilingual invoice PDFs.

## 1. Complete the KSA settings

1. Open **Settings → KSA ZATCA**.
2. **Business info** — enter your 15-digit **VAT registration number** (it starts and ends with 3), tick **Part of a VAT group** if applicable, and add another seller ID (**CRN**, **MOM**, **MLS**, **700**, **SAG** or **OTH**) if you have no VAT number.
3. Enter the **national address**: street, **building number** (4 digits), district, city, **postal zone** (5 digits) and region, or the short address code.
4. **Bilingual names** — the Arabic business and legal names printed on invoices.
5. **ZATCA** — choose the environment (**Sandbox**, **Simulation** or **Production**). Keep **Mock ZATCA submissions** on while testing and switch it off before going live.
6. Select **Save changes**.

![The KSA ZATCA Settings page with business info, bilingual names and ZATCA tabs](https://docs.getonebooks.com/screenshots/en/tax-sa-settings.webp)

## 2. Run the onboarding wizard

ZATCA requires each business to register a device (an "EGS unit") and pass a compliance test before issuing live e-invoices. The wizard on the **ZATCA** tab walks through the five steps; each environment (sandbox, simulation, production) is onboarded separately.

1. **Wave attestation** — enter the wave reference from ZATCA's notification and optionally upload the PDF. Support reviews it.
2. **Subscriber agreement** — read to the end and accept.
3. **Accuracy disclaimer** — confirm your seller data is correct.
4. **Device registration** — OneBooks generates the device's key pair and a Certificate Signing Request (CSR) for you.
5. **OTP and compliance test** — generate a one-time password on the Fatoora portal for this business, enter it, and OneBooks obtains the compliance certificate, submits the six sample invoices ZATCA requires, and on a full pass requests the production certificate.

![Step 1 of the ZATCA wizard — wave attestation](https://docs.getonebooks.com/screenshots/en/tax-sa-wizard-step1.webp)

![Step 2 — the subscriber agreement](https://docs.getonebooks.com/screenshots/en/tax-sa-wizard-step2.webp)

![Step 3 — the accuracy disclaimer](https://docs.getonebooks.com/screenshots/en/tax-sa-wizard-step3.webp)

![Step 4 — device registration with the generated CSR](https://docs.getonebooks.com/screenshots/en/tax-sa-wizard-step4.webp)

Certificates expire; renew them from **Settings → KSA ZATCA → Devices** with **Renew CSID** before the expiry date shown.

## 3. Issue e-invoices

Nothing changes in your daily work — create and send invoices as usual. When you **send**, OneBooks builds the UBL XML, signs it, assigns the invoice counter and hash chain, generates the QR code and queues the submission:

- **Standard tax invoice** (customer has a VAT registration number) → submitted for **clearance**; the PDF carries ZATCA's own QR once cleared.
- **Simplified tax invoice** (walk-in or unregistered customer) → **reported** to ZATCA within 24 hours.

![A Saudi standard tax invoice with the KSA ZATCA card showing subtype, ICV, UUID and clearance status](https://docs.getonebooks.com/screenshots/en/tax-sa-invoice.webp)

The **KSA ZATCA** card on the invoice shows the subtype, invoice counter (ICV), UUID and status: **Pending**, **Submitting**, **Cleared**, **Reported**, **With warnings**, **Rejected** or **Failed**. Submission runs in the background and retries transient errors automatically. **Download ZATCA XML** gives the signed document for the customer.

![The full invoice page including the ZATCA submission panel and QR code](https://docs.getonebooks.com/screenshots/en/tax-sa-invoice-zatca-panel.webp)

## 4. Credit notes

A credit note must reference the original invoice and is submitted the same way when you **confirm** it. Invoices that ZATCA has cleared or reported **cannot be voided** — issue a credit note instead. See [Sales returns and credit notes](https://docs.getonebooks.com/sales/sales-returns/).

![A Saudi credit note referencing its original invoice with its ZATCA status](https://docs.getonebooks.com/screenshots/en/tax-sa-credit-note.webp)

## 5. Monitor submissions

**ZATCA** in the sidebar opens the submissions dashboard: every invoice and credit note by state, with **Retry** for failed submissions and the error details ZATCA returned. Rejections name the rule (for example a BR-KSA code) so you can fix the data and resubmit.

![The ZATCA submissions dashboard with in-flight, cleared, reported and rejected documents](https://docs.getonebooks.com/screenshots/en/tax-sa-dashboard.webp)

## Going live checklist

- Production environment onboarded (production certificate issued).
- **Mock ZATCA submissions** switched **off**.
- VAT number, address and Arabic names verified on a test invoice PDF.
- Customers who need standard invoices have their VAT number and address filled in.

## Related

  - [Invoices](https://docs.getonebooks.com/sales/invoices/)
  - [Tax report and tax summary](https://docs.getonebooks.com/reports/tax-reports/)
  - [Print templates](https://docs.getonebooks.com/data/print-templates/) — Bilingual layouts and numeral style.
