The code decides more than the tax
A commodity code — built on the Harmonized System maintained by the World
Customs Organization, extended with further digits by individual jurisdictions —
is the classification that tells a customs authority what the goods are.
It determines three separate things, and candidates usually name only the first.
The duty rate. Different codes attract different percentages, and the gap
between two plausible classifications of the same item can be substantial.
Which controls apply. Licensing, quotas, sanitary and phytosanitary
requirements, dual-use export controls. Some codes cannot move without a permit,
and no amount of paperwork elsewhere substitutes.
Whether preferential treatment is available. Trade agreements reduce or
eliminate duty for goods of a qualifying origin, and eligibility is expressed per
code.
So two codes on identical goods is not a tidiness problem. It means two
different amounts of tax were paid, and possibly that a control was applied to
one shipment and skipped on the other.
It is the importer's liability, not the broker's
The common misconception, and worth being direct about. A customs broker or
freight forwarder submits the declaration, and in most regimes the importer of
record is legally responsible for its accuracy — including the classification,
even when a third party chose it.
Practically that means "the broker picked it" is not a defence when an authority
reassesses, and the reassessment can reach back years and arrive with interest
and penalties. It also means the importer needs its own view of the correct
code rather than inheriting whatever appeared on the last declaration, which is
precisely what a system should be providing.
The other two pillars
Classification is one of three inputs, and an interview will usually probe
whether you know the others.
Origin is where the goods are considered to have been produced, which is not
the same as where they shipped from. Goods assembled in one country from parts
made elsewhere have rules deciding which country counts, and origin determines
whether a trade agreement's preferential rate applies. Claiming preference
requires evidence, and claiming it wrongly is a common finding.
Customs value is what the duty percentage is applied to. It is usually based
on the transaction price with defined adjustments, and the awkwardness is that
the invoice value and the customs value are frequently different figures — a
distinction that surprises engineers building an integration and assuming one
field serves both.
Code, origin, value. Get any of the three wrong and the declaration is wrong.
Classification is master data, not a shipment field
The design failure behind the question is treating the code as something entered
per shipment. Entered per shipment, it varies per shipment — by who typed it, by
which broker, by whether anyone checked.
It belongs on the product, as governed master data with an owner, a
justification and a history.
product SKU-44120, cotton knitted t-shirt
code 6109.10 (jurisdiction-specific digits appended per market)
assigned_by trade compliance
basis note on file: knitted, >85% cotton
effective_from 2024-03-01
reviewed 2026-01-14
ruling_ref none
The fields that people leave out are the ones that matter under audit. Basis
records why this code and not the adjacent one, which is the question an officer
asks. Effective dates matter because the nomenclature itself is revised
periodically, so a code valid three years ago may no longer exist and historical
declarations must remain explicable against the version in force then.
Where a classification is genuinely contested or commercially significant, an
importer can seek a binding ruling from the authority, which fixes the
treatment. Recording the ruling reference against the product is what turns a
judgement into a defence.
Detecting the inconsistency you already have
The practical engineering contribution is usually not choosing codes — that is a
trade compliance specialism — but making divergence visible.
The useful checks are unglamorous. Reconcile declared codes against the master
record per shipment and report mismatches, because the divergence is often
between what you told the broker and what they filed. Look for one product
declared under several codes across a period. Look for one code covering
implausibly many distinct products, which is the signature of a catch-all
someone used to get a shipment moving. And compare duty paid per unit across
shipments of the same product, since a step change is a classification change
somebody made without telling anyone.
When you find you have been wrong
The last question is the uncomfortable one, and the answer is not "quietly start
using the right code".
Most regimes provide a route for voluntary disclosure of a past error, and
using it typically produces a materially better outcome than being found — often
reducing or removing penalties, though the duty and interest remain owed.
Switching silently leaves an unexplained discontinuity in your own filing
history, which is exactly the pattern audit selection looks for.
That decision belongs to trade compliance and legal rather than to engineering.
What engineering owes them is the ability to answer, quickly and defensibly:
which shipments used the wrong code, over what period, for what value, in which
jurisdictions. A system that can produce that list in an afternoon changes what
the conversation with the authority looks like.
The code is the importer's legal statement about their own goods. Two codes for
one product is not untidy data, it is two different tax positions on the same
thing, and the inconsistency is what gets noticed.
© 2026 Preptima. Originally published at preptima.com (opens in a new tab).