How to handle customs duty for Canada to USA shipping?

We’re based in Canada and had our first order from the USA. We have our “shipping” set up for 2 regions (Canada and USA). We have to input our HS codes for our products, which we will do. How do I know how much customs duty has to be paid? And who pays the duty? Us or the customer. We are on the basic Shopify plan. Where do I download a customs form? Any advice would be much appreciated. Thank you.

Hey, @EsmeandSita

Great question! By default, this additional charge would fall onto the customer upon arrival at their residence/prior to being delivered. Duties/Taxes can be an unexpecting additional cost for customers that aren’t expecting it. So I definitely see why you want to clarify how it works.

The nice thing is with Shopify, if you are eligible, you can activate the ability to collect international duties/taxes from the Shopify checkout so your customer won’t be surprised with the cost down the road. Feel free to check out our resource here to learn more about the feature.

If there is anything else I can help you with, please let me know.

Good that you’re adding HS codes — here’s how the full flow works for Canada → US:

Once you add HS codes and Country of Origin to your products, enable duty collection for the US market under Settings → Markets → United States. Shopify then calculates estimated duties at checkout so the customer sees the full landed cost before paying — no surprise charges at delivery.

For Canada → US specifically, check if your products qualify under CUSMA/USMCA. If they’re manufactured in Canada with enough originating content, the duty rate may be 0% or significantly reduced. Setting Country of Origin as CA triggers the preferential rate automatically.

For finding the right codes, the US uses 10-digit HTS codes. Look up your products at hts.usitc.gov — search by description and drill down to the most specific classification. The more precise the code, the better the duty estimate.

Who pays depends on your shipping setup. By default (DAP), the customer pays on delivery. If you enable duty collection at checkout (DDP), you collect it upfront and pay the carrier — better customer experience, no refused deliveries.

For a handful of products, manual lookup works. If your catalog grows, I’m a developer and built an app called Dutycode that automates this — classifies products with EU, UK, and US codes automatically. Free for up to 25 products, paid plans from $19/month on the Shopify App Store.