How to Classify Goods for UK Customs: HS and Commodity Codes Explained
Every shipment rests on one decision: the code that fixes the duty rate, the trade-agreement eligibility and the compliance risk. A practical guide to how HS and UK commodity codes actually work, why classification goes wrong, what happens when it does, and what automated classification tools can and cannot do for an importer.

By Saurabh Goyal, Founder & CEO of Phlo Systems. Published 5 November 2026.
At a glance
Every shipment that crosses a border rests on one decision made long before the goods arrive: which code describes them. Get the code right and duty, VAT, licensing and trade-agreement eligibility all follow correctly. Get it wrong and the error compounds silently — HMRC can go back and reassess years of declarations once a misclassification is found, not just the one shipment that triggered the review. This is a practical guide to how classification actually works, why it is harder than it looks, and what "automatic" classification tools can and cannot do for an importer or exporter.
The World Customs Organization's Harmonized System (HS) is the starting point: more than 200 countries and customs territories use it, and the WCO states that over 98% of the goods moving in world trade are classified under it. That scale is also why classification sits at the centre of so much trade compliance risk — a system built to cover nearly everything traded, applied line by line to goods it was never written with any one company in mind to describe.
What a commodity code actually is
The HS code itself is six digits, organised into 21 sections and roughly 5,000 commodity groups, and it is the same six digits in the UK, the EU, the US, India, South Africa and everywhere else that uses the system. Beyond those six digits, every country adds its own extension. In the UK, HMRC's Trade Tariff tool builds out a full ten-digit commodity code: the international six digits, plus a further four that are entirely the UK's own, covering the detail that actually decides your duty rate, any anti-dumping measure, and whether the line needs an import licence.
That split matters more than it sounds. Two importers can agree completely on the first six digits of a code — "this is frozen boneless chicken" or "this is a cotton woven fabric" — and still end up with materially different duty bills, because the disagreement lives in the national digits that decide, for example, whether the chicken is a cut that falls under a tariff quota, or whether the fabric's weight and weave put it in a different subheading with a different rate. The six digits get you into the right neighbourhood. The remaining digits decide what you actually owe.
Why classification is genuinely hard
Three things make this harder than "look up the product in a list":
Goods rarely map cleanly onto one heading. The HS was written to classify physical characteristics — material, function, state of manufacture — not commercial categories. A product that a buyer calls "a smart fitness tracker" might, depending on its features, classify as a watch, a data-processing machine, a radio transmission apparatus, or something else entirely, and each of those headings carries a different duty rate. The classifier's job is to work from the General Interpretative Rules (GIR) that the HS itself sets out — essential character, most specific description, and so on — not from how the product is marketed.
The same product can classify differently depending on form. Raw cocoa beans, cocoa paste, cocoa butter and chocolate bars with added sugar are all "cocoa" to a trader, but they sit in different chapters of the tariff with different rates, because the HS classifies by what the product is at the point of import, not what it started as or will become. A trading company that moves between raw and processed forms of the same underlying commodity needs a correct code for each state, not one code reused across the portfolio.
Classification is a judgment call, and the importer carries the liability for it. HMRC's own Trade Tariff tool is a starting point, not a ruling — it does not classify your specific goods for you, and a customs broker's suggestion is exactly that, a suggestion. The importer of record is legally responsible for the code declared, whoever actually typed it in. For genuine uncertainty, HMRC offers Binding Tariff Information (BTI) rulings, which are free, legally binding for the importer who requests them, and typically take some weeks to come back — useful for a recurring product line, far too slow for a shipment that needs to clear next week.
What happens when the code is wrong
Misclassification rarely surfaces at the border. Customs systems are built to let declarations through and check them later, which means an incorrect code can sit unnoticed through dozens or hundreds of shipments before a post-clearance audit, a change of broker, or a routine HMRC compliance check catches it. At that point, the exposure is not one shipment — it is every declaration made under that code, going back as far as the review reaches, because the underlying error was never shipment-specific in the first place.
The consequences stack in a predictable order:
- An underpayment demand for the duty that should have been paid, across every affected declaration, sometimes running to years of trade.
- Interest on the underpaid amount from the original declaration date, not the date the error was found.
- A civil penalty, where HMRC judges the error careless or deliberate rather than an honest mistake — the test is whether reasonable care was taken, not whether the importer intended to underpay.
- A pattern of errors raising the importer's compliance profile, which tends to mean more frequent documentary checks and physical examinations on future shipments, slowing down trade that was previously routine.
- Supply-chain disruption, if the correction affects pricing commitments already made to customers on the assumption of one duty rate.
The asymmetry is the real lesson here: overpaying duty because a code is too conservative costs margin quietly, every shipment, and nobody notices for years (see our companion piece on reclaiming overpaid UK import duty). Underpaying because a code is too generous costs nothing until it costs everything at once, with interest and a penalty attached. Both failure modes come from the same root cause: nobody checked the code carefully enough when the product first moved.
How classification actually gets done today
Most small and mid-sized importers classify goods one of three ways, and each has a real limitation:
A broker classifies on your behalf. This is the default for most companies without an in-house trade compliance function, and it works well for a stable, familiar product range. Its limit is volume and judgment transfer: a broker handling dozens of clients' declarations is working from the product description you give them, not a physical inspection, and the liability for the code still sits with you as the importer of record, not with the broker who suggested it.
Someone in-house uses HMRC's Trade Tariff tool directly. This is free and authoritative for looking up a rate once you already know the heading, but it is a lookup tool, not a classifier — it will not tell you which of several plausible headings is correct for an ambiguous product. For a genuinely new product line, working through the GIR by hand, heading by heading, is slow and requires training most commercial teams do not have.
Nobody checks a new product line carefully, and it inherits the code of "something similar." This is the quiet, common failure mode. A new variant of an existing product gets the old code because nobody re-ran the classification, and the two products are similar enough that the error is never obviously wrong — it is just quietly incorrect, the exact pattern that produces a multi-year correction when it eventually surfaces.
What automated classification can and cannot do
Software-assisted classification has improved a great deal in the last few years, and it is worth being precise about what it actually does, because the marketing claims around "AI customs classification" tend to run ahead of the legal reality.
What it does well: given a plain-language product description, or in some tools a photograph, a well-built classifier can suggest a commodity code with the GIR-based reasoning behind the suggestion — essential character, composition, function — written out so a human reviewer, or a broker, can check the logic rather than taking the output on faith. This is the single biggest practical improvement over a bare lookup tool: the reasoning is visible and auditable, not a black box.
What it does not do: it does not shift the legal liability for the code off the importer of record, and it does not replace a BTI ruling for a genuinely contested classification. Any tool — ours included — is a drafting aid that produces a well-reasoned suggestion for a human or a broker to check, not a system that classifies goods with legal finality. Treat "automatic" classification as automatic drafting with automatic reasoning, not automatic liability transfer.
This is also where classification connects directly to three other compliance questions that most importers handle separately, when they are really one workflow: once you have the right code, you know the correct duty rate, whether a free trade agreement could reduce or remove that duty, and what the full landed cost looks like once VAT, excise and freight are added. We built tradePhlo Intelligence around that connection rather than treating classification as a standalone lookup: describe your goods in plain language or from a photo and get a suggested commodity code with the reasoning behind it, across 51 countries including the UK, EU, US, India, South Africa and China, each with its own local tariff schedule and preferential rates. The same workflow checks which free trade agreements could apply to a line and what the preferential rate would be before you ship, and brings duty, VAT, excise and freight together into one incoterm-aware landed cost, so classification is the first step in an answer rather than a separate task that someone has to remember to connect to the others. It runs as connected apps inside Xero and Acumatica for teams who want it in the ERP they already use, with an API for everyone else, and self-service plans start at £14 a month.
None of this replaces a customs broker's judgment on a genuinely contested line, and it should not. A broker checking a suggested code with the reasoning already written out can work through more classifications with more confidence than one working from a bare product description and a blank page — the tool makes the broker faster and more consistent, it does not make the broker unnecessary.
What to do this week
If you have not re-checked your classification in the last year, three things are worth doing before anything else:
- Pull your last 12 months of commodity codes and group them by product line. Any line where the same code covers products that have changed — a new supplier, a new material, a new manufacturing step — is worth a fresh look, because that is exactly where an inherited, now-incorrect code tends to hide.
- Check which of your current suppliers or lanes are covered by a free trade agreement you are not claiming. The most common missed saving is EU-origin goods moving under the UK-EU Trade and Cooperation Agreement that were never checked for preference, but the UK now has agreements covering a long list of countries, and a new one came into effect with India in 2026 — any of these can turn a standard-rate line into a reduced or nil-rate one if the origin evidence exists.
- For your highest-volume or highest-risk product, consider a BTI ruling. It costs nothing, it is legally binding on HMRC for that importer, and it removes the classification question entirely for that product going forward — the only cost is the few weeks it takes to come back, so it is worth starting now for anything you plan to keep importing.
The thesis, restated
Classification looks like paperwork, but it is the single decision that every other customs compliance question depends on: the duty rate, the trade-agreement saving, the landed cost, and the audit risk all trace back to one code, chosen once, usually by whoever was available that week. Treat it as the starting assumption everything else is built on, check it when the product changes rather than when HMRC asks, and get the reasoning written down — whether that is a broker's note, a BTI ruling, or a tool that shows its working — so the decision can survive being checked by someone other than the person who made it.
Related reading:
- Can you claim back overpaid UK import duty? A practical guide to duty recovery
- What is landed cost, and why is my customs broker's number always wrong?
Saurabh Goyal is the Founder & CEO of Phlo Systems. tradePhlo Intelligence, Phlo's customs classification and duty product, covers 51 countries.
Want to learn more about Phlo Systems?
See how our platform digitises international trade for commodity traders, importers, and exporters.
Get Started

