ZATCA rejections are specific, and most of them come from a handful of causes. This page lists the ones that actually happen, what each really means and what to do about it. The full raw response from ZATCA is always in the Audit Trail — start there when a message is not clear.
Onboarding
| Symptom | Cause and fix |
| Onboarding failed. Please check OTP and try again. | OTPs from the Fatoora portal are short-lived. Generate a new one and submit immediately. |
| Invalid CSR rather than invalid OTP | A different problem with a different fix. The screen distinguishes the two — read which one it says. |
| Onboarding will not go through at all | Company details must match the Fatoora portal exactly: VAT number, company name, CR number. |
| Rejected with no clear reason, Arabic company name | Certificate fields that cannot hold Arabic must carry a non-blank Latin name. Check the Latin name is present. |
| Stranded part way through | Clear Configuration and start again. It clears the request ids too, so the retry is genuinely clean. |
Production CSID
| Symptom | Cause and fix |
| CurrentCCSID is invalid after a compliance check that looked green | Your compliance samples validated but were not CLEARED or REPORTED. ZATCA issues the production CSID only on real acceptance. Re-run the compliance check and fix the samples that were not accepted. |
| Got a production CSID but nothing is live | Check the environment. On sandbox or simulation the production CSID is a test credential and does not take you live. |
Invoices
| Symptom | Cause and fix |
| A business customer's invoice went through as simplified | The customer has no VAT number on their record. Add it. The route follows the customer. |
| Rejected on a zero-rated or exempt line | A missing or wrong VATEX reason code. See Tax categories. |
| Rejected for the seller address | The national address is required on every e-invoice, and in the certificate. Complete it in step 1 of the wizard. |
| B2C invoices failing | Check Invoice Types Issued is Standard + Simplified, not standard only. |
| Pending is piling up | Generation is set to Manual. Switch it to Automatic, or submit from the sales list. |
| Submitted never becomes cleared | Use Check Status on the sales list to ask ZATCA where it got to. |
The compliance check
| Message | Means |
| Compliance check could not run | The request never reached ZATCA. Credentials, connectivity or configuration. |
| Error during compliance check | It reached ZATCA and something went wrong handling the answer. |
| Warnings but no errors | Accepted. Read them, but they are not blocking. |
A correct invoice that must be changed
A cleared invoice cannot be unpicked. Issue a credit note and a fresh invoice. That is not a limitation of the ERP — it is what clearance means, and it is the same answer a paper VAT invoice would have had.
When you contact ZATCA support, send the raw response from the Audit Trail rather than a description of it. Their systems produced that text, and it is what lets them find the submission at their end.