FreighAI
FreighAI · Guides
Guide · Regulatory

What is the UK Customs Declaration Service (CDS)?

Sending a declaration is a message. Assembling one is not. Almost everything HMRC asks for arrives on somebody else’s paperwork: an invoice from the seller, a packing list from the factory, a licence from a regulator.

This guide sets out what HMRC requires, in HMRC’s own words. What CDS is now that CHIEF has closed, who needs access, the eight groups of data a declaration carries, and why declarations come back rejected.

The short answer

The Customs Declaration Service is HMRC’s system for import and export declarations on goods moving into and out of the UK. It took over from CHIEF, which is closed. To use it you need a GB EORI number, a Government Gateway account, a CDS subscription and declaration software. This guide explains the process. It is not legal advice.

What is the Customs Declaration Service, and has CHIEF gone?

HMRC describes it in one line. The Customs Declaration Service supports making import and export declarations when moving goods into and out of the UK.

Before it there was CHIEF, the Customs Handling of Import and Export Freight system. HMRC moved traders across in stages, and it took longer than the first announcement said.

  • 01HMRC announced in August 2021 that import declarations would close on CHIEF on 30 September 2022, and exports on 31 March 2023;
  • 02in August 2023 HMRC replaced that export date with a phased plan, moving selected high-volume declarants by 30 November 2023 and all other businesses by 30 March 2024; and
  • 03HMRC’s notice to exporters set 4 June 2024 as the point after which an electronic export declaration would need to be submitted on CDS.

So there is one platform now, for imports and for exports. A procedure that still speaks in CHIEF boxes is describing a system that is not there.

One boundary. Northern Ireland movements have their own HMRC guidance and their own EORI prefix, and are not covered here.

Who needs access, and what does HMRC ask for before it grants it?

Access is a short stack, and every layer belongs to the business that trades. It starts with an EORI number. HMRC says you need one to make customs declarations and to use customs systems such as the Customs Declaration Service. Where a business cannot apply itself, HMRC says the person it appoints gets the number instead.

Then you subscribe. HMRC asks for the sign in details used for the business or organisation, and for:

  • the EORI number, which starts with GB or XI;
  • the Unique Taxpayer Reference;
  • the address for the business that HMRC holds on its customs records;
  • the National Insurance number, for an individual or sole trader; and
  • the date the business started.

HMRC says access arrives within 2 hours, or 5 working days where it needs more checks. The address must be the one HMRC already holds.

Once subscribed, HMRC says you can submit declarations using software, get postponed import VAT statements, pay Customs Duty and import VAT, and set up a Direct Debit for a duty deferment account. Declaring for somebody else needs one more thing. HMRC says whoever you hire cannot act without written instructions showing whether the agent acts directly or indirectly.

What access sits on
GB EORI number
Needed to make declarations and to use customs systems.
Government Gateway
The sign in details for the business, not a personal one.
CDS subscription
Within 2 hours, or 5 working days if HMRC checks further.
Declaration software
HMRC lists developers but endorses none of them.
A way to pay
Duty deferment, a cash account, or postponed import VAT.
Inventory link or GVMS
A community system provider at the port, or a movement reference.
System of record
Customs Declaration Service
  • HMRC’s platform for import
  • and export declarations

Every one of these belongs to the business that trades, not to a software vendor.

Five things a business arranges for itself before a declaration can be sent, and one that depends on where the goods arrive.
Where FreighAI is not

FreighAI does not make this filing. Direct customs filing stays in the system you already use for it, with the people authorised to do it.

What data does a CDS declaration actually need?

HMRC’s guidance on a full import declaration gives the short version. You need the customs procedure code, the commodity code and your declaration unique consignment reference. Alongside those it lists the departure point and destination, the consignee and consignor, the type, amount and packaging of the goods, the transport methods and costs, and certificates and licences.

The long version is organised differently. In the UK Trade Tariff completion guide every data element belongs to one of eight numbered groups.

The eight CDS data element groups, in HMRC’s own titles. The third column is not HMRC’s. It is where a forwarder’s file usually holds the answer.
  1. 1 · Message Information (including Procedure Codes)
    What sits in it
    The kind of declaration, and the procedure code for it.
    Where the answer comes from
    The customer’s instructions, and the regime agreed with them.
  2. 2 · References of Messages, Document, Certificates and Authorisations
    What sits in it
    The consignment reference, previous documents, certificates, licences.
    Where the answer comes from
    The regulator that issued the licence, and your authorisation numbers.
  3. 3 · Parties
    What sits in it
    Who is who. HMRC’s example is DE 3/16, Importer Identification Number.
    Where the answer comes from
    The EORI numbers on file, and the instructions appointing you.
  4. 4 · Valuation Information and Taxes
    What sits in it
    What the goods are worth, how valued, and the duty and VAT.
    Where the answer comes from
    The commercial invoice, the freight charges, the incoterm.
  5. 5 · Dates, Times, Periods, Places, Countries and Regions
    What sits in it
    Origin, dispatch and destination, and the places goods pass through.
    Where the answer comes from
    The bill of lading or air waybill, and the origin declaration.
  6. 6 · Goods Identification
    What sits in it
    The commodity code, description, packages and weights.
    Where the answer comes from
    The packing list, and the classification the customer holds.
  7. 7 · Transport Information (Modes, Means and Equipment)
    What sits in it
    How the goods travel, on what, in which container or trailer.
    Where the answer comes from
    The carrier’s booking, and the container or trailer number.
  8. 8 · Other Data Elements (Statistical Data, Guarantees and Tariff Related Data)
    What sits in it
    Statistical detail, guarantees and tariff information held nowhere else.
    Where the answer comes from
    The deferment or guarantee reference, and any preference claimed.

