— 2026 — SEP 20, 2026 —

Why Your Shopify Checkout Is Charging the Wrong Duties

A merchant ships an order from Toronto to a customer in Ohio. Checkout collected eleven dollars in duty. The carrier invoice arrives three weeks later at fifty-four. Nobody changed a setting. This is the most common cross border problem we see right now, and after the tariff changes of August and September 2026 it is getting worse. Here is why it happens and what to fix.

All Shopify behaviour below is quoted from its own documentation, checked on 20 September 2026.

Why is your checkout charging the wrong duty?

Because the number at checkout is an estimate produced from data you supplied, not a quote from customs. Shopify calculates it from the HS code and country of origin on each product. If either is wrong, missing or out of date, the calculation is wrong, and the failure is silent.

Three things then compound it. Tariff rates changed twice in the last month. Customs may classify your product differently from the code you entered. And the amount your carrier bills you is set at the border, long after the customer has paid.

Why does checkout show zero duties?

Usually one of three causes, and the first one is the one merchants miss.

  • Missing or wrong HS codes. Shopify's troubleshooting documentation states: "If inaccurate HS codes are entered for products or if HS codes are missing, then it might prevent duties and import taxes from being applied to the order at checkout." Note what that means in practice. Checkout does not warn you. It simply charges nothing.
  • Below the de minimis threshold. "If an order is below the de minimis threshold for a country or region and you're not registered to collect taxes in that country or region, then the order isn't subject to duties and import tax."
  • Registration not entered. If you are registered to collect tax in the destination but have not entered that registration in Shopify, taxes on orders below de minimis are not calculated.

For US-bound parcels, the second reason mostly no longer applies, and that is the change most stores have not absorbed.

What changed in 2026 that broke settings that used to work?

Three things, in order of how badly they hurt a Canada to US route:

  1. The US de minimis exemption is gone. Duty free treatment for shipments under US$800 was suspended from 29 August 2025, continued by executive order in February 2026, and written into regulation through customs rules published on 24 June 2026. Low value parcels that once crossed free are now dutiable.
  2. Section 338 duties of 50% on listed Canadian goods, effective 22 August 2026. The critical detail: a USMCA claim does not exempt covered goods. If your product's classification is on the list, the 50% applies on top of the ordinary rate.
  3. Canada's counter-tariffs from 8 September 2026, matching US rates on C$27.6 billion of US goods, covering steel, dairy, appliances, agricultural equipment, pulp and paper and electronics. This hits your landed cost on US-sourced inventory, not just your outbound orders.

Any duty configuration built before August 2026 is now working from a different world. That is not a Shopify fault, it is a rate environment that moved twice in a month.

Why does the carrier bill differ from what you collected?

Shopify names the causes directly. Customs authorities "might apply HS codes to your products that differ from the codes that were used to calculate duties and import tax." If the prices on your commercial invoice do not match what you charged the customer, "the carrier might have incorrect pricing information." Currency movement between checkout and clearance adds the rest.

The practical consequence: your commercial invoice and your checkout must agree on classification, origin, price and quantity. When they disagree, you eat the difference, and at 50% tariff rates that difference is no longer a rounding error.

Where do you set HS codes and country of origin?

Per Shopify's HS code documentation, go to Products, select the product, and in the Shipping section set the Country of origin and the Harmonized System (HS) code. You can also edit customs information while buying a label from an order.

For a catalogue of any size, do it in bulk: Products, select items, Bulk edit, Columns, Shipping, then the harmonized system code column. Shopify's guidance is blunt about why this matters, citing "non-compliance penalties, border delays, seizure of the products, or denial of import".

Country of origin means where the product was made, not where you ship it from. Getting this wrong on Canadian-made goods is now a 50% mistake.

One more field decides whether any of this works: product category. Shopify uses its standard product taxonomy alongside the HS code, and a product left in a vague category inherits a vague classification. If you imported your catalogue from another platform, check a sample now rather than after a customs bill arrives.

What can Shopify's duty collection not do?

These limits are documented, and each one has bitten a real store:

Limitation What Shopify says What it means for you
Labels "Shipping labels do not support DDP" Buy DDP labels from your carrier separately, or the parcel arrives with charges due
Tax overrides Not compatible with tax overrides or manual tax rates Those settings apply to domestic sales only once duty collection is on
Exemptions Customer and B2B tax exemptions are not applied to duties on international shipments Exempt wholesale customers still get charged
Taxes alone "You can't charge only for taxes" It is both or neither
Destinations Unsupported list includes Puerto Rico and Northern Ireland Check your actual shipping map before promising DDP

