A Goods Movement Reference, or GMR, is the single reference a vehicle needs to board at a roll-on roll-off port. It does not carry goods data of its own. It links together the declaration references that already exist for everything on the vehicle. You get one either through TSS, where GMR automation can create it for you, or by building it yourself on the Goods Vehicle Movement Service.
People searching TSS GVMS GMR are usually trying to work out one thing: where the reference comes from, and whose job it is to build it. This is the part of the process that fails visibly. A missing customs field is a paperwork problem. A missing or mismatched reference is a lorry turned away at check-in with a sailing booked.
A single vehicle can carry consignments covered by several different declarations, filed by different parties at different times. The port cannot check them all individually while traffic queues behind.
So GVMS bundles them. The GMR links together all the declarations submitted for the goods before they reach their destination, and the driver presents that one reference instead of a folder of paperwork.
Three things follow from that, and they explain most of what goes wrong:
A GMR is required for movements through roll-on roll-off ports. If your route does not use GVMS, this does not apply to you.
A GMR applies to roll-on roll-off traffic, usually shortened to RoRo. If your goods travel accompanied on a lorry through a port that uses the service, you are in scope. If they move by another route or through a location that does not use GVMS, you are not.
Two points that catch people out on GVMS Northern Ireland movements specifically:
Check the position for each lane you run. It is a short piece of work that prevents an expensive assumption.
It answers a different question from a customs declaration.
A customs declaration is about duty and compliance: what the goods are, what they are worth, what is owed. An entry summary declaration is about risk: who is sending what, to whom, by which route, so authorities can assess a consignment before it arrives rather than after.
That difference explains everything else about it. It comes first, because assessment before arrival is the whole point. It sits with the carrier, because the carrier knows the movement. And it goes to a different system.
There are two routes, and which one applies depends on how you are set up rather than on the goods.
TSS can create the reference from the declaration data you have already provided, rather than you rekeying it into a separate service. This is what GMR automation means in practice: the movement reference is generated from information the service already holds.
It is conditional. Automation depends on the movement meeting the applicable conditions and on holding the relevant authorisation, so it is not open to everyone by default. The current conditions are set out in the TSS GMR guide, which was updated in March 2026, and they are worth checking against your own lanes rather than assumed.
Where it applies, it removes a manual step at exactly the point in the process where there is least time to fix anything.
Where automation does not apply, the haulier builds the reference directly on the Goods Vehicle Movement Service, using the declaration references TSS has issued.
This is the more common experience for hauliers moving loads for multiple customers, because a single vehicle often carries a mix of TSS and non-TSS consignments.
The reference format tells you which option to choose. Getting this wrong produces a reference that will not validate.
| If your reference looks like this | Select this declaration type | And also |
|---|---|---|
| A CDS or YYGB format MRN | Customs declaration | Nothing further |
| An MRN with an XI prefix | Entry in Declarant’s Records (EIDR) | Enter the trader’s EORI number |
Mixed loads are normal A vehicle carrying goods for several customers will often hold a mix of TSS consignments and non-TSS consignments. Both go on the same GMR. The non-TSS ones need their MRN and the associated safety and security information added manually, which is the step most often forgotten on a groupage load. |
Three checkpoints, in order.
The carrier verifies the GMR and confirms it matches the vehicle registration, the trailer registration and any container reference numbers.
Vehicles are turned away at check-in if a valid GMR cannot be presented, or if the vehicle registration, trailer registration or container reference numbers do not match those on the GMR. There is no discretion at this point and no way to fix it from the barrier queue.
Once the vessel departs, the carrier notifies HMRC. Every GMR then moves to embarked status, and that is what triggers the automated customs processes.
Embarked status is worth understanding because it is the moment the system starts doing things rather than waiting. It is also when you find out whether an inspection is required.
Drivers and hauliers can check the current position through the service that tells you whether you need to report for an inspection. The status updates continuously and any hold or inspection requirement is communicated to the relevant parties.
Build that check into the driver’s routine rather than leaving it to chance. Finding out on arrival is the expensive version.
Everything above sits inside the wider movement. If you want that whole sequence rather than this stage in isolation, see the GB to NI movement sequence, and for how GVMS relates to the other government systems, the systems behind Northern Ireland customs.
Yes, and this matters more than it sounds.
You can update the GMR on GVMS right up until the code is scanned when you board the ferry. That window is what saves you when a trailer is swapped at the last minute or a consignment is added late.
Two practical consequences. First, a last-minute change is recoverable, but only if somebody knows to make it. Second, once the barcode is scanned, it is not. Whoever manages the reference needs to be reachable while the vehicle is still in the queue.
| Problem | Why it happens | How to avoid it |
|---|---|---|
| Trailer swapped, GMR not updated | Operations changes the vehicle, nobody tells the person holding the reference | One named owner per movement, reachable until boarding |
| Wrong declaration type selected | XI-prefixed MRN entered as a customs declaration rather than EIDR | Check the reference format before selecting |
| A consignment missing from the GMR | Groupage load, one customer’s MRN never added | Reconcile the manifest against the GMR before departure |
| Non-TSS consignment incomplete | MRN added but the safety and security information was not | Treat non-TSS consignments as a separate checklist item |
| No GMR at all | Declarations were late, so the reference could not be built | Work backwards from the sailing, not forwards from the paperwork |
| Inspection missed | Nobody checked the status after embarkation | Make the inspection check part of the driver’s routine |
The GMR sits with the haulier, but it depends entirely on other people having done their part first.
That split is why the safety and security side is worth pinning down early. We cover who submits the entry summary declaration separately, because it is the obligation most often assumed to belong to somebody else.
For a haulier running a handful of loads a week, building references by hand is manageable. It stops being manageable when every vehicle carries consignments for six customers and the references arrive at different times from different people.
The pressure points are consistent: chasing MRNs that have not been issued yet, rekeying references between systems, reconciling a manifest against a reference under time pressure, and updating references when the plan changes on the day.
None of that changes the rules. What changes is whether the reference is assembled from data that already exists or from somebody reading it off a screen and typing it into another one.
Where automation applies, the reference can be created from declaration data the service already holds, and the same principle extends further upstream. Our overview of Northern Ireland customs automation covers that, and the TSS API and what it submits covers the technical side, including the authorisation that movement reference automation depends on.
Either TSS creates it for you where GMR automation applies, or you build it on GVMS: register once, start a new GMR, select the declaration type, add the customs references from your TSS notifications, add any further consignments, then save or print the barcode.
It can. GMR automation generates the reference from declaration data TSS already holds, subject to the movement meeting the conditions and the relevant authorisation being in place. Check the current TSS GMR guide against your own lanes.
The declaration references issued for the goods on the vehicle. That includes entry summary declaration MRNs and the customs references from your TSS notifications, plus the MRN and safety and security information for any non-TSS consignments.
It depends on the reference format. A CDS or YYGB format MRN means selecting Customs declaration. An MRN with an XI prefix means selecting Entry in Declarant's Records, and you also enter the trader's EORI number.
Yes. If you hold multiple entry summary declaration MRNs for the movement, they can all go on the same GMR, and you can add further consignments as needed.
Yes, until the code is scanned when you board the ferry. After that it is fixed.
The GMR barcode, printed or saved.
The vehicle is turned away at check-in. The vehicle registration, trailer registration and container reference numbers all have to match what is on the GMR.
Once the vessel departs, the carrier notifies HMRC and the GMR moves to embarked. That triggers the automated customs processes and is when any inspection requirement becomes known.
The business moving the goods, or a customs agent on its behalf. You need a GB EORI number.
Simplify customs data management before every sailing.
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.
Reduce manual work across declarations and movement preparation.