The numbering follows the group. HMRC explains that each data element begins with the number of the group it belongs to, so the Importer Identification Number sits under group 3, Parties, as DE 3/16. Once you know that, an error code stops being a riddle.

There is no single list of required fields

Which elements are required depends on the movement type and the declaration category. HMRC points declarants at Appendix 21, Declaration Category Data Sets, for the specific elements needed for each category.

Inside a data set HMRC marks every element with a letter. A is mandatory, always required. C is optional, and HMRC says it is up to the trader to choose whether to provide it. D is dependent, required depending on the circumstances involved. Further columns say whether the element is declared at header level or item level.

So “what does the declaration need” has no general answer. It has an answer per shipment, and the letter D is where most of the chasing lives.

What software submits to CDS, and what is a community system provider?

A declaration is not typed into a public website. HMRC’s toolkit says that if you submit declarations yourself you will need specialist software to interact with HMRC systems.

HMRC publishes a list of software developers providing customs declaration support, and is careful about what that list is. HMRC cannot recommend or endorse any one product or service over another. It groups providers by what their software supports: CDS imports, CDS exports, simplified declarations, and customs warehouse. Beyond that HMRC does not describe what the software must do, so neither does this guide.

There is a second connection. Where goods sit in a temporary storage facility, HMRC says that to link your computerised inventory system to HMRC systems you will need to join an approved community systems provider. HMRC names Cargo Community Systems UK, Community Network Services, Maritime Cargo Processing, DHL and Pentant. You can use as many as you need, but only one can be the facility stock account.

So a forwarder clearing at an inventory-linked location runs two arrangements at once: software talking to CDS, and an inventory system talking to the port. A delay can come from either, and the emails land in the same mailbox.

What changes on a roll-on roll-off movement?

Accompanied trailer traffic runs on a second HMRC service. HMRC says to register for the Goods Vehicle Movement Service to get your goods through customs if you move them through a UK border location that uses it.

Who registers is broader than people assume.

  • HMRC says you need to register if you import into or export from the UK through a port which uses the service;
  • HMRC says a customs agent can register on your behalf; and
  • to register you need an EORI number starting GB.

The output is a goods movement reference. HMRC’s description is the whole point: it links together all the declarations which have been submitted for the goods before they reach their destination. To create one you need:

  • a reference for all goods in the vehicle, trailer or container, which for an EU to Great Britain import is the movement reference number from CDS;
  • a vehicle registration number, if the movement is accompanied; and
  • the trailer or container reference number, if it is unaccompanied.

The reference is presented at the port being left from, and HMRC says the carrier will allow you to embark if it is valid. HMRC also warns of a penalty where goods are imported at locations requiring pre-lodgement and move without enough evidence that a declaration has been made.

How a movement reference is built
    1. 01Register for GVMSA customs agent can register on your behalf, with a GB EORI number.
    2. 02Declarations submittedThe declarations made for the goods before they reach their destination.
    3. 03Reference createdIt links those declarations together, from the vehicle, trailer or container references.
    4. 04Presented at the portThe reference is presented at the port being left from.
    5. 05Carrier allows embarkingHMRC says the carrier will allow you to embark if it is valid.
Registration first, then the declarations the reference links together, then the port being left from and the carrier that lets you embark.

Read that backwards and the effect on the desk is obvious. The declaration references must exist before the movement reference can be built, and that before the driver leaves. A missing licence number stops being a customs problem at the border and becomes a haulage problem hours earlier.

When is the declaration due, and what happens after it goes in?

The import clock depends on where the goods sit. HMRC says a full import declaration must be submitted within 90 days where temporary storage is used, and otherwise within the timescale set by the operator of the location. It may go in up to 30 days early, and is accepted only when the goods arrive.

The export clock depends on the mode. HMRC sets pre-departure timings from at least 30 minutes for air to as much as 24 hours for sea cargo that is not containerised.

After acceptance, HMRC says you will be sent a message through the Customs Declaration Service when customs have cleared the goods, and that duty must be paid before release. An export has a tail. HMRC needs a departure message to say the goods have left, which happens automatically at locations using inventory-linked systems, the Goods Vehicle Movement Service or approved loaders. Everywhere else somebody reports it.

