HS, HTS, CN, TARIC: what the digits actually mean
Someone sends you a commodity code. It has eight digits. Someone else sends ten for what looks like the same product. A third document has six.
None of them is wrong. They're answering the same question at different depths, and only one of those depths means the same thing everywhere in the world.
The first six digits belong to everyone
The Harmonised System is maintained by the World Customs Organisation and adopted by around 200 countries and territories. Six digits, structured as three pairs, and each pair narrows the last.
The first two are the chapter. Chapter 62 is articles of apparel, not knitted or crocheted. The next two give you the heading: 6205 is men's or boys' shirts. The last two are the subheading: 6205.20 is men's cotton shirts.
Those six digits mean the same thing in Delhi, Dubai, Rotterdam and Los Angeles. That's the entire point of the system and it genuinely works. Get the HS6 right and you've said something true about your product that every customs administration on earth will recognise.
Worth knowing what sits alongside the numbers: the Explanatory Notes and the Section and Chapter Notes. The notes are legally binding text that tells you what a heading includes and excludes, and they routinely override what the heading title appears to say in plain English. A lot of classification disputes are really disputes about a chapter note that one party read and the other didn't.
After six, every country goes its own way
Beyond HS6 the digits are national, and each administration adds layers for its own reasons — revenue, statistics, trade policy, or all three.
The US uses the HTS, ten digits. Digits seven and eight determine the duty rate. Nine and ten are statistical suffixes that don't change what you pay but do change what you're required to report. The EU uses the Combined Nomenclature at eight digits, then TARIC extends it to ten to carry the measures layer — anti-dumping duties, tariff quotas, suspensions, surveillance, prohibitions. The UK runs its own ten-digit tariff, forked from TARIC at Brexit and drifting a little further each year as the two sides make different decisions about the same goods. India uses eight-digit ITC (HS). China uses ten in some chapters.
So a code beyond six digits only means something when you also say which country's schedule it came from and in which year. "6205.20.2010" is an HTS code. It is not a CN code. It is not a UK code. Pasting it into an EU declaration produces something that either fails validation or, much worse, doesn't.
The mistake this causes
Here's how it goes wrong in practice, and it goes wrong constantly.
A supplier in one country sends a ten-digit national code. Somebody downstream needs eight digits because that's what the destination's field accepts, so they truncate. Chapter's right. Heading's usually right. Digits seven and eight are now describing a subdivision that either doesn't exist in the destination schedule, or exists and means something else entirely.
Nothing errors. The field is numeric and the right length. The declaration goes through. Duty is assessed on whatever that code says in the destination country, which might be lower than what's due, and you find out at audit — with interest, penalties, and a retrospective correction across every entry that used the same product master record.
The reverse failure is quieter still. Padding a six-digit code with zeros to reach eight or ten. In several schedules that lands on a valid code with a completely unrelated meaning, and it will clear.
The safe move is to treat HS6 as the only thing you transfer between jurisdictions, and re-derive the national digits locally against that country's current schedule. That's more work. It's also the only version that survives an audit.
The schedules move
One more thing worth internalising. The WCO revises the HS every five years, and at each revision codes get created, merged, split and retired. HS2022 created new headings for things that barely existed in 2017. HS2028 will do the same again.
National schedules change far more often than that. The EU publishes a new CN annually and amends TARIC continuously — measures come into force on specific dates and expire on specific dates. The US updates the HTS several times a year. Trade remedies land with days of notice.
Which means a code isn't just country-specific. It's country-and-date-specific. A correct classification from three years ago may now point at a subheading that no longer exists, or one that exists and has been re-scoped. And the duty rate you calculated is a fact about a particular day, not a property of the product.
That has a direct consequence for how you store this. If your product master holds a commodity code as a single string with no country and no effective date attached, you don't have a classification. You have a number somebody wrote down once, and no way to tell whether it was right at the time, is right now, or was ever right anywhere in particular.
The minimum record is code, country, schedule version or effective date, who or what decided it, and what evidence they had. Everything downstream — landed cost, duty accrual, audit defence, retrospective correction — needs at least four of those five.
Next week: what happens when the code you need isn't obvious from the schedule at all, and the six rules that decide it.
