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:
- Obligation error: a required data element (DE) is missing, or one is present that is not allowed.
- Format or domain error: a value has the wrong format or is not a recognised code for that declaration.
- Relation error: two or more values do not fit together, for example a procedure code and a document code.
- Authorisation, licence or DAN error: CDS could not match an EORI, VAT number, authorisation, licence or deferment account to the parties on the declaration.
A few codes and what HMRC says they mean
| Code | HMRC description (shortened) | What to check |
|---|---|---|
| CDS10001 | Mandatory data element has not been provided | A DE is missing or incomplete; HMRC's example is a party address without name, street, country or postcode. |
| CDS10020 | Data element contains invalid value | A code is not recognised, not allowed on this declaration type, or entered at the wrong level (header or item). |
| CDS12003 | Reuse of LRN (DE 2/5) not allowed within 48 hours | Change the LRN or add a version suffix, using letters and numbers only. |
| CDS12005 | Party ID unknown or invalid | An EORI or VAT number is not recognised or not permitted in that DE. |
| CDS12056 | The combination of elements is not allowed | Two values clash or one requires another, such as an additional procedure code that needs a second code. |
| CDS12057 | Invoice currency must be the same for every goods item | Align the currency across items (DE 4/14). |
| CDS12125 | DAN error | The 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. |
| CDS40007 | Duplicate value | For example, the same additional code declared twice on one item. |
| CDS40045 | Missing document | A licence or exemption is required; check the conditions for the commodity code on the Trade Tariff and whether a waiver code applies. |
| CDS40066 | Tariff condition not fulfilled | A 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:
- CDS12141: NIDOM and NIIMP must not be entered together on the same declaration.
- CDS40070 to CDS40072: when NIIMP, NIDOM or NIEXP is entered at item level, it must be declared on all goods items.
- CDS12157: a relevant party must have a permanent business establishment in Northern Ireland or the EU for an NI declaration.
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.
- Read every code in the DMSREJ, not just the first; one rejection can carry several.
- Look each code up in HMRC's current spreadsheet and read the explanation column.
- Go to the data element the error points at and check related fields too, since relation errors involve more than one value.
- Resubmit as a new declaration with a fresh local reference number or a version suffix, so you do not trigger CDS12003.
- For a denied amendment (DMSREQ), HMRC's guidance allows a corrected amendment, or a nil-change amendment to pause the declaration until the error is fixed.
- Wait for the new DMSACC before telling the haulier the paperwork is done.
Easy Clearance also keeps an English overview of common CDS rejection codes with notes on commodity code and procedure code problems.
Related guides
How to use the UK Trade Tariff to find a commodity code and duty rate
Importing furniture from Poland to the UK: a business guide
EU sellers sending stock to UK fulfilment warehouses
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 articleSources
- Customs Declaration Service error codes (GOV.UK)
- What to do if a pre-lodged import declaration is rejected on arrival (GOV.UK)
- Receiving notifications, Customs Declarations End-to-End Service Guide (HMRC)
- Amend or cancel a Customs Declaration Service import declaration (GOV.UK)
General information, not legal, tax or customs advice. Rules change; confirm current requirements on gov.uk or with a registered agent before you ship.