When a report fails, stops or is rejected
When a report does not reach the tax authorityโ
If the tax authority's access point cannot be reached, GoRoute sends the same Tax Data
Document again automatically (the same document and message identifier, so nothing is filed
twice), with growing gaps between tries, for about 20 hours. While it does, clearance_status
stays reported (sent, outcome not yet known), exactly as during the first few minutes of
any report, and tdd.redrive shows the attempts and when the next one is due. It does not
read failed: an integration that treats failed as final would otherwise stop following an
invoice whose report is still on its way. The report's own transaction sends
transaction.retrying, not transaction.failed.
If reporting for your taxpayer is switched off meanwhile, the report waits: clearance_status
is prepared_awaiting_authority, reporting_state is held, and GoRoute sends it again once
reporting is switched back on. Like any held report it says why: reason_code, the
transaction's clearance_reason_code and tdd.held_reason_code are C5_OM_TDD_REDRIVE_HELD,
with the sentence in reason, clearance_reason and tdd.held_reason.
If the re-sends run out, or the report fails in a way that sending it again would not fix,
clearance_status is failed, reporting_state is error, reason_code and reason say
why, and the tdd.failed webhook names your invoice. A
later delivery, or the authority accepting the report after all, clears the error.
If the Tax Data Document cannot be built or filed at all, the same fields say so from the first
failure, and reason_code says why: C5_OM_REPORT_SOURCE_MISSING if the invoice document it is
built from cannot be found, C5_OM_TDD_BUILD_FAILED if the report cannot be built from it, or
C5_OM_TDD_KEY_TAKEN if its filing reference is held by another document. tdd.failed follows
once the same reason has repeated three times (the default). GoRoute keeps trying automatically,
and the error is cleared once the report is filed. While reporting for your taxpayer is on hold,
neither happens: the report would be held rather than filed, so the invoice does not read failed
and tdd.failed is not sent. Once the hold is lifted, the next failure makes it read failed, and
tdd.failed follows at once if the same reason has already repeated three times. The same goes
for an invoice that reads held because GoRoute's seller-side reporting was switched off when it
was delivered (reason_code C5_OM_REPORTING_DISABLED): it keeps that reason until that
reporting is switched back on, and only then can a failure make it read failed.
When a report's processing stopsโ
Rarely, the automatic processing behind a report stops before it finishes: the copy of an
invoice sent to a buyer who takes only Peppol BIS may or may not have arrived, the Peppol
directory cannot be reached to check whether your buyer can receive the invoice, or a step
has been waiting for more than seven days. GoRoute's operations team sees it and decides how
the report is filed; nothing is filed on a guess. Meanwhile clearance_status is held
(nothing has been built for the report yet), or prepared_awaiting_authority when its Tax
Data Document had already been built, reporting_state is held, and reason_code, the
transaction's clearance_reason_code and tdd.held_reason_code are
C5_OM_AWAITING_OPERATOR_DECISION (waiting for GoRoute's decision) or
C5_OM_LOOKUP_UNAVAILABLE (the directory is checked again automatically), with the sentence
in reason, clearance_reason, tdd.held_reason and note. hold gives the reason and
since when.
If the Tax Data Document itself had already been handed over for sending when its processing
stopped, it may have reached the Oman Tax Authority: reason then says so, and never that the
report has not been filed. A Tax Data Document the authority has answered is never held: it
reads what the authority said (see When the tax authority rejects a report).
The hold ends as soon as the report moves on: once it is filed, a correction is filed for it,
the authority answers it, or the invoice is sent again, the transaction reads what happened
next.
When the tax authority rejects a reportโ
The tax authority answers every Tax Data Document with a status message, which
tdd.authority_response shows. If it rejects the report (response code RE), the
tdd.rejected webhook names your invoice, whether or
not the TDD was delivered, and what the invoice reads depends on whether GoRoute can file a
corrected report (a Resubmit) for it itself.
- GoRoute files the Resubmit. It can only for the report of an invoice you received.
Until the authority answers the Resubmit,
clearance_statusisrejected,clearance_reason_codeisC5_OM_REJECTEDandclearance_reasoncarries the authority's own code and description.rejectedis not final. If the authority accepts the Resubmit, the invoice readsclearedandtdd.clearedfollows. If it rejects the Resubmit too, GoRoute does not correct it again:clearance_statusisfailed,reporting_stateiserror,reason_codeisC5_OM_REJECTED_RESUBMIT_FAILED, andtdd.failedfollows. - GoRoute cannot file a Resubmit automatically. This applies to the report of an invoice
you sent, of a POS sale, or of one filed under the stand-in participant. The invoice does not read
rejected; it is in error straight away:clearance_statusisfailed,reporting_stateiserror,reason_codeisC5_OM_REJECTED_NO_RESUBMIT,reasoncarries the authority's own code and description, andtdd.failedfollows.
Contact GoRoute support for an invoice in either error.