One import, front to back
    1. 01Documents inInvoice, packing list, transport document, licences.
    2. 02Data assembledProcedure code, commodity code, reference, parties, values.
    3. 03Gaps chasedDependent elements go back to the seller or the customer.
    4. 04Declaration lodgedSent to CDS inside the location’s timescale.
    1. 05HMRC validatesAn error code comes back for anything failing validation.
    2. 06Duty paidHMRC says duty is paid before the goods can be released.
    3. 07HMRC clearsA message arrives when customs have cleared the goods.
Documents arrive, the data is assembled, the gaps are chased, the declaration is lodged, and HMRC does the last three steps.

Why do declarations get rejected?

HMRC’s answer for a pre-lodged import declaration is short. They can be rejected if there are errors in your declaration.

What comes back is an error message, DMSREJ, with specific error codes for the parts that failed validation. HMRC publishes the full list of Customs Declaration Service error codes and their descriptions, last updated on 23 June 2026.

The consequence is heavier than a resubmission. HMRC says you cannot amend a rejected declaration and must submit a new one with the errors corrected. The goods are moved to an inland border facility and released only when the new declaration is presented and cleared. The original goods movement reference stays on hold, moves to complete status after 7 days, and cannot take the new one.

HMRC does not publish a ranking of causes, so nobody honest can give you one. What it does publish is the shape of the failure: a code names a data element that did not validate. Go back through the eight groups and ask which elements depend on an answer somebody else owes you.

  • a commodity code nobody confirmed, so group 6 is filled in from a description;
  • a licence or certificate reference that never arrived, leaving group 2 short;
  • a procedure code chosen for a regime the customer has since changed;
  • a valuation built from an invoice that was superseded after the entry was drafted; and
  • an EORI, authorisation or container number that moved since the last shipment.

Every one of those is a data element that failed. Every one of them started as an email answered late, answered by the wrong person, or not answered at all.

So what changes on the forwarder’s desk?

Read back through the eight groups and count how many are decisions your team makes. Very few. The rest are answers other people owe you. What the goods are, what they are worth, which licence covers them, which container they went into.

The transmission takes seconds, through software HMRC has already listed. The assembly takes days, across time zones, and is usually held together by one person remembering who has not replied.

FreighAI does not submit declarations to CDS or to any other customs system. It works on the assembly around them. Spots what is missing in an enquiry and drafts the email asking for it. Follow-ups, chasers and reminders happen on their own, on the same conversation.

A missing-data chase
Inbox · thread
Customer · Birmingham
IMP 20418 · 1 x 40HC · Ningbo to Felixstowe · ETA 14th
Invoice and packing list attached.
No commodity code for two of the lines.
Licence for line three not attached.
Deferment account still to be confirmed.
Task · assignedDrafted
Chase the three answers the entry still needs
Ellie · Customs
JobIMP 20418
MissingTwo codes, one licence
AskedSame day
ChaserEvery working day
ReplySame thread
Your team approves. The reply goes out in their name.
The answers land on the job file your declaration software reads from.
An import instruction arrives with three answers missing. It becomes an assigned task with the request written and the chaser scheduled, and a person approves before anything is sent.

The entry is still prepared and checked by the person accountable for it, and still reaches HMRC through your own software or your own broker. Two questions are worth putting to any supplier who says it helps here:

  • 01Show us an import instruction with a commodity code and a licence missing. What does the system send, who does it go to, and when does it ask again?
  • 02When the answer arrives four days later on a different thread, who is told, and what does a person still have to copy across by hand?
Where this shows up in FreighAI
Questions

Common questions

01

Does FreighAI submit our CDS declarations?

No. Direct customs filing stays in the system you already use for it. FreighAI works on what comes before the entry, which is getting the commodity codes, licences, valuations and references out of customers, sellers and carriers.

02

We are the customs agent. Are we liable for the declaration?

It depends on the representation. HMRC requires written instructions showing whether the agent acts directly or indirectly, and says that where someone represents a trader directly using their own authorisation, they will not be held jointly liable. The trader is still responsible for due diligence on its declarations.

03

Our pre-lodged import declaration was rejected on arrival. Can we correct it?

Not that one. HMRC says you cannot amend a rejected declaration and must submit a new one with the errors corrected. The goods move to an inland border facility and are released when the new declaration is presented and cleared.

04

Which CDS software does HMRC recommend?

None. HMRC publishes a list of software developers providing customs declaration support and states that it cannot recommend or endorse any one product or service over another.

05

Can we still file anything on CHIEF?

No. HMRC closed CHIEF for import declarations on 30 September 2022, moved exports across in phases through 30 November 2023 and 30 March 2024, and its notice to exporters set 4 June 2024 as the point after which an electronic export declaration would need to be submitted on CDS.

READY WHEN YOU ARE

Bring one entry that came back rejected

Pick a job where the file was short of one answer. We will trace which data element it fed, who owed it to you, and how many emails it took to arrive.