Skip to main content

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_status is rejected, clearance_reason_code is C5_OM_REJECTED and clearance_reason carries the authority's own code and description. rejected is not final. If the authority accepts the Resubmit, the invoice reads cleared and tdd.cleared follows. If it rejects the Resubmit too, GoRoute does not correct it again: clearance_status is failed, reporting_state is error, reason_code is C5_OM_REJECTED_RESUBMIT_FAILED, and tdd.failed follows.
  • 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_status is failed, reporting_state is error, reason_code is C5_OM_REJECTED_NO_RESUBMIT, reason carries the authority's own code and description, and tdd.failed follows.

Contact GoRoute support for an invoice in either error.