It is 06:40 on a Tuesday. A driver is queued at Dover with a full trailer bound for Milan, and the declaration you filed twenty minutes ago has come back rejected. No Movement Reference Number. No Transit Accompanying Document to print. Just a functional error, a field pointer nobody recognises, and a ferry that leaves in ninety minutes.
You are not doing anything unusual wrong. You are running an NCTS4 habit inside an NCTS5 system, and NCTS5 does not forgive the way its predecessor did.
This guide walks that rejected declaration backwards: what NCTS Phase 5 changed, why the old shortcuts now fail validation, what every message code means, and how to get released before the driver misses the sailing.
Nine times out of ten, a Phase 5 rejection at the office of departure comes down to one of five things: a missing house consignment level, an absent or truncated commodity code, an invalid or exhausted guarantee, a safety and security dataset that was never populated, or a trader identity that does not match the EORI on the guarantee.
None of those would have stopped you under the old system. All of them stop you now. That is the whole story of NCTS 5. The data model got stricter, validation moved upstream, and the human workarounds that used to absorb bad data were removed.
NCTS stands for the New Computerised Transit System: the electronic system controlling goods moving under customs transit, which suspends duties and import formalities while a consignment travels across borders to its destination.
NCTS 5 is the fifth iteration, and not a cosmetic one. Phase 5 replaced the underlying data structure, expanded the message set, and aligned transit with the wider European customs data model.
Who NCTS 5 affects is broader than most teams assume. It covers forwarders and hauliers moving goods under T1 or T2, agents filing on behalf of traders, authorised consignors and consignees, guarantors issuing transit guarantees, and in-house teams filing their own declarations. If you touch a transit movement, the NCTS 5 New Phase rules apply to you.
NCTS is not a UK system that happens to touch Europe. It is the shared machinery of the EU Common Transit Convention, the agreement that lets one transit declaration and one guarantee cover a movement across multiple customs territories without duty becoming payable at each border.
For NCTS5 UK users, the practical consequence is that HMRC does not set the rules alone. The UK runs its own NCTS HMRC service and the NCTS 5 HMRC rollout followed a national timetable, but the data model, message types and Final State rules are agreed at Convention level. When people search for guidance on using transit to move goods out of, into and through the UK, this is the framework underneath it.
The EU Common Transit Convention countries are the 27 EU member states acting as a single territory, the four EFTA states (Iceland, Liechtenstein, Norway and Switzerland), and the United Kingdom, North Macedonia, Serbia, Türkiye, Ukraine and Moldova.
A movement between any two of those territories travels on one declaration under one guarantee. A movement to a country outside the Convention cannot, which is why the destination check belongs at quoting stage, not filing stage.
This is the change that catches most teams. NCTS4 used a flat structure: one declaration, one list of goods items. NCTS5 uses three levels. Consignment sits at the top, then NCTS5 House Consignments beneath it, then goods items inside each house consignment.
For a single-shipper full load that feels like pointless nesting; you still declare one house consignment. For groupage it is genuinely useful, because each house bill sits in its own container with its own consignor, consignee and goods. Rejections happen when legacy software or a copied template flattens everything to the top level and the validator finds goods items with no parent.
Under Phase 5, NCTS Commodity Codes are required at goods-item level as the six-digit Harmonised System subheading. “General cargo”, “machine parts” or “consolidated freight” will not pass validation on their own.
Your transit data now needs the same commodity discipline as your import data. Most rejections here are not classification disputes. They are blank fields inherited from a commercial invoice that never carried a code.
Phase 5 allows the safety and security dataset to be carried within the transit declaration itself, so one submission can satisfy both transit and S&S requirements on qualifying movements instead of forcing a separate entry summary declaration.
That efficiency is conditional. Once you flag a declaration as carrying NCTS safety and security data, the full S&S dataset becomes mandatory: additional party details, transport equipment identifiers, place of loading and unloading. Half-populating it is worse than not claiming it.
Previously, when something went wrong in transit, such as a broken seal, a transhipment or an unplanned route change, the driver presented the paper TAD at the nearest customs office for a manual endorsement.
The NCTS5 office of incident replaces that with an electronic record. Incidents are captured against the movement and transmitted, so the office of destination sees the disruption before the truck arrives rather than finding an unexplained annotation on a document.
The Phase 5 rollout ran with transitional rules that tolerated reduced datasets while trader software caught up. NCTS5 Final State Rules end that tolerance. Under Final State you need the complete house consignment structure, mandatory commodity codes, the extended party and transport dataset, and the full message set including electronic incident reporting.
The failure pattern is predictable. Software configured during the transitional window keeps sending transitional-shaped messages, and every declaration fails on fields that were optional a year earlier.
Understanding NCTS5 Message Types is the difference between reading a rejection and guessing at it. Here is the Dover to Milan movement, message by message.
You submit IE015 Declaration Data, the IE015 transit declaration containing consignment, house consignment, goods items, itinerary, guarantee and, where claimed, the safety and security dataset.
If it validates, IE028 returns the MRN. IE029 then releases the goods and generates the Transit Accompanying Document, the printed sheet carrying the MRN barcode that travels with the load and is presented at each office along the route.
If it does not validate, you get IE056 carrying the functional error codes, or IE051 if the office of departure declines to release the movement, or IE055 if the guarantee itself is refused.
The TAD travels with the goods. Where customs decides to examine the movement, IE060 notifies you of the control decision. Where something goes wrong en route, the incident is reported to the office of incident as described above.
At destination, IE007 is the arrival notification lodged by the consignee. IE043 grants unloading permission, and IE044 returns the unloading remarks, confirming whether the goods matched the declaration.
Then comes the message that closes the loop. The IE045 message is the write-off notification, and it is the NCTS notification of discharge: confirmation that the movement completed correctly and the customs debt has been discharged. Until IE045 lands, your guarantee remains committed. Chasing IE045 is not administrative tidiness. It is cash flow.
Search volume tells us a lot of people are pairing these codes with the wrong names. Getting them wrong means troubleshooting the wrong stage of the movement.
| Common search | What the code actually is | The code they meant |
|---|---|---|
| “IE029 Arrival Notification” | IE029 is Release for Transit, issued at departure and generating the TAD | Arrival notification is IE007 |
| “IE051 Control Decision Notification” | IE051 is No Release for Transit, meaning the office of departure has refused the movement | Control decision notification is IE060 |
| “IE045 Release for Transit” | IE045 is the write-off or discharge notification, the final message | Release for transit is IE029 |
Still reconciling message codes by hand across a spreadsheet of open movements? See how iCustoms tracks every NCTS5 message from IE015 to IE045 automatically and flags movements that have not discharged. |
Every transit movement needs financial cover, and Phase 5 made that cover far more visible.
Your guarantee is identified by a guarantee reference number, the GRN, paired with an access code. Both go on the IE015. A wrong GRN, an expired guarantee or a GRN registered to a different EORI produces an immediate rejection.
The NCTS Guarantee Management System tracks how much of your comprehensive guarantee is committed at any moment. Each released movement reserves an amount against the duty at risk; each IE045 releases it back.
That is why checking your UK transit guarantee balance matters operationally, not just at audit. A forwarder running high-value movements can exhaust a comprehensive guarantee mid-morning, and every subsequent declaration fails on insufficient cover. It usually gets blamed on “the system being down” when the real cause is a queue of movements nobody discharged.
NCTS 5 error codes arrive inside IE056 as a rule identifier plus a pointer to the offending element. The pointer is the useful part; the identifier alone rarely tells you enough.
The recurring six, in rough order of how much time they cost:
A rejection is not a penalty. But an unfixed rejection at 06:40 becomes a missed sailing, and a missed sailing becomes a rebooking cost the customer will not absorb.
Access to the live service runs through your NCTS5 login via Government Gateway, using credentials tied to the EORI authorised to submit transit declarations. Users must be assigned correctly within your organisation’s account, a common cause of first-week confusion after onboarding a new filer.
Before any software touches the live system, exercise it in the Transit Test Application, HMRC’s trader test environment for NCTS. The Transit Test Application lets you submit IE015 messages, receive IE028, IE029, IE051 and IE056 responses, and confirm your software handles rejections correctly, without a real movement, a real guarantee or a real driver waiting at a port.
Teams that skip trader testing find out about their house consignment mapping on a Tuesday morning at Dover. Teams that test find out on a Wednesday afternoon in the office.
Moving from a transitional NCTS 5 setup to Final State rules?
iCustoms validates every field against the current NCTS5 data model before submission, covering house consignments, commodity codes, guarantee balance and safety and security data, so rejections are caught at your desk rather than at the border.
The rejected declaration at 06:40 is a data problem wearing a deadline. Every one of the five Phase 5 changes is knowable in advance, testable before go-live, and preventable at the point of filing.
The forwarders who stopped losing sailings did not get better at reading error codes. They moved validation upstream, so house consignment structure, commodity codes, guarantee balance and safety and security dataset are all checked while the declaration is still on a screen in the office, not while a driver watches a ferry board.
NCTS Phase 5 is the current version of the New Computerised Transit System, the electronic system used to control goods moving under customs transit across the Common Transit Convention area. It introduced a three-level declaration structure, mandatory commodity codes, an expanded message set and electronic incident reporting.
The five NCTS phase 5 changes that most affect filers are house consignments, mandatory six-digit commodity codes, safety and security data carried inside the declaration, the electronic office of incident, and the Final State rules that removed the transitional reduced dataset.
No. This is the single most common mix-up. IE045 is the write-off or discharge notification issued once a movement has completed correctly. Release for transit is IE029, which is issued at departure and generates the Transit Accompanying Document.
IE029 is release for transit, sent by the office of departure. IE007 is the arrival notification, lodged at the office of destination. Searches for "IE029 arrival notification" are conflating the two ends of the same movement.
IE051 is No Release for Transit, meaning the office of departure has decided not to release the goods. It is not the control decision notification, which is IE060.
Guarantee usage is tracked in the NCTS Guarantee Management System against your guarantee reference number. Balance is committed when a movement is released and freed when the IE045 discharge notification is received, so undischarged movements are the usual reason available cover looks lower than expected.
The 27 EU member states as a single territory, the EFTA states (Iceland, Liechtenstein, Norway, Switzerland), and the UK, North Macedonia, Serbia, Türkiye, Ukraine and Moldova.
Yes. HMRC provides the Transit Test Application as a trader test environment where you can submit declarations and receive the full range of NCTS5 message types, including rejections, without affecting live movements.
Reduce repetitive document processing and customs data preparation.
iCustoms is an all-in-one solution helping businesses automate customs processes more efficiently. With AI-powered and machine-learning capabilities, iCustoms is designed to streamline your all customs procedures in a few minutes, cut additional costs and save time.
Turn trade documents into structured data with intelligent automation.