Life Built in Canada

How to Classify Your Product with an HS Code (Canada): A Small Importer’s Guide

How to Register a Small Business in Canada as a Sole Proprietor (2026 Step-by-Step)
📋 Free download

Get the Supplier Due Diligence Checklist

Vet overseas suppliers before you send money — plus one honest email of Canadian business lessons a month. Unsubscribe anytime.

Newsletter Signup

By requesting the checklist, you agree to receive the checklist and occasional emails from Life Built in Canada. You can unsubscribe anytime.

📋 Free download

Get the free Supplier Due Diligence Checklist

Vet overseas suppliers before you send money — plus monthly Canadian business lessons. No spam.

The first time I imported bedding for Kind Loom, I thought the hard part was finding the right supplier in India. Then the customs paperwork asked me for a 10-digit classification number, and I realized a single wrong digit could change my duty rate — and my whole landed cost — before a single order shipped. If you’re bringing product into Canada, understanding HS codes isn’t optional busywork. It’s the number that quietly decides how much you pay.

What an HS code actually is

HS stands for the Harmonized System, a global product-coding standard maintained by the World Customs Organization. The first six digits are identical in every member country, so a product that’s 6302.31 in Canada is 6302.31 in India or the United States too. Canada then adds four more digits — building an eight-digit tariff item plus a two-digit statistical suffix — to create the full 10-digit classification number the Canada Border Services Agency (CBSA) wants on your import documents.

That number is how CBSA knows what you’re importing, what duty rate applies, whether GST is collected at the border, and whether any special rules, permits, or restrictions attach to the goods.

Why your HS code sets your duty rate

Duty in Canada isn’t one flat percentage. It’s tied directly to the classification. Two products that look almost the same to you can sit in different tariff items with very different rates — textiles and apparel in particular can run anywhere from 0% up to 18% or more. Get the code right and you pay the correct (often lower) rate. Get it wrong and you either overpay for years without noticing, or underpay and risk a reassessment, interest, and penalties later.

The official rates live in the CBSA Customs Tariff, which is updated regularly, so always check the current version rather than an old screenshot from a forum.

How to find your code in the Customs Tariff

The Customs Tariff is organized into 97 chapters, then headings, then subheadings. Here’s the process I follow:

  • Start with the broad chapter (for me, textiles live in Section XI, roughly chapters 50 to 63).
  • Read the Section and Chapter Notes at the top — they contain legal definitions and exclusions that override what you’d assume from the plain-language description.
  • Narrow to the heading and subheading that best matches the material, construction, and function of your product.
  • Cross-check with the Canada Tariff Finder, which is a friendlier search tool, but treat the Customs Tariff itself as the authority.

Classification follows a legal framework called the General Rules for the Interpretation, so the “most specific description” wins — not the one that sounds nicest for your marketing.

Getting an advance ruling

If real money rides on the classification, or you’re unsure between two codes, you can ask CBSA for a National Customs Ruling or an advance ruling in writing. You describe the product in detail, propose a code, and CBSA gives you a binding answer you can rely on. It’s free, and for a growing importer it removes a lot of guesswork. The details are in CBSA’s memorandum on advance rulings. I’d rather wait a few weeks for certainty than get reassessed a year of shipments later.

Common mistakes I see (and made)

  • Letting your supplier or broker pick blindly. They’ll give you a code, but you’re the importer of record — you’re legally responsible for it being right.
  • Classifying by what it’s called instead of what it’s made of. Fibre content and whether a fabric is woven or knit can move you into a completely different tariff item.
  • Forgetting country of origin. The same 10-digit code can carry a different rate depending on the trade agreement — Most-Favoured-Nation, CUSMA, CPTPP, or CETA — and origin has strict rules of its own.
  • Not keeping records. Keep your reasoning, product specs, and any rulings. CBSA can review past imports for years.

Why the same product can carry very different duty

This trips up almost every new importer. A cotton item versus a poly-blend, woven versus knit, a plain textile versus one that’s “made up” into a finished article — each can land in a different tariff item. Layer country of origin on top: goods that qualify under CUSMA or CPTPP may enter duty-free, while the exact same product from a country you only have MFN treatment with pays the full rate. So “what’s the duty on bedsheets?” genuinely has no single answer until you nail the material, the construction, and the origin.

One more thing worth setting up early: to import commercially you’ll need an import-export (RM) program account on your CRA Business Number, and you’ll interact with CBSA’s CARM system for accounting and paying duties. Sorting that out before your first shipment lands saves a lot of stress at the border.

The simple habit that keeps me sane

For every product I import, I keep a one-page note: the 10-digit code, why I chose it (with the material and construction spelled out), the duty rate, the trade treatment, and a link to the ruling or tariff page I relied on. When a new season’s stock comes in, I’m not re-deciding from scratch — and if CBSA ever asks, I can show my work.

This is based on my own experience — not financial, tax, or legal advice. Rules, rates, and fees change, so confirm current details with official sources like the CRA and CBSA before you decide.

Leave Your Comment