Offline & retries¶
The law requires every document to reach AADE (the Greek tax authority) in real time. When something goes down, what you do depends on which connection was lost.
A. You cannot reach the provider¶
How you can tell: timeout, network error or HTTP 5xx on SendInvoices.
- Wait a little (e.g. 30 seconds, then 1 minute, and so on). Do not retry immediately. If you can, first check with
RequestTransmittedDocs(series/number or UID) whether the document already exists. - Resend the same document (same series, number, date). If you get AADE error 228 ("already sent"), the first attempt had succeeded. The MARK and AuthCode are in the message.
- If the certified e-invoicing provider is still unreachable, issue the document locally and give it to the customer.
- As soon as the connection is back, and within 1 day of
issueDate, send it with"transmissionFailure": 1and the original date. - The provider adds the note "Απώλεια Διασύνδεσης Οντότητας - Παρόχου - Transmission Failure_1" (loss of connection between entity and provider) to the PDF.
B. The provider cannot reach AADE¶
How you can tell: HTTP 200 with statusCode = "Offline", invoiceMark = 0 and an empty authenticationCode.
- Do not resend it. The document has been issued with a UID. You get a PDF with the note "Απώλεια Διασύνδεσης Παρόχου - ΑΑΔΕ - Transmission Failure_2" (loss of connection between provider and AADE).
- As soon as AADE is back, the provider transmits the document automatically and creates a second PDF with the MARK and AuthCode.
- To get the final MARK and PDF:
RequestTransmittedDocswithuid=<invoiceUid>. - Check that it got a MARK, as below.
Check that it got a MARK¶
While AADE is not responding, the provider runs only its own checks. The document goes through AADE's checks when it is transmitted, so an Offline document with a data error may not be accepted. That is why you check every Offline document with RequestTransmittedDocs and uid=<invoiceUid>:
| What you see | What it means |
|---|---|
One record, with mark 0 |
Not transmitted yet. Check again later. |
Two records: one with mark 0 and one with AADE's MARK |
Transmitted. Keep the MARK, the Authentication Code and the new PDF of the second record. |
After 24 hours, still only the record with mark 0 |
Most likely AADE did not accept it because of a data error. Contact us with the invoiceUid. |
When do I resend?¶
| What you got | Resend? | How |
|---|---|---|
Success |
no | Done. |
Offline |
never | The provider takes care of it. Check that it got a MARK (how). |
HTTP 400 / ValidationError / XMLSyntaxError |
yes, after you fix it | The document was not issued, so you can keep the same series/number. |
TechnicalError |
yes | Same data, after a short wait. |
| Timeout / 5xx | yes | Same data. Error 228 means it had already been issued. If the connection does not come back, follow A. |
All codes: Errors & statusCode · AADE error codes.