Life Built in Canada

My Real Cost of Importing Bedding from India (The Actual Numbers)

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.

Disclosure: This post contains referral links. If you sign up through one I may earn a small bonus (often you get one too) at no extra cost, and I only mention tools I actually use.

People ask me all the time what it “really” costs to import bedding from India, and I get why — most of the answers online are vague. So I’m going to do something a little uncomfortable and walk you through the actual numbers on one Kind Loom shipment. These are illustrative figures based on a real order, rounded and simplified so I’m not publishing my supplier’s exact pricing — but the shape of it is honest, and the lesson at the end is the whole reason I bother.

The shipment

This was a small order: 150 duvet cover sets, invoiced by my supplier in USD. On paper the goods cost USD $16.50 a set. In my head, early on, that meant my cost was about twenty-two Canadian dollars a set and I could just price up from there. Reader, no.

The line-by-line breakdown

Here’s everything it took to get those 150 sets from a workshop in India to my storage unit in Calgary, in CAD:

  • Product cost: 150 × USD $16.50 = USD $2,475, which came to about CAD $3,366 once converted.
  • Ocean freight (LCL): $850. Small importers rarely fill a container, so you pay for a share of one, plus origin and destination handling.
  • Duty: cotton bedding attracts a meaningful rate — around 17% in my case, though it genuinely varies by HS code, so check yours in the CBSA Customs Tariff. On a value for duty of $3,366 that’s roughly $572.
  • Import GST (5%): charged at the border on the duty-paid value, about $197. Because I’m registered, I recover this as an input tax credit — so it’s a cash-flow hit, not a permanent cost. See the CRA’s page on GST on imported goods.
  • Brokerage and clearance: $175 to my customs broker for classifying and clearing the shipment.
  • Last-mile: $300 to get the pallet from the port to Calgary.

The currency line nobody warns you about

Here’s the sneaky one. When I first paid a USD invoice through my regular bank, the exchange rate quietly included a markup of a couple of percent over the real mid-market rate. On a $2,475 payment that’s roughly $60–$85 vanishing into a spread I never saw itemised. Across a year of orders it added up to real money.

I now pay suppliers through Wise (my full Wise review is here), which uses the mid-market rate and shows the fee as a clear line. It didn’t make me rich — it just stopped a slow leak, and it means the “product cost” I type into my landed-cost calculator is the number I actually paid, not an optimistic guess.

Invoice price vs true landed cost

Add all of that up and the shipment cost about $5,460 landed. Across 150 sets that’s a true cost of roughly $36.40 per set. The invoice price was about $22.44 per set. So my real cost was over 60% higher than the number on the invoice — before I’d paid for a single poly bag, insert card, or Shopify fee.

  • Invoice cost per set: ~$22.44
  • True landed cost per set: ~$36.40
  • The gap: ~$13.96 per set, or about 62%

What this taught me about pricing

If I’d priced off $22, aiming for what I thought was a healthy margin, I’d actually have been barely breaking even after platform and payment fees — and losing money on any set that got returned or discounted. Getting the landed number right is the difference between a business and an expensive hobby.

  • Duty is the swing factor. On textiles it’s high and it is not recoverable, so it lives in your cost forever. Never assume it’s small.
  • Small shipments cost more per unit. Fixed costs like brokerage and last-mile are the same whether you bring in 150 sets or 1,500, so early orders always look expensive per unit.
  • Price off landed cost, every time. I plug my numbers into the calculator and read the walkthrough in my landed-cost guide before I set a single retail price.
  • Watch the invisible costs. Currency spread and disbursement fees don’t show up on your P&L with a friendly label — you have to go looking for them.

None of this is meant to scare you off importing. I still do it, and I love the product. It’s just that the number that matters isn’t the one on the invoice — it’s the one that shows up after everyone in the chain has taken their cut.

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