Why "TSS" is not one API
If you are building or integrating a customs stack for Northern Ireland trade, "TSS" is not one endpoint. It is five declaration types, each with its own payload, owner and lifecycle.
Declaration inventory
- ESD: safety and security data, carrier-submitted, pre-arrival.
- SFD: minimal commercial data, trader-submitted, at movement.
- Supplementary: full commercial + duty + at-risk data, due 10th of following month.
- IMMI: reduced data set, UKIMS-gated, non-Category 1, pre or post movement.
- Full Frontier: complete data set, inventory-linked port/airport movements. The TSS declaration process breakdown has the field-level detail worth mapping into your data model.
Integration takeaways
Model declarations as separate entities, not as states of one form. Model the SFD → supplementary link as a parent-child relationship, not as an update. Guard the supplementary submission against auto-population defaults so commodity codes require explicit sign-off. And expose a UKIMS flag on the trader entity so IMMI eligibility can be computed at movement time.
Deadlines as scheduler events
Handle the 10th-of-month deadline as a hard scheduler event with escalation, not as a soft reminder.
Want a ready-built engine for all five declarations? Watch a demo of iCustoms.
Top comments (0)