Your parcel is sitting at an EU border facility right now. Not because the product is wrong. Not because the address is wrong. Because one line on the customs document a ten-digit number called an HS code is either missing, incorrect, or has been guessed at by a courier who does not know what you sell.
Your EU customer is waiting. They do not know why. You do not know why. The parcel does not move until customs gets the right code and the right duty calculation. Some customers wait. Most do not. They raise a chargeback, leave a review, and buy from a seller inside the EU next time.
This is the HS code problem. And from 1 July 2026, it became the most expensive gap in UK ecommerce.
What is an HS code?
HS stands for Harmonised System. It is a global product classification framework maintained by the World Customs Organisation, used by 200+ countries to categorise every physical product that crosses a border. The system assigns a numeric code to every category of goods from cotton hoodies to circuit boards to ceramic mugs so customs authorities anywhere in the world can identify what is inside a parcel without opening it.
The international standard is six digits. The EU extends it to ten digits, called the TARIC code. The UK uses its own ten-digit Commodity Code, based on the same six-digit foundation.
Here is how a real HS code breaks down, using running shoes as an example:
- 64 — Chapter: Footwear
- 6403 — Heading: Footwear with outer soles of rubber or plastics and uppers of leather
- 640391 — Subheading: Covering the ankle, other
- 6403911190 — Full 10-digit TARIC code: the exact classification EU customs uses to calculate duty
The duty rate applied to that parcel depends entirely on which 10-digit code appears on the commercial invoice. Get the chapter right but the subheading wrong and you pay the wrong duty rate. Leave the code blank entirely and the parcel does not move at all.
Why HS codes matter more than ever after 1 July 2026
Before July 2026, parcels valued at under €150 entering the EU from the UK were exempt from customs duty. They still required a customs declaration, but the absence of a precise HS code was unlikely to cause a hold the duty was zero regardless.
That exemption no longer exists.
From 1 July 2026, every B2C parcel entering the EU from outside regardless of value attracts a flat €3 customs duty per item classification, applied per distinct HS code heading in the parcel. EU customs now has a financial reason to check every commercial invoice, verify every HS code, and hold every shipment where the code is missing or incorrect.
This is not a theoretical risk. It is the operational reality of every EU-bound shipment dispatched from a UK WooCommerce store since Tuesday this week.
One missing HS code does not hold one product. It holds the entire parcel every item inside it until customs receives a corrected declaration. Your customer waits. Most stop waiting.
How HS code errors actually happen in a WooCommerce store
There are three failure points that cause HS code errors on WooCommerce EU orders. Understanding them is the first step to eliminating them.
Failure point 1 No HS code assigned at all
The majority of UK WooCommerce stores have never assigned HS codes to their products. WooCommerce has a field for it under Product Data → Shipping → HS Tariff Number, but it has always been optional. Before July 2026, EU shipments cleared without it because the duty was zero. Most store owners never needed to find out it existed.
If your products have no HS code, your commercial invoice has no HS code. If your commercial invoice has no HS code, every EU-bound parcel is missing the single most important field on the customs declaration.
Failure point 2 Wrong HS code assigned
Some store owners have assigned HS codes manually often by Googling the product name and using the first result they find. This is more dangerous than no code at all, because it creates a specific wrong duty calculation that customs can challenge.
Consider "wireless earbuds." A quick search suggests they might be classified under 8518 (microphones and loudspeakers), 8517 (telephone sets and telecommunications apparatus), or 8522 (parts and accessories for audio equipment). Each heading carries a different duty rate. If you assign 8518 and customs determines the correct code is 8517, the duty calculation is wrong, the invoice is flagged, and the parcel is held for manual review.
Failure point 3 — Courier guessing on your behalf
Many couriers offer "customs handling services" that include HS code assignment. What this usually means in practice is that their system applies a broad, generic classification to your products based on a short product description a best guess at speed and scale. For straightforward products like plain T-shirts, this works most of the time. For anything with technical components, materials specifications, or multiple-use classification clothing with embedded electronics, cosmetics with active pharmaceutical ingredients, food supplements, art prints the courier's generic code is frequently wrong.
When it goes wrong, the correction request goes to you, not the courier. You are the exporter of record.
How to find the correct HS code for your products
The authoritative source for UK exporters is the UK Trade Tariff at trade-tariff.service.gov.uk. For EU destination codes specifically, you need the EU's TARIC database at taxation-customs.ec.europa.eu.
The manual process for finding a correct HS code looks like this:
- Step 1 Identify the product's primary function. A product is classified by what it primarily does, not what it is made of or what it looks like. A cotton bag that primarily functions as a shopping bag is classified differently from a cotton bag that primarily functions as a cosmetics pouch.
- Step 2 Navigate to the correct Chapter. The HS system has 97 chapters. Chapter 61 covers knitted clothing. Chapter 62 covers woven clothing. Chapter 63 covers other textile articles. Getting the chapter right matters before anything else.
- Step 3 Find the correct Heading (4 digits). Within the chapter, headings break products down by type, material, and use. This is where most manual errors occur the heading descriptions use technical trade language that requires interpretation.
- Step 4 Select the correct Subheading (6 digits). The international standard stops here. For EU shipments from the UK, you need to go further.
- Step 5 Apply the full 10-digit TARIC code. The last four digits are EU-specific. They determine the exact EU duty rate, any anti-dumping measures, and any country-of-origin preferences.
For a store with 5 products, this is manageable in an afternoon. For a store with 50 products, it is a full working day. For a store with 200+ products, it is a project that requires specialist knowledge.
And after you have done it once, you have to keep it current — because the TARIC schedule is updated annually and classifications do change.
The HS code accuracy problem at scale
Let us be specific about the scale of the problem in a typical UK WooCommerce store.
Say your store sells 40 products a mix of clothing, accessories, and home goods. You ship 25 EU orders per day. Every order can contain 1–5 products. Each product needs its own correct 10-digit TARIC code on the commercial invoice.
If you do this manually:
- Initial classification of 40 products: estimated 8–12 hours
- Manual invoice production per order: 5–15 minutes each
- 25 orders per day: 2–6 hours of daily admin
- Error rate on manual classification: industry estimates put it at 15–30% for non-specialist operators
A 20% error rate on 25 daily orders means 5 parcels per day with a wrong or missing HS code. At 5 parcels per day, even if only half are held at the border, you are managing 2–3 customs queries every single day, in addition to running your store.
This is why HS code automation is not a nice-to-have for UK WooCommerce stores shipping to the EU. It is the operational core of post-July-2026 EU fulfilment.
How ManageDuty handles HS code classification automatically
ManageDuty connects to your WooCommerce store via REST API. When an EU order is placed, the webhook fires in under a second.
Here is what happens to the HS code specifically:
- The AI reads the product. It processes the product title, full description, and WooCommerce category. It does not rely on a keyword match — it understands the product's primary function, material, and use case at the level that customs classification requires.
- The AI assigns a 10-digit TARIC code. For UK→EU shipments, this is the EU's full TARIC code not just the 6-digit HS heading, not a UK commodity code. The correct code for the destination jurisdiction.
- The code is verified in real time. Every classification is checked against the HMRC UK Trade Tariff API before it appears on the invoice. If the API returns a conflict, the system flags the order for review.
- A confidence score is assigned. For straightforward products (plain T-shirt, ceramic mug, cotton tote bag), confidence is high and the invoice generates automatically. For ambiguous or complex products (multi-component electronics, cosmetics with active ingredients, food supplements), the system flags the specific line for optional human review before the PDF is generated.
Current classification accuracy: 96% across all product types processed through the system. For the 4% flagged for review, the system provides the top three alternative codes with duty rate comparisons, so your review takes 30 seconds rather than 30 minutes.
The commercial invoice PDF with the correct 10-digit TARIC code, the correct EU duty amount, and the correct destination VAT rate lands in your inbox before your packing team has finished printing the shipping label.
The five HS code mistakes UK WooCommerce sellers make right now
1 — Using the UK Commodity Code instead of the EU TARIC code
These are related but not identical. For UK domestic exports, you declare using the UK Commodity Code. For EU customs purposes, the relevant code is the 10-digit EU TARIC code. In many cases they match at the 6-digit level but diverge in the final 4 digits. The EU customs system does not accept UK-format codes.
2 — Using a 6-digit HS code instead of the full 10-digit TARIC code
The international HS standard is 6 digits. The EU requires 10. Submitting a 6-digit code on an EU commercial invoice is incomplete. Customs will request the full TARIC code before clearing the shipment.
3 — Classifying by material instead of function
HS classification is function-first, not material-first. A product made of leather but whose primary function is a phone case is not classified under leather goods (Chapter 42) it is classified under cellular phone accessories (Chapter 85). Classifying by what something is made of rather than what it does is the most common manual error.
4 — Using one HS code for a product bundle
If your WooCommerce store sells bundles a skincare set, a gift kit, a starter pack each component needs its own HS code on the commercial invoice. Submitting one code for the bundle as a whole is incorrect. Customs will classify each item separately when they examine the parcel.
5 — Never updating HS codes after initial assignment
The TARIC schedule updates annually. Products that change formulation or specification may shift to a new heading. A code that was correct in January may not be correct in July. Manual HS code management requires an annual audit of your entire product catalogue against the current TARIC schedule.
What happens when an HS code is challenged at EU customs
If EU customs disputes the HS code on your commercial invoice, the sequence runs like this:
- The parcel is flagged and placed in a holding facility
- The EU customs authority issues a query to the importing party (your customer or their appointed customs agent)
- A request for clarification or a corrected invoice is made to the shipper you
- You must produce a corrected commercial invoice with the accurate HS code
- If the correct code carries a higher duty rate than the original, the difference is assessed and must be paid before clearance
- Resolution time: typically 3–14 business days
During those 3–14 days, your customer is waiting. In most cases, they are not told clearly why their parcel is delayed they see "held at customs" with no explanation. By day 3, a significant proportion of consumers contact their bank to dispute the charge.
You have now lost the sale, lost the product (in most cases), and received a chargeback. The HS code error cost you the sale price plus the return shipping plus the chargeback processing fee.
All because of a ten-digit number on a PDF.
Stop losing EU sales to a customs form. Your first 20 orders are free. Connect your WooCommerce store — bullsnext.com/manage-duty
ManageDuty: start with 20 free orders
ManageDuty handles HS code classification, commercial invoice generation, duty calculation, and destination VAT automatically on every EU order, from the moment it is placed, in under three seconds.
- Free Trial — 20 orders, 7 days, no card required
- Starter — £29/month for up to 100 orders
- Growth — £79/month for up to 500 orders
- Pro — £199/month for up to 2,000 orders + account manager
Five-minute setup. No code. No developer. Your first EU order after connecting generates a compliant commercial invoice with a verified HS code automatically.

