Previously, when we encountered connection timeouts during invoice submission, we used retry mechanism, and we were able to receive a successful response upon retries
However, after the recent ZATCA update, if a timeout occurs during the initial submission, and we retry the same invoice, we now receive:
208 - Invoice Hash Previously Submitted (for B2B)
409 - Invoice was already reported successfully earlier (for B2C)
This indicates that the invoice was already accepted by ZATCA during the initial attempt, but due to the timeout, we did not receive the success response (Signed XML,Status).
As a result, we are unable to track or confirm that the invoice was successfully reported.
Can you please advise how we can capture or retrieve the success response in such cases, where the initial submission was successful, but the response was not received due to a Connection reset
Even with the retry mechanism, how many retries are needed to determine that the invoice has not been reported and that the invoice hash is not within the chain or icv.
When can you use the invoice hash as a pih for the subsequent invoice, when can you increase the icv.
The latest update is confusing for all of us.
Also, even if we assume for argument’s sake that the invoice has been reported, the buyer will not be bound by it, which means we need to drastically change our internal systems. This is costly in terms of development and in terms of end user and taxpayer acceptance of these scenarios. You can’t convince them that there is an invoice that is still unseen and that you need to reverse it with a credit note in case the buyer is no longer interested in this invoice.
@mnuaimi@sameer for the B2B invoices, you will receive cleared invoice back along with 208 response, therefore, this should not be a concern for standard invoices.
Regarding Simplified Invoices (B2C), as you are aware, there is no prior approval (Clearance) by ZATCA. You need not wait for completing the transaction with B2C customers. You can report the XML to ZATCA within 24 hours, if you get a 409 response, please be assured that ZATCA has received your XML successfully.
Do you mean that we can save the standard tax invoices in our systems even before they are cleared? However, they will be without a QR code, which means we cannot print them for the buyer. This issue must be decisive, because the standard tax invoice is linked to the buyer. If I keep a standard tax invoice before clearance and it is later rejected by ZATCA during clearance, the buyer may reject it. Also, the buyer may reject it simply because it does not contain a QR code.
`
We rely on a resubmission mechanism, but at what point do we stop trying?
`
We, of course, locally validate the invoice before sending it for clearance. However, there are validation rules that are not present in the
ZATCA_E-invoice_Validation_Rules
, for example: BR-KSA-F-08, which is responsible for checking the validity of the buyer’s CRN. I am currently aware that it is a warning that does not lead to invoice rejection, but in the future, it might become mandatory.
Then, if we save invoices before clearing them, the user is obligated to submit them for clearance, and if they are rejected, they must correct them and resubmit them for clearance again. This is because we cannot ignore or delete them from the system as they have already reserved an IRN in the sequence.
If the buyer rejects it even after it has been corrected and submitted, the user is obligated to issue a credit note to reverse it.
This process is burdensome, confusing, and increases the complexity of the documentation cycle.
@mnuaimi no I meant even if you submit B2B standard invoices for clearance second time, you will get the cleared invoice back in response along with 208 response code. You should share only Cleared Invoice with B2B customer
@Ankit.K.Tiwari We’ve encountered the same scenario and received a 409 response. As per your message, we understand that ZATCA has successfully received the submitted XML. Could you please guide us on how to verify whether the invoice was accepted without any warning messages, or if it was approved with warnings? how can we retrieve those details from ZATCA? Any defined process to get those details from ZATCA?
@paganapathy do you often receive different warnings for different Simplified Invoices? Simplified Invoices generally receive same or similar warnings. You must already be aware of all the warnings and errors that you receive on Simplified Invoices.
But the case here is , almost 170+ simplified invoices were affected from our side,
All the simplified invoices submitted to ZATCA & received either 500 (Service Unavailable) / 504 (Gateway timeout) as a response at first time.
Up on we retry to submit once to ZATCA, received response as 409 (Conflict / Duplicate invoice submission)!
In between, we haven’t received any 200 - Success / 202 - Success with warning / 400 - Failure response from ZATCA!
Could you please guide us on how to verify whether the invoice was accepted without any warning messages (200), or if it was approved with warnings (202)? how can we retrieve those details from ZATCA? Any defined process to get those details from ZATCA?
Kindly guide us on this case! many thanks in advance !
@paganapathy 409 implies that Simplified Invoices were successfully reported. Simplified Invoices get similar warnings, you can consolidate all warnings received for the day and fix those.
As we haven’t received any of the below success or failure status codes from ZATCA for the 170+ invoices:
Status code: 200 – Success
Status code: 202 – Success with warning
Status code: 400 – Rejected (Failure)
How do we ensure that the submitted invoices fully comply with ZATCA’s reporting requirements? Especially considering as per your suggestion that 409 indicates successful reporting for Simplified Invoices and warnings can be consolidated and addressed?
But here we haven’t received any of the above status codes or details of the warning message from ZATCA.
Kindly guide us how do we handle? Thanks in advance!