TSS, CDS, ICS2, GVMS and NCTS are best understood as a small distributed system with a shared input layer and four specialised backends.
The pipeline
The trader submits movement information once. TSS validates and enriches it, then routes structured messages to the correct downstream system.
- CDS receives the customs declaration payload.
- ICS2 receives the safety and security payload.
- GVMS receives declaration references bundled into a Goods Movement Reference.
- NCTS receives the transit declaration when the movement runs under the Common Transit Convention. ## Shared identifiers All four backends describe the same consignment. They share EORI numbers, commodity codes and transport identifiers. That shared vocabulary is what lets TSS route once and reconcile later.
Where the pipeline breaks
Historical development created inconsistencies in formatting expectations. A commodity code entered one way in CDS may be accepted differently by another system, and a vehicle registration mismatch will fail GVMS check-in. Most production incidents are data quality issues at the entry point. The TSS routing to HMRC systems walkthrough covers the flow in more detail.
Practical takeaway
Treat the entry layer as the schema-of-record. Normalise once, validate at the boundary, and rely on TSS to route.
Want to see this pipeline running end to end? Watch a demo to see iCustoms.ai orchestrate the flow.
Top comments (0)