Integration
Integration is the Reports area for the connection between ITS and the customs systems that call it. It answers three questions: what ITS refused and why, whether the declarations ITS announced to other countries were accepted, and how far organisations have got with onboarding.
It is the page a technical contact opens after a complaint that "ITS is rejecting our declarations".
Before you start
- You need a role that reads the integration area (Secretariat admin or Organisation admin). See What each role can do.
- Have the correlation ID of a refused call to hand if you are chasing one particular refusal. Your customs system receives it in every answer from ITS.
Open it
- Select Reports, then the Integration tab.
- Check the Period and the sentence You are reading ….

On the page
| On the page | What it is for |
|---|---|
| Rejections | Calls ITS refused in the period. |
| Distinct reasons | How many different reasons those refusals had. |
| Deliveries | Announcements ITS sent to other countries' systems (a new declaration, a stamp, an amendment). |
| Acceptance | The share of deliveries the receiving system acknowledged. |
| Why we refused | Refusals by reason, largest first. |
| Whose calls are refused | Refusals by the country or organisation that made the call. |
| Rejections over time | Refusals through the period. |
| Did the endpoint accept it | Deliveries by result: acknowledged or still pending. |
| Onboarding | Organisations by how far they have got with connecting to ITS. |
The refusal reasons
| Reason | What it usually means |
|---|---|
NOT_ENTITLED | The caller may not do this, or may not see this declaration. |
NOT_FOUND | The declaration or office asked for does not exist, or is outside the caller's scope. |
INVALID_FIELDS, UNPARSEABLE, UNKNOWN_VALUE | The request was badly formed or used a value ITS does not know. |
BUSINESS_RULE, PRECONDITION | The request was well formed but broke a transit rule, for example a stamp out of order. |
INTERNAL_ERROR | A fault on ITS's side. Report it with the correlation ID. |
For every error code, see the error catalogue.
| Secretariat | State Party (Tunisia) | REC (IGAD) | |
|---|---|---|---|
| Refusals counted | Every caller's | Calls made as Tunisia | Calls made for IGAD's members |
| Whose calls are refused | Every country and organisation (KE, UG, ZW, TN, IGAD, AU…) | TN only | One member code (ER) |
| Deliveries | Every announcement ITS sent | Announcements to Tunisia | Announcements to the members |
| Onboarding | Every organisation | Tunisia | The members, see the caution |
| Secretariat | State Party | REC |
|---|---|---|
![]() | ![]() | ![]() |
Find out what your system is sending wrong
- Read Why we refused. Reasons other than
NOT_ENTITLEDare the ones your system can usually fix. - Open the tile's ⋮ menu and select Open full report. Rejections lists every refused call: when, which request, the reason, the reference and the caller.
- Narrow it to the period and reason you are chasing, and export it for your developers. See Export a report.
- For a single refusal, look it up by correlation ID on Failed transmissions (in All areas).
Known problems
On the current version, every portal page makes a request that the server
refuses for State Party and REC accounts. Each of those refusals is recorded as
one of your organisation's rejections, with the reason NOT_ENTITLED. For
Tunisia, almost every rejection in the period (83 of 86) is the portal itself,
and the count rose from 58 to 86 in one morning of browsing. The same refusals
appear in Failed transmissions and in notifications saying "N of your
requests were refused today".
Until this is fixed, treat NOT_ENTITLED refusals on requests your customs
system does not make as the portal's own, and look at the other reasons for
your system's real problems.
As IGAD, Whose calls are refused reads ER 13. Those are IGAD's own portal requests, charged to Eritrea. Do not read them as a problem with Eritrea's system.
For Tunisia, Deliveries reads 0 and Outbound deliveries says "Nothing matches", while the declaration's own History lists an acknowledgement from Mali and a pending delivery to Algeria. Check a declaration's History for the delivery of one declaration.
Acceptance rounds: 4,437 acknowledged and 19 pending shows as 100%. Read Did the endpoint accept it for the pending count.
Results and reasons show as codes (ACKED, PENDING, NOT_ENTITLED). A
caller shown as ~none is a call that arrived with no organisation attached.
The Rejections over time chart is labelled "Declarations over time" and
"Registered" in its legend; it shows rejections.
The Onboarding tile lists fewer organisations than the System integration workspace (for the Secretariat, 19 against 27), and as IGAD it lists only Eritrea, not IGAD itself, although IGAD is in the sandbox.
Related pages
- Reports
- All reports: Rejections, Outbound deliveries, Onboarding, Rejections by reason, Delivery outcomes.

