Freight and duty in your unit cost, when Shopify gives you one cost field
The supplier's invoice is the smaller half of what a product really costs you. Ocean freight, customs duty, brokerage, insurance — all of it belongs in the unit cost, and Shopify has exactly one field to hold the result. Here's how to work out the number that goes in it, and which allocation method is the honest one for each charge.
Inbound costs count, outbound costs don't
The test is whether the cost was needed to get the goods into a sellable state on your shelf. That includes inbound freight, customs duty, brokerage and clearance fees, cargo insurance, and any inspection or rework you paid for before the product could be sold. Those sit in inventory value until the unit sells, and then flow out through cost of goods sold.
What doesn't belong: shipping you charge the customer, marketing, payment fees, storage of finished goods you already own. They're real costs, but they're not part of what the unit cost you.
Shopify's side of this is short. Each variant has a single static Cost per item field, and the platform's migration guidance says that for automatic landed-cost allocation you should use a third-party inventory app. So natively, the allocation happens in your head or your spreadsheet, and only the result gets typed in.
Three methods, and when each is correct
A shipment charge is one number covering many products. Splitting it is the whole job, and the split is not arbitrary — each method matches a different kind of charge.
By weight or volume
Correct for freight, because that's what the carrier actually charged you for. A pallet of ceramics carries far more of a container's cost than a carton of scarves in the same shipment. Use billable weight if the carrier uses it, and volume for goods that are bulky rather than heavy.
By value
Correct for ad-valorem duty and insurance, which are charged as a percentage of what the goods are worth. Allocating duty by weight instead would load the cheap heavy items with the tariff of the expensive light ones, which is exactly backwards.
By quantity
An approximation, not a principle. It's defensible when everything in the shipment is broadly similar in size and price — one SKU in three colourways, say — and it saves real time. It stops being defensible the moment the shipment mixes a $2 accessory with a $90 unit.
One shipment often needs two methods at once: freight by weight, duty by value. That's normal, and it's the main reason this ends up in a spreadsheet rather than in your head.
A worked example you can copy
One shipment, two products, with freight charged on the container and duty charged on value:
- Mugs: 500 units, $3.00 each = $1,500 goods value, 400 kg
- Tea towels: 500 units, $6.00 each = $3,000 goods value, 100 kg
- Freight: $1,000 for the shipment · Duty: 6% of goods value · Brokerage: $150 flat
Freight by weight. Total 500 kg, so $2.00 per kg. Mugs take $800, tea towels $200 — that's $1.60 and $0.40 per unit.
Duty by value. 6% of $1,500 = $90 on the mugs ($0.18/unit); 6% of $3,000 = $180 on the towels ($0.36/unit).
Brokerage. A flat clearance fee tracks the paperwork, not the goods, so splitting by value is the common convention: $50 to mugs ($0.10/unit), $100 to towels ($0.20/unit).
Landed unit costs: mugs $4.88 against a $3.00 invoice price, tea towels $6.96 against $6.00. The mug's real cost is 63% above its invoice price; the towel's is 16% above. Price both on a flat markup over invoice and you're selling one of them at a loss you can't see.
Note what allocating freight by value instead would have done: the towels would have absorbed two thirds of the freight despite being a fifth of the weight, and the mugs — the actual reason the container was heavy — would have looked cheap.
When the freight invoice arrives a month after the stock
This is the practical wrinkle, and it's why many merchants give up on landed cost. The goods arrive Tuesday; the forwarder invoices six weeks later; by then you've already sold a third of the shipment.
The standard answer is to estimate and then true up. Book an estimated landed cost at receipt from the quote or a historical rate per kilo, so the units are sellable with a defensible cost. When the real invoice arrives, split the difference: the part belonging to units still on hand adjusts inventory value, and the part belonging to units already sold adjusts cost of goods sold. Keep the estimate and the actual visible side by side — if your estimates are consistently 20% light, that's a pricing signal, not an accounting nuisance.
Currency is the second wrinkle. If you pay a supplier in another currency, the rate at receipt is part of the cost, so the same SKU at the same negotiated price can land at two different costs in one year.
What our app does about it
We build Replenio, so treat this as the interested part of the page.
Replenio does the allocation above at receipt: you add freight, duty and fees to a purchase order, choose how they spread across the lines, and each unit's cost is recalculated from the result rather than from the supplier's price alone. Costs are recalculated on every receipt using weighted average or FIFO, multi-currency purchase orders carry their exchange rate, and each receipt is kept as a dated point so you can see how a landed cost moved across orders — which the single Cost per item field can't show.
There's a free plan with no time limit covering purchase orders, receiving and weighted-average costing on one location. Landed-cost allocation and FIFO are on the paid tier.
And if your shipments are simple, the arithmetic on this page is the whole method — a spreadsheet does it perfectly well.
Frequently asked
Can Shopify allocate freight and duty into product costs automatically?
No. There's one static Cost per item per variant, and Shopify's guidance points to a third-party inventory app for automatic landed-cost allocation. Natively you allocate first and type in the result.
By weight, by value, or by quantity?
Freight by weight or volume, duty and insurance by value, quantity only when the units are similar enough that the approximation is harmless.
What if the freight invoice arrives after the stock?
Estimate at receipt, then true up when the invoice lands, splitting the variance between units on hand and units already sold.
Do I include outbound shipping to customers?
No — that's a selling expense. Only inbound costs that make the goods sellable belong in unit cost.
Does this change my Shopify margin reports?
Yes, and that's the point: native reports read from Cost per item, so they're only as accurate as the landed cost you put there.