Canada vs US HS codes for Shopify: why one product needs two 10-digit codes
If you sell the same SKU to Toronto and Texas, you need two different 10-digit harmonized system codes — not one code copied from a supplier invoice. Canada and the United States share the international HS framework, but each country extends it with its own tariff lines and duty rates.
This guide explains how Canada HS codes (CBSA format) and US HTS codes differ for ecommerce, the mistakes Shopify merchants make when they treat them as interchangeable, and a workflow to classify both markets in one pass.
Same harmonized system, different national codes
The first six digits of an HS code are harmonized internationally. Customs agencies worldwide agree that, for example, Chapter 61 covers knit apparel and Chapter 95 covers sports equipment. That shared foundation is why supplier invoices and Alibaba listings often show a 6-digit code that looks universal.
But customs clearance does not stop at six digits. Both Canada and the United States require 10-digit national tariff lines for commercial shipments. Those last four digits determine:
- Which specific duty rate applies
- Whether preferential trade programs (like CUSMA/USMCA) are available
- Whether additional reporting, licenses, or quotas attach to the product
- How the shipment is processed at the border
A 6-digit code is a starting point for research — not a finished classification for either market.
Canada: CBSA 10-digit tariff lines
Canada publishes tariff classifications through the Canada Border Services Agency (CBSA). Codes are formatted as ten digits, often written with dots for readability: 6110.20.00.10.
Canadian duty rates on the Customs Tariff reflect MFN (most-favoured-nation) rates, preferential rates under trade agreements, and occasional surcharges. For a Shopify merchant, the practical question is: what rate will CBSA apply when this SKU crosses the border?
Shopify Markets and Canadian carriers read the code you supply on the commercial invoice. If the field is blank or carries a US-only code, CBSA classifies the shipment itself — sometimes at a higher-duty category than your product actually warrants.
United States: HTS 10-digit tariff lines
The United States uses the Harmonized Tariff Schedule (HTS), maintained by the U.S. International Trade Commission. HTS codes are also 10 digits, written like 6110.20.20.10.
US duty rates shifted with the 2026 HTS Revision 5 update for many consumer goods lines. A code that was correct in 2024 may still be valid structurally but carry a different rate today. That is why static spreadsheets go stale — tariff schedules are living documents.
For US-bound Shopify orders, the HTS code drives checkout duty estimates (when configured), customs entry, and any post-delivery duty bills if the declared code was wrong.
Side by side: same sweater, two codes
Consider a women's cotton knit pullover sold on the same Shopify listing to Canada and the United States:
- Canada (CBSA):
6110.20.00.10— MFN duty rate 18% - United States (HTS):
6110.20.20.10— general duty rate 16%
Same product photo. Same variant SKU. Different national codes and different landed costs. If you paste the US code into your Canada metafield — or use a generic 6110.20 chapter guess for both — you are not compliant in either market.
Now scale that mistake across 200 SKUs and two Shopify Markets. Margin errors compound quietly until a shipment gets held or a customer disputes a duty charge.
The four copy-paste mistakes we see most often
- US HTS in the Canada field — The most common error for US-first brands expanding north. CBSA rejects or reclassifies the entry.
- Supplier 6-digit used everywhere — Factory invoices rarely include country-specific 10-digit extensions. You still need to derive them.
- One “generic” code for Shopify Markets — Markets does not magically split a single code by destination. Each market needs its own value in the right field.
- Outdated HTS schedule — Codes copied from a 2023 blog post may not reflect 2026 rate lines. Duty surprises follow.
None of these show up as errors in Shopify admin. They surface at the border or in customer support inboxes.
Duty rates: why the code matters more than the country flag
Merchants often ask whether Canada or the US is “cheaper” to ship to. The honest answer is: it depends on the HTS/CBSA line, not the country alone.
Two products in the same Shopify collection can have wildly different duty outcomes:
- A cotton tee may carry 16–18% duty depending on fabric weight and construction
- A nylon jacket may qualify for a different chapter entirely
- Sports equipment under Chapter 95 often clears duty-free in one market but not the other
Without SKU-level codes, you cannot model landed cost per market — which means you cannot price Shopify Markets listings intelligently or forecast margin on cross-border ad spend.
CUSMA / USMCA: when codes and origin interact
Preferential trade treatment under CUSMA (called USMCA in the United States) depends on both classification and rules of origin. A correct HS code is necessary but not sufficient for claiming preferential duty rates.
For most consumer-goods Shopify merchants, the immediate priority is getting accurate MFN/general duty rates per SKU. Preferential claims are a broker conversation once your catalog baseline is clean. Do not skip the 10-digit classification step because you plan to “deal with CUSMA later.”
Workflow: classify once, get both codes
You do not need to research Canada and the US separately in two spreadsheets. A practical workflow looks like this:
- Export your catalog — Flag SKUs shipping to Canada, the US, or both.
- Classify in one pass — Jstars AI HS Code Classifier generates CBSA and HTS codes together, with GRI-aligned reasoning and current duty rates per market.
- Review conflicts — If the app flags a CA/US conflict, open the detail panel and verify both codes before syncing.
- Write back to Shopify — Store codes in the metafields your carrier and Markets configuration read.
- Re-audit quarterly — Tariff schedules change; new SKUs launch weekly. Treat classification as infrastructure, not a one-time task.
On the Free plan, you get 20 classifications per month — enough to fix your highest-volume cross-border SKUs before upgrading.
Where this fits in your cross-border checklist
Accurate Canada and US codes are one row on a larger readiness checklist. Before scaling international ad spend, confirm:
- Every cross-border SKU has a 10-digit CBSA code (Canada-bound)
- Every cross-border SKU has a 10-digit HTS code (US-bound)
- Duty rates have been checked against current schedules
- Product descriptions on commercial invoices match the classified product type
- Checkout duty previews tested on representative carts in each market
If more than 10% of your catalog fails the first two bullets, pause the market launch and run a customs readiness audit first.
When to call a customs broker
AI classification handles standard consumer goods at catalog scale. Escalate to a licensed broker for:
- Regulated products (food, cosmetics, electronics with certification requirements)
- Binding tariff rulings on high-value or high-volume lines
- First freight shipment (LTL or container) to a new country
- Preferential origin claims you cannot document from the bill of materials
Clean CA and US codes make broker consultations faster and cheaper — you arrive with data, not guesswork.
Get CA + US codes in one click
Install Jstars AI HS Code Classifier on Shopify. Canadian CBSA and US HTS codes with duty rates and GRI-aligned reasoning — free for your first 20 classifications each month.
Install on Shopify — FreeRelated reading: US tariffs 2026 · HS code guide for Shopify · Free customs readiness audit · Shopify Markets duties guide · HS code FAQ