Independent guide, affiliated with Easy Clearance, a UK–EU customs agency. Read our disclosure
CustomsBrokerUK

Guides / CDS error codes · Updated 19 October 2026

CDS error codes: reading a rejected declaration and fixing it

A rejected CDS declaration comes back with CDS error codes, not an explanation. HMRC's own spreadsheet translates each code, and once you know how to read it, most rejections, including CDS12158, point straight to the field that needs correcting.

When the Customs Declaration Service (CDS) refuses a declaration, it does not send a sentence of explanation. It sends a rejection notification with one or more codes such as CDS10001 or CDS12158. Those codes are the fastest way to the fix, as long as you read them against HMRC's own list rather than a forum post. This guide explains where the official list lives, how to read a code, what some of the codes you are most likely to meet actually mean, and how to resubmit. For the wider set of status messages (accepted, held, cleared), see our guide to CDS declaration status codes.

Where HMRC publishes the CDS error codes

HMRC publishes the CDS error codes on GOV.UK as a single spreadsheet in OpenDocument format. The publication page was last updated on 23 June 2026 and the attached file is dated 9 June 2026. It has three columns: the code, a short description, and a plain-English explanation of why the error appears and what to check. The current file lists more than 180 codes.

HMRC's page also points to the CDS service availability page. If many declarations fail at once with no obvious data problem, check that before rewriting anything.

Rejection, acceptance and the message you received

HMRC's developer guidance for CDS describes the notifications behind the codes. DMSACC tells the submitter the declaration "has been legally accepted". DMSREJ says the received message "has been rejected", and HMRC notes this can apply to declarations and to additional messages, which include amendments. DMSREQ reports whether an additional message, such as an amendment or cancellation request, was accepted or denied, and gives the reason for a denial.

The difference matters. A DMSREJ on a new declaration means nothing was accepted, so there is nothing to amend. A denied amendment leaves the original declaration in place as it was.

How to read an error code

Every code starts with CDS followed by five digits. The description in HMRC's list usually opens with the type of check that failed, which tells you where to look:

A few codes and what HMRC says they mean

CodeHMRC description (shortened)What to check
CDS10001Mandatory data element has not been providedA DE is missing or incomplete; HMRC's example is a party address without name, street, country or postcode.
CDS10020Data element contains invalid valueA code is not recognised, not allowed on this declaration type, or entered at the wrong level (header or item).
CDS12003Reuse of LRN (DE 2/5) not allowed within 48 hoursChange the LRN or add a version suffix, using letters and numbers only.
CDS12005Party ID unknown or invalidAn EORI or VAT number is not recognised or not permitted in that DE.
CDS12056The combination of elements is not allowedTwo values clash or one requires another, such as an additional procedure code that needs a second code.
CDS12057Invoice currency must be the same for every goods itemAlign the currency across items (DE 4/14).
CDS12125DAN errorThe deferment account is not recognised, is suspended or revoked, or the parties lack authority to use it. HMRC suggests the CDS financial dashboard or its deferment team.
CDS40007Duplicate valueFor example, the same additional code declared twice on one item.
CDS40045Missing documentA licence or exemption is required; check the conditions for the commodity code on the Trade Tariff and whether a waiver code applies.
CDS40066Tariff condition not fulfilledA value is not allowed for the commodity code; check the measures on the Trade Tariff.

Two codes are worth knowing because they are not about your data alone. CDS12036 means a new request cannot be sent until CDS has answered your previous cancellation or amendment request. CDS19999, "Additional errors found", is explained in HMRC's list as a declaration with multiple errors, and HMRC's advice is to contact the help desk.

Many tariff-related codes, including CDS40045 and CDS40066, trace back to the commodity code. Our guide to looking up a commodity code shows where the conditions and measures sit on the tariff.

CDS12158 and the Northern Ireland codes

CDS12158 is a good example of a code that points away from the field you might expect. HMRC describes it as "Missing Element - A non-GB EORI requires entry of NI Movement AI Codes in DE 2/2". The explanation in the list is that a relevant party on a Northern Ireland declaration has been entered with an XI EORI number, but none of the Northern Ireland additional information statements (NIIMP, NIDOM or NIEXP) are present.

So the fix is usually in DE 2/2, not in the EORI itself: add the Northern Ireland movement code that fits the goods. Neighbouring codes in the same list cover related mistakes:

Which code applies to a given movement is a Windsor Framework question; our guide for Northern Ireland traders sets out the background.

Fixing and resubmitting a rejected declaration

HMRC is direct about rejected declarations: "You cannot amend a rejected declaration." The process is to correct the data and submit a new declaration. For a pre-lodged import rejected on arrival, HMRC adds that you then follow the process for manually arriving the goods, and that a new declaration cannot be linked to the original goods movement reference in GVMS. That reference stays on hold and moves to complete after 7 days.

Third-party code lists drift out of date. Before you change a declaration on the strength of a code meaning, check it against the spreadsheet on GOV.UK, which HMRC updates.

Easy Clearance also keeps an English overview of common CDS rejection codes with notes on commodity code and procedure code problems.

Related guides

Declarations keep getting rejected?

Easy Clearance is a UK–EU customs clearance agency handling import and export declarations, T1/T2 transit and UK–Poland removals. Its English article looks at frequent CDS rejection causes.

See the Easy Clearance article

Sources

General information, not legal, tax or customs advice. Rules change; confirm current requirements on gov.uk or with a registered agent before you ship.