I would like to understand the correct procedure when a connection issue occurs after sending an invoice to ZATCA, such as:
-
TaskCanceledException -
SocketException -
Gateway Timeout -
or any similar network failure
My main questions are:
-
Is the invoice considered received by ZATCA even if the system didn’t return a response due to the connection interruption?
-
What is the correct handling procedure from a technical standpoint?
-
Should the application retry the submission automatically?
-
Or should we query ZATCA to verify the invoice status using UUID / Invoice Hash?
-
-
In which cases should we contact ZATCA support to confirm whether the invoice was received and processed?
I want to ensure we follow the correct approach to avoid duplicate invoices or missing reporting.