Is Managed Markets the answer?

It can be, and it is now available to Canadian merchants. Shopify's July 2026 announcement put the guarantee plainly: "Import tax and duty collection is guaranteed - you'll never receive an adjustment." It also brings duties-inclusive pricing for international buyers, daily payouts in CAD, and discounted DHL Express and FedEx labels bought inside the admin.

The requirements are specific. Your store must use Shopify Payments. Your store currency must match your home country's default currency. You need at least one non PO box business location and a fulfilment location in the operating country, and Canadian merchants with several fulfilment locations must have them in the same province. Canada also requires Shopify Tax or Basic Tax settings.

Shopify's requirements page does not publish the fee, so check the current rate in your admin before committing. The trade is straightforward: you pay a percentage to move the accuracy risk off your own books. At today's tariff volatility, that trade is more attractive than it was a year ago.

How do you test this properly?

Do not trust a settings screen. Test the route.

  1. Place a real test order on your worst case route, Canada to US, with a product you actually sell.
  2. Record the duty charged at checkout, then compare it against the carrier invoice when it arrives. That gap is your exposure per order.
  3. Audit twenty SKUs for HS code and country of origin accuracy, prioritising your top sellers and anything Canadian-made.
  4. Re-test after every tariff change. Two dates moved rates in the last month alone.
  5. Check your commercial invoice output matches checkout on price, quantity, classification and origin.

Merchants have been reporting these symptoms publicly for a year. One Shopify Community thread from August 2025 describes a Canada to US checkout still calculating at 6.8% after rates rose. Another from October 2025 shows duty on the same item dropping from US$5.46 to US$2.79 with no configuration change. The pattern is not new; the cost of ignoring it is.

What we fix when a store has this problem

The work is usually four things: a catalogue-wide HS code and origin audit, duty settings rebuilt per market, commercial invoice output aligned with checkout, and a test protocol somebody runs after each rate change. On a mid-sized catalogue that is days, not weeks, and it pays for itself on a single month of misquoted parcels.

For the wider picture on what changed in these markets this year, see our breakdown of US and Canada ecommerce data for 2026, and our guide to Shopify Markets for cross-border selling.

Get your duty setup checked

Free review. Email hello@exactwhy.com with subject "Duties" and tell us your store URL, which routes you ship, and one recent order where the carrier bill differed from checkout. We respond within 4 hours with what is misconfigured and what it is costing you per order.

Prefer a form? Send it through the contact page instead. It reaches the same inbox.

The stores that get hurt here are not the ones with the wrong settings. They are the ones who assumed a number at checkout was a promise rather than an estimate.

Verified on 20 September 2026 against Shopify's Help Centre documentation for duties and import taxes, HS codes and Managed Markets, Shopify's July 2026 changelog, US customs rules published 24 June 2026, and Canada's Department of Finance counter-tariff announcement.

Parth Sojitra
Parth Sojitra

Other Blogs

