← All posts

Cash flow

What a unit actually costs you

Shopify will happily report a margin on a number you typed in months ago. If that number was the price on the supplier's invoice, the margin is not your margin.

Marcus Volsted Marcus VolstedCo-founder, Restocio Published 30 August 2026Updated 30 August 20267 min read
What a unit actually costs you

The number Shopify is quietly using

Your Shopify margin is revenue minus the cost per item you typed on the product. If you typed the supplier's price, that figure contains no freight, no duty and no import fees, so it overstates your profit on everything you import, and it overstates it worst on anything that ever travelled by air.

Landed cost is the honest version. It is what one unit costs to have sitting on your shelf, ready to sell, rather than what the factory charged you for it.

Landed cost per unit = supplier price + that unit's share of freight + duty and import charges + the other costs of getting it in. Everything up to the shelf. Nothing after it.

Most importers know this in principle. The reason it still bites is that Shopify only has one box to put a cost in, the box is filled in once when the product is created, and nothing about the platform ever suggests that the number should change when a shipment lands.

A worked example, with round numbers

Take a thousand yoga mats. The numbers here are chosen to be easy to follow rather than to describe any real lane, and your own will be different.

Landed cost = 8.00 + 1.60 + 0.60 + 0.15 = 10.35 a unit. The number in Shopify says 8.00. Every margin you have ever looked at for this product is out by 2.35 a unit, which is 29 per cent of what you thought the goods cost.

Sell those mats at 24.90 and the gap stops being abstract.

UsingCostGross profitMargin
The supplier price you typed in8.0016.9067.9%
The real landed cost10.3514.5558.4%

Nine and a half points of margin, on a product you would have described as one of your best. Multiply by everything you import and the reason the bank balance never matches the profit report starts to come into focus. That is a whole subject of its own, and it has its own page.

The same product, flown in, is a different product

Here is the part that catches people who already compute landed cost, but compute it once.

Suppose the sea shipment was going to land three weeks after you ran out, so a portion came by air instead. Air freight is not slightly dearer than sea, it is a different order of magnitude, and on a heavy product it can be larger than the goods themselves. Put the same mats on a plane at an illustrative 5.00 a kilo and the freight alone becomes 10.00 a unit.

Landed cost by air: 8.00 + 10.00 + 0.60 + 0.15 = 18.75 a unit. At the same 24.90 selling price the margin falls from 58.4 per cent to 24.7 per cent. Same SKU, same customer, same price on the site.

Two conclusions follow, and the second one is the useful one.

The first is that a single cost figure per product is a fiction as soon as two shipments of it travelled differently. What you really have is a cost per batch, and what most systems can hold is an average.

The second is that an emergency air shipment is not only a freight bill. It changes what the goods are worth to you, quietly, for as long as those units are on the shelf. That is why ordering on time is a margin decision rather than a logistics one, and it is why the freight split matters: send the bulk by sea and bridge the gap with a small fast shipment, and only the bridged units carry the expensive landed cost.

Splitting the freight bill across the units

One shipment, one invoice, many different products. Something has to decide how much of that invoice each unit carries, and there is no rule that is right for every business.

Allocate byWorks whenGoes wrong when
WeightFreight is priced per kilo, which it usually isSomething light takes up a whole pallet
VolumeThe container fills up before it gets heavyYou do not have reliable dimensions
ValueYou want expensive goods to carry more of the costA cheap heavy item then looks better than it is
Unit countEverything in the box is roughly alikeAlmost any mixed shipment

Weight is the usual answer, because it matches how the carrier charged you. It is also why unit weights are not optional data: without them, nothing can compare freight modes or split a bill, and a tool that appears to do it without weights is guessing.

Where this lives in Shopify, and the trap

Shopify gives you one field, cost per item, on each variant. Fill it with the landed cost and your reports get closer to the truth. Fill it with the supplier price, which is what nearly everyone does because that is the number on the invoice in front of them, and every margin report inherits the error.

Three things make this harder than it sounds, and they are worth naming rather than pretending away.

This is the part Restocio does. It computes landed cost per unit from the goods, the freight and the duties on the actual shipment, keeps the average current as deliveries are received, and can write the result back into Shopify's cost field so your own reports improve rather than living in a separate tool. Exchange rates are frozen per order, so a cost calculated in March does not silently change in June.

What this does not fix

Worth being straight about the limits of the whole approach, not only of our version of it.

None of that is a reason to keep using the supplier price. It is a reason to treat landed cost as the best available estimate rather than a fact, which is roughly how every number in purchasing deserves to be treated.

Common questions

Does Shopify include shipping and duty in its margin?

No. Shopify calculates margin from the cost per item field on the variant. It contains whatever you typed there, so if that was the supplier's price then freight, duty and import charges are all missing and the reported margin is too high.

What is landed cost?

What one unit costs to have available for sale: the supplier price, plus that unit's share of the freight, plus duty and other import charges. It stops at your shelf, so it does not include picking, outbound shipping or payment fees.

How do I split a freight invoice across different products?

Usually by weight, because that is how the carrier priced it, which means you need a weight on every unit. Volume works better when a container fills up before it gets heavy, and allocating by value is a deliberate choice to make expensive goods carry more of the cost. All three are defensible, so pick one and stay with it.

Should the cost in Shopify change when a new shipment arrives?

Yes, if you want the reports to stay true. A delivery at a different freight rate or exchange rate has a different landed cost, so the figure is an average that moves as goods are received rather than something set once when the product was created.

Why is the landed cost of an air shipment so much higher?

Because air freight is priced per kilo at several times the sea rate, so on a heavy product the freight can approach or exceed the price of the goods. The same SKU flown in can carry a landed cost far above the sea version, which is why splitting an order so that only the urgent units fly protects the margin on the rest.

Marcus Volsted
Marcus Volsted
Co-founder, Restocio

Marcus co-founded Restocio and works on it daily with a Swedish importer who plans their purchasing in it every working day. Most of the examples on this blog come from that store's real ordering decisions rather than from a textbook. Why we are building it.

Related reading

Restocio plans purchasing for Shopify stores that import. It works out what to order, how much, and whether it should travel by sea, rail or air, so you pay air freight only for the units that genuinely cannot wait.

See pricingTalk to us