# Send an invoice to ZATCA

Prepare the client, confirm the invoice, read ZATCA's answer on it, fix a rejected or blocked invoice, and correct an accepted one with a credit note that carries its ZATCA reason.

On an onboarded journal, a confirmed invoice goes to ZATCA by itself: give the client the right data, then read the answer. Creating the invoice is explained in [Customer invoices](/docs/customer-invoices).

## Before you start {#before-you-start}

- The sales journal is onboarded (see [Connect a sales journal to ZATCA](connect-a-sales-journal-to-zatca)).
- You need the **Invoicing** access right on **Accounting**.

## Prepare the client {#client}

Open **Contacts/Contacts** and the client.

- **Company** or **Person** at the top decides the kind of invoice: a company receives a standard invoice that ZATCA clears, a person a simplified one that ZATCA receives as a report.
- With **Saudi Arabia** as country, the address has **Building Number** and **Plot Identification**, and the form shows **Identification Scheme** (**Other ID** by default) and **Identification Number**.
- With the scheme **Tax Identification Number**, the number field disappears and the client's VAT number is required instead.
- A line taxed at 0% for private education or healthcare to citizens (exemption codes **VATEX-SA-EDU** and **VATEX-SA-HEA**) needs the scheme **National ID** and its number.

## Confirm the invoice {#confirm}

1. Create the invoice in **Accounting/Customers/Invoices** on the onboarded journal. Give every product line a tax, and an invoice date that is not after today in Riyadh.
2. Open the **Actions** menu and choose **Confirm**. When ZATCA's conditions are not met, confirmation is refused with **Invalid invoice configuration:** and what to fix.
3. The header shows **Electronic invoicing**: **To Send**, and a blue banner reads **The invoice will soon be sent to ZATCA (Saudi Arabia)**. The background job sends it shortly; click **Process now** to send it while you wait.

The **Send** dialog has a **To ZATCA** box, ticked while the invoice is still **To Send**: the invoice then goes to ZATCA before its PDF is made.

## Read the answer {#answer}

| Answer | What you see | What to do |
|---|---|---|
| Accepted | **Sent**; the note **Success: Invoice accepted by ZATCA** in the chatter; the XML attached and embedded in the PDF | Nothing |
| Accepted with warnings | **Sent**; a yellow note listing ZATCA's warnings | Read the warnings |
| Rejected | A red banner with ZATCA's codes and **Retry**; a red note with the rejected XML, which cannot be deleted | Correct the client or company data and click **Retry**; for the invoice itself, **Reset to Draft**, correct and confirm again |
| No answer | A yellow banner and the note **Warning: Unable to Retrieve a Response from ZATCA** | Nothing: the job tries again, or click **Process now** |
| Blocked | A red banner naming an earlier invoice, and **Blocking Invoice** | Open the earlier invoice with **Blocking Invoice** and get it through first |

A blocked invoice waits behind an earlier invoice of the same journal that got no answer. Once that one is accepted, the waiting invoices go at the next run of the job, or at once with **Process now**.

## Correct with a credit note {#credit-note}

An invoice sent to ZATCA is never cancelled there: it is corrected.

1. On the invoice, open **Actions** and choose **Credit Note**.
2. Pick one of the five **ZATCA Reason** choices, which replace the usual reason, for example **In case of goods or services refund**.
3. Click **Reverse**, then confirm the credit note: it goes to ZATCA like an invoice.

**Debit Note**, next to **Credit Note**, adds to an invoice the same way, with **Create Debit Note**. A credit note typed by hand in **Accounting/Customers/Credit Notes** needs its **ZATCA Reason** in **Other Info** and the original invoice number in **Customer Reference**.

## FAQ {#faq}

### Why is my invoice simplified? {#why-simplified}

The client is a **Person**. A client that is a company must be set to **Company** before the invoice is confirmed.

### Can I reset an accepted invoice to draft? {#reset}

In **Production**, no: **Reset to Draft** disappears once ZATCA accepted it; issue a credit note. Nor can an invoice that got no answer be reset until the answer arrives.

### Where do I see all the invoices still waiting? {#waiting}

Add the **Electronic invoicing** column to the invoice list from its optional columns, or, in developer mode, filter on **Electronic invoicing processing needed**.

---

- Source: https://jaah.app/docs/e-invoicing-zatca/send-an-invoice-to-zatca
- Updated: 2026-10-23
- Version: E-invoicing (ZATCA) 19.0.0.3
