Why is ZATCA rejecting my invoices?
Table of Contents
ZATCA can reject an invoice when it fails one or more of the required technical, structural, business or validation checks. Common causes include incorrect XML structure, missing mandatory fields, invalid code values, incorrect VAT calculations, incorrect invoice-type indicators, invalid cryptographic information, or inconsistencies between related invoice fields.
For Phase 2, FATOORA validates submitted XML against the XML Implementation Standard and performs additional referential checks. A response such as HTTP 400 indicates that the submission failed validation and was rejected, while other responses such as 401 indicate an authentication problem rather than an invoice-content rejection.
The correct approach is to review the detailed validation response, identify the specific rule that failed, correct the source data or XML generation logic, and resubmit according to the applicable ZATCA process.
Key points
- Missing mandatory fields can cause rejection.
- Incorrect XML structure can cause rejection.
- Invalid codes or tax calculations can trigger validation errors.
- Incorrect invoice-type indicators can cause business-rule failures.
- Cryptographic or security-field problems can prevent acceptance.
- HTTP 400 generally indicates a rejected submission after validation.
- The detailed ZATCA validation message should be used to identify the required correction.
Related questions
What is ZATCA e-invoicing?
ZATCA e-invoicing, also known as Fatoorah, is Saudi Arabia's electronic invoicing system introduced ...
What is the difference between ZATCA Phase 1 and Phase 2?
ZATCA e-invoicing is being implemented in two main phases. Phase 1, known as the Generation Phase, b...
What is Wave 25 of ZATCA e-invoicing and who does it cover?
Wave 25 is the latest announced wave of ZATCA's Phase 2 e-invoicing rollout. ZATCA announced the cri...