2026
Joseph Ribkoff Goes Direct, What Wholesale Brands Learn
Sep 20, 2026
Parth Sojitra
2026
Peak Season Shipping Maths Changed for Canadian Stores
Sep 20, 2026
Parth Sojitra
2026
Selling Into Quebec Without Breaking the Language Law
Sep 20, 2026
Parth Sojitra
2026
Shopify Managed Markets Comes to Canada, Worth It or Not
Sep 20, 2026
Parth Sojitra
2026
US Ecommerce Growth Doubled, Canada Went the Other Way
Sep 20, 2026
Parth Sojitra
2026
Why Celebrity D2C Brands in India Keep Choosing Shopify
Sep 20, 2026
Parth Sojitra
2026
What Peep Beauty's Launch Tells Indian D2C Founders
Sep 19, 2026
Parth Sojitra
2026
How to Set Up ChatGPT Selling and Ads on Your Shopify Store
Sep 18, 2026
Parth Sojitra
2026
ChatGPT Ads Are Live and Your Shopify Listing Is Free
Sep 18, 2026
Parth Sojitra
2026
How to Set Up BotSpace on Shopify Without Getting Blocked
Sep 18, 2026
Parth Sojitra
2026
What BotSpace Actually Does for a Shopify Store in 2026
Sep 18, 2026
Parth Sojitra
2026
Shopify Has No Restore Button, Here Is Your Backup Plan
Sep 18, 2026
Parth Sojitra
2026
Your First Operations Hire Comes Before Your First Marketer
Sep 18, 2026
Parth Sojitra
2026
Customer Support Is a Store Problem Before It Is a Team One
Sep 17, 2026
Parth Sojitra
2026
How to Run a Product Drop Without Breaking Your Store
Sep 16, 2026
Parth Sojitra
2026
Selling on Amazon and Flipkart Without Losing Your Brand
Sep 15, 2026
Parth Sojitra
2026
What Investors Ask About Your Store Before They Fund You
Sep 14, 2026
Parth Sojitra
2026
Which of Your Orders Actually Make Money and Which Do Not
Sep 13, 2026
Parth Sojitra
2026
Why Growth Stalls Between Thirty Lakh and Three Crore
Sep 12, 2026
Parth Sojitra
2026
Where Your First Two Lakh Should Go When Launching a Brand
Sep 11, 2026
Parth Sojitra
2026
Your Store Is Live and Nobody Is Buying, Now Diagnose It
Sep 10, 2026
Parth Sojitra
2026
We Will Build Your Shopify Plus Store for Free, Here Is Why
Sep 09, 2026
Parth Sojitra
2026
Packaging Decisions That Show Up in Your Return Rate
Sep 09, 2026
Parth Sojitra
2026
Your BFCM Numbers Will Not Compare to Last Year, Here Is Why
Sep 08, 2026
Parth Sojitra
2026
The Shopify Emails Your Customers Actually Read and Ignore
Sep 07, 2026
Parth Sojitra
2026
Putting Customer Photos and Creator Content on Your Store
Sep 06, 2026
Parth Sojitra
2026
Choosing a 3PL for an Indian D2C Brand Without Regret
Sep 05, 2026
Parth Sojitra
2026
Fraud and Chargebacks on an Indian Shopify Store in 2026
Sep 04, 2026
Parth Sojitra
2026
Selling Gift Cards and Gift Orders Without Operational Chaos
Sep 03, 2026
Parth Sojitra
2026
Where You Can Actually Upsell on Shopify and Where You Cannot
Sep 02, 2026
Parth Sojitra
2026
What Shopify Bundles Can and Cannot Do Before You Build
Sep 01, 2026
Parth Sojitra
2026
Script Tags Stop Running and the First Deadline Is October
Aug 31, 2026
Parth Sojitra
2026
Should Your Shopify Brand Be Selling on ONDC in 2026
Aug 28, 2026
Parth Sojitra
2026
What Breaks When You Sell on Blinkit and Shopify Together
Aug 27, 2026
Parth Sojitra
2026
Your Additional Scripts Stopped Firing Today, Now What
Aug 26, 2026
Parth Sojitra
2026
Returns and Exchanges That Do Not Destroy Your Margin
Aug 25, 2026
Parth Sojitra
2026
Six Shopify Changes That Already Broke Something on Your Store
Aug 24, 2026
Parth Sojitra
2026
Selling Overseas From India on Shopify Without Duty Surprises
Aug 23, 2026
Parth Sojitra
2026
Why Your Shopify Inventory Is Wrong and How to Find Out
Aug 22, 2026
Parth Sojitra
2026
Fixing Shopify Customer Account API Errors in Hydrogen
Aug 21, 2026
Parth Sojitra
2026
The Shopify Login Popup Is Gone and What Replaces It
Aug 20, 2026
Parth Sojitra
2026
Shopify Has No Phone Login and Indian D2C Feels It Most
Aug 20, 2026
Parth Sojitra
2026
Why Your Shopify Customers Never Get Their Login Code
Aug 20, 2026
Parth Sojitra
2026
Best Way to Upgrade Shopify Legacy Customer Accounts
Aug 20, 2026
Parth Sojitra
2026
Shopify Legacy Customer Accounts and Where Auth0 Fits In
Aug 20, 2026
Parth Sojitra
CAREER
Why I Traded Cricket at Fifteen for Freedom at Twenty Five
Aug 20, 2026
Parth Sojitra
2026
How to Read a Shopify Quote Before You Sign Anything
Aug 20, 2026
Parth Sojitra
2026
What Actually Breaks When You Connect Shopify to an ERP
Aug 19, 2026
Parth Sojitra
2026
Your Shopify Inventory Buckets Changed on 5 August 2026
Aug 14, 2026
Parth Sojitra