DMS120AA
Also known as: invalid goods code, GOEDERENCODE ONGELDIG
DMS120AA is the error code GOEDERENCODE ONGELDIG BIJ GOEDERENCLASSIFICATIE in table A99. The code you declared does not exist in the tariff data DMS uses for this declaration, or it does not fit the classification field.
What does DMS120AA say according to the code book?
In the Codeboek Douane of 17 February 2026, DMS120AA carries: GOEDERENCODE ONGELDIG BIJ GOEDERENCLASSIFICATIE. It is an acceptance-blocking error. The code you put in the classification block is not accepted. There is no MRN until the classification is a valid key in the tariff table that DMS reads for this declaration date. Invalid here means: not known in the tariff table on the date of the declaration, or not valid in combination with the type of classification. A ten-digit TARIC code that expired on 1 January is invalid. A six-digit HS code in a field that requires ten digits is invalid. A national subdivision in the wrong format too, and for that DMS10011 and DMS10012 also exist. The location names Classification and often IdentificationTypeCode. TRC is TARIC. Other types are national or additional codes. Anyone who corrects the TRC while the error sits on an additional code keeps 120AA. The official description is about goods classification, not only about the TARIC heading.
Why does a code that worked last month fail?
The Combined Nomenclature changes every year on 1 January. Codes expire, split or get a different measure. An article file that passed DMS in December can fall on 120AA in January, on hundreds of lines at once. The article is the same. The key in the table is not. TARIC changes more often than yearly. A preference, a prohibition or an extra document code can land on the code in between. 120AA is then not always the message. Sometimes a mandatory rule or a document code follows. 120AA itself is the hard one: this code does not exist here as a valid classification. A typing error is the third source. A swapped digit, a space, a code of eight digits in a field of ten. DMS checks format and existence. Cosmetics in the goods description do not change the code. Pasting from a spreadsheet that stored the code as a number can drop leading zeros, so the value you sent is not the value you thought you sent.
How do you check the code before you file again?
Check the ten-digit code against the DTV and against EU TARIC on the declaration date, not against an internal list from last year. If the code exists, then look at whether the classification type is right: TARIC where TARIC belongs, additional code where the heading requires it. For e-commerce in DECO a six-digit code as a rule suffices. If you file the same consignment as IMA in DMS, the field requires ten digits. 120AA is then the result of the wrong channel, not of a wrong classification on the substance. Choose IMA only when the consignment belongs in the full Dutch declaration. Choose DECO when it belongs in the H7 set. A code that exists in TARIC but needs a different additional code for this country of origin can come back as an invalid combination on related messages, such as DMS114AA. Read 120AA as: DMS does not accept this classification itself. The combination with origin is a later check, after the code exists.
What is the difference with a wrong classification that does exist?
An existing but substantively wrong code gets through DMS. You get an MRN, the wrong rate, and later a check or a recovery. 120AA stops earlier: the code is not a valid key in the table. That is a blessing, because you notice it before acceptance. Treat 120AA as a stop sign, not as a nudge to pick any neighbouring heading that happens to exist. So do not correct to the nearest code that happens to exist. Check the description, the composition and the function of the article, and choose the heading that belongs with it. An existing heading that is wrong on the substance is more expensive than 120AA. In chemicals and automotive that is extra sharp. A code that pulls an authorisation you do not have, or a VIN rule without the right heading, can surface at the check only after a forced existing code. 120AA asks for the real heading, not for a heading that silences the rejection.
How do you prevent 120AA in an article file?
Keep per article the ten-digit code, with the date on which you last checked it against DTV and TARIC. Plan that check before the year turn, not after. Mark codes that disappear in the draft nomenclature. A list of doomed headings in November is cheaper than a morning of 120AA on 2 January. Per client the same physical consignment can have a different mapping if the invoice description is different. That is no reason to invent the code in the file. It is a reason to keep the mapping per client and to check it. DMS uses the Dutch tariff link. A code that still lives in another member state can already be gone in the Dutch table, or the other way round. For a declaration in DMS the table that DMS reads on that day counts. Check DTV, then file.
What do you do with the location at item level?
GoodsItem[n] is the line. Classification[IdentificationTypeCode=TRC] is the TARIC code on that line. A consignment with two hundred lines can give 120AA on line 17 and leave the rest standing. Correct line 17, not the whole batch, unless the mapping is structurally wrong. If you get 120AA on many lines at once, the mapping or the year turn is the cause. One article card with an expired code, a hundred files. First the card, then the open declarations. DMS19999 can sit next to 120AA if more errors were found than shown. Correct the classification you can see, file again, and read the next response. Keep the message on the file. In a discussion about the classification, 120AA is the proof that the old code no longer even exists as a key. That is a different conversation from a discussion about the rate of an existing heading. The Nationale Helpdesk Douane can confirm that the code is unknown in the table. They will not classify the article for you.