HS codes explained: how customs classification works for China imports
HS codes explained in plain terms: how the code is structured, why it sets your duty rate and VAT, and how to avoid misclassification importing from China.

On a first import from China, the HS code usually comes up in a broker email as a formality — “send the invoice, we’ll sort the code.” In practice it decides the real landed cost of a shipment as much as the factory price does: it sets the duty rate, the VAT rate, and whether an extra certificate is required at the border. A one- or two-digit error can reclassify furniture as “industrial goods” under a different duty rate, or leave a container sitting at the bonded warehouse. Here’s how the code system works and what to verify before goods ship.
What an HS code is and why it exists
HS (Harmonized System) is the international product classification maintained by the World Customs Organization. It covers essentially all world trade: every product, from a sofa to a faucet, has a 6-digit HS code assigned based on material composition, function, and level of processing — not brand or product name.
The point of the system is simple: customs authorities in different countries need to “speak the same language” about a product so that trade statistics, tariff agreements, and duty schedules stay comparable. The first 6 digits of the code are that shared language. Beyond that, each country or trade bloc adds its own digits on top, tailored to its own tariff policy.
National tariff systems built on top of HS
Every country runs its own extension of the HS core. The EU uses TARIC (10 digits), the EAEU (Russia, Belarus, Kazakhstan, Armenia, Kyrgyzstan) uses TN VED (10 digits), Ukraine uses UKTZED (10 digits), and Thailand and most ASEAN countries use an 8-digit national tariff. Each extension exists to set the exact duty rate and VAT treatment for that specific market.
This matters when sourcing for multiple markets at once: the first 6 digits of a given product’s code will be identical everywhere, but the full code — and the resulting duty — differs by country of import. The same wooden bed frame shipped to two different countries carries two different full codes.
How a code is structured, digit by digit
Take the code for a wooden bed frame — HS 9403.50:
| Digit group | What it means |
|---|---|
| 94 | Chapter: furniture, mattresses, lighting fixtures and similar items |
| 9403 | Heading: furniture, other (not seating) |
| 9403.50 | Subheading: wooden furniture for bedrooms |
| 9403.50.xx.xx | Full national code (10 digits under TN VED / UKTZED, 8 under most ASEAN tariffs) |
The first 4 digits (the heading) place the item in a broad category — “this is furniture” versus “this is tile.” The next 2 digits (the subheading) narrow it down by material and use. The national digits beyond that add the level of detail a specific country’s tariff needs — splitting tile by water absorption, for instance, or furniture by room type.
Why the exact code matters in practice
The code on a declaration sets three things at once:
- The duty rate — ad valorem (a % of customs value), specific (a fixed amount per kg or m²), or a combination of both. Neighboring subheadings can differ by 5–10 percentage points.
- The VAT rate — usually standard, but certain categories (children’s furniture in some jurisdictions) carry a reduced rate.
- Whether extra permits are required — conformity certificates, fire-safety declarations, phytosanitary documents for solid wood or rattan items. Some codes automatically trigger a document requirement that will hold the shipment at the border regardless of duty paid.
A related detail: the Packing List and invoice need to describe the product consistently with the code used. If the code declares “wooden furniture” but the product description reads “combination wood and metal furniture” with no dominant material stated, that mismatch is a routine trigger for inspection.
Codes for common sourcing categories
Indicative HS/TN VED codes for the categories most often sourced through Dream View:
| Category | Indicative HS code |
|---|---|
| Wooden bedroom furniture | 9403.50 |
| Upholstered furniture with a wood frame | 9401.61 |
| Unglazed ceramic tile | 6907 |
| Glazed tile / porcelain tile | 6908 |
| Bathroom fixtures (basins, toilets, tubs) | 6910.10 |
| Faucets and sanitary fittings | 8481.80 |
| Light fixtures and lamps | 9405.11 |
| Wooden doors and frames | 4418.20 |
| Machine-woven carpets | 5702 |
| Furniture hardware (hinges, handles) | 8302.41 / 8302.10 |
Treat this as a starting point for estimating cost, not a final answer: the exact full code depends on the item’s material, level of processing, and function, and needs to be confirmed against the specification — not assumed from the category name.
Common classification mistakes
- Classifying “by analogy” with a similar product. A sofa with a wood frame and one with a metal frame fall under different headings (9401.61 vs. 9401.71) — visually similar items are declared differently.
- Confusing a finished item with “parts.” Knock-down (KD) furniture is sometimes misdeclared as “furniture parts” instead of a complete item — this is a distinct subheading with its own duty rate, and getting it wrong in either direction is a compliance issue.
- Copying the supplier’s code without verification. A Chinese factory’s export invoice code is built on China’s own export nomenclature and does not map directly onto your country’s tariff code — it needs broker verification before it goes on a declaration.
- Ignoring material composition. A “marble-look” countertop made of engineered quartz and one made of natural marble fall under different HS groups with different duty rates — this mix-up is especially common.
How to avoid a misclassification
The practical sequence for a new product line — done before the goods ship, not after the container arrives:
- Lock down the exact material composition and intended use in the specification.
- Hand the description and photos to a customs broker for a pre-classification check.
- For borderline or unusual products, request a binding tariff classification ruling from the customs authority in the country of import — it costs money and takes weeks, but it’s cheaper than a month-long hold at the border.
- Confirm that the declared code, the invoice description, and the Packing List all describe the same product.
The same logic applies as with locking in Incoterms early: the sooner the formal contract details are fixed, the fewer surprises show up at the border.
Not sure which HS code applies to your product, or what customs clearance will actually cost? Send us the specification or factory invoice — we’ll verify the codes with a broker, calculate the real landed cost, and handle customs clearance end to end. Dream View’s fixed commission is 10% of the order value — learn more on our China sourcing agent services page.
Frequently asked questions
What is an HS code in plain terms?
The Harmonized System code is a numeric classification assigned to every traded product. Customs uses it to determine the duty rate, VAT, and whether the item needs a specific certificate before it can clear the border. Without the correct code, a shipment cannot be cleared at all.
Is the HS code the same as a national tariff code?
The first 6 digits are the international HS core, set by the World Customs Organization and shared by nearly every country. National tariff systems — the EU's TARIC, the EAEU's TN VED, Ukraine's UKTZED, Thailand's national tariff — add extra digits on top (typically 8–10 total) to set the exact duty rate for that country. The first 6 digits match everywhere; the full code does not.
Who assigns the HS code — the supplier or the importer?
Formally, the importer (or their customs broker) enters the code on the declaration and is responsible for its accuracy. A Chinese supplier's invoice often shows a code from China's own export nomenclature, which does not map one-to-one to your country's tariff code and should never be copied over without a broker checking it first.
What happens if the wrong HS code is used?
Customs either accepts the declaration and later reassesses duty plus penalties and interest on audit, or holds the shipment for inspection immediately. Either way the cargo sits at the bonded warehouse, and storage fees of $150–400 a day quickly outweigh whatever the direct-sourcing discount saved.
Can you confirm the exact code for an unusual product before shipping?
Yes — most customs authorities offer a binding tariff classification ruling: you submit a product description, material breakdown, and photos, and get an officially confirmed code before the goods ship. For borderline or mixed-material items — combination furniture, multi-material fixtures — it is worth getting this in writing rather than relying on a code chosen "by analogy" with a similar product.
Is the same product always classified under the same code in every country?
The first 6 digits (the HS core) are, almost everywhere. The full national code is not: the EAEU's TN VED runs to 10 digits, the EU's TARIC to 8–10, Thailand and most ASEAN countries to 8. The same sofa shipped to two different countries will carry different full codes, even though the first 6 digits match.
Sources
- WCO — What is the Harmonized System (HS)?(wcoomd.org)
- ЕЭК — Классификация товаров в соответствии с ТН ВЭД ЕАЭС(eec.eaeunion.org)
- European Commission — EU Customs Tariff (TARIC)(taxation-customs.ec.europa.eu)