Landed cost in Shopify: putting freight and duty into cost per item

Costs and margins · 7 min read · Updated · By the Box to Shelf team

Short version: Landed cost is what a unit really costs you once freight, duty, brokerage and other charges are added to the supplier's price. Shopify stores a single Cost per item per variant and doesn't calculate landed cost into it for you. Work it out per shipment, allocate the extra charges by value, quantity or weight, and enter the result as the cost.

If you import goods or pay for freight separately, the supplier's unit price understates what each product costs. A 10% freight and duty bill on a shipment can turn a healthy-looking 50% margin into something closer to 45%. Here's how to calculate landed cost and get it into Shopify.

What goes into landed cost

  • Product cost: the supplier's unit price, after any discount, in your store currency.
  • Freight: inbound shipping, courier or pallet charges.
  • Duty and import taxes you can't reclaim: customs duty and, for non-VAT-registered businesses, import VAT.
  • Brokerage and fees: customs clearance, handling, payment or currency conversion fees if you want to include them.
  • Insurance on the shipment, if separate.

Leave out costs that aren't per-shipment, such as rent or wages. Those belong in your overheads, not your unit cost.

What Shopify does and doesn't do

Shopify keeps one Cost per item per variant. When you change it, new orders use the new cost; past orders keep the cost recorded when they were placed. There's no history of costs per shipment and no automatic averaging.

Native purchase orders let you add cost adjustments such as shipping and duties to a transfer's shipment (Edit shipment › Cost summary › Manage), and the transfer's cost summary totals them. Shopify's help center doesn't describe those adjustments being spread into each product's cost per item, and merchants in the Shopify Community have asked for exactly that. So check what happens in your own store, but expect to calculate and enter landed costs yourself or with an app.

Three ways to allocate charges

The question is how to share a shipment-level charge, like 120.00 of freight, across the lines. Use one method consistently.

By value (most common)

Each line takes a share of the charge proportional to its value. Expensive items absorb more freight and duty, which matches how duty is usually calculated.

line share = charge × (line value ÷ total goods value)

By quantity

Every unit takes the same amount. Simple, and fair when items are similar in size and price.

per-unit share = charge ÷ total units

By weight or volume

Best when freight is charged by weight or cubic metre and your products vary a lot in size, like mugs versus tea.

Worked example

A delivery of three products with 120.00 freight and 60.00 duty (180.00 extra in total), allocated by value:

ProductQtyUnit priceLine valueShare of 180.00Landed unit cost
Coffee 250 g1006.00600.0090.006.90
Grinder1030.00300.0045.0034.50
Filters1502.00300.0045.002.30
Total2601,200.00180.00

Every line's landed cost is 15% above its unit price, because the charges are 15% of the goods value. By quantity, each unit would carry 180 ÷ 260 = 0.69, which would add 35% to the filters and only 2% to the grinder. That's why value allocation is the usual default.

When stock from two shipments is mixed

If you still have 40 bags at a landed cost of 6.50 and receive 100 at 6.90, what should cost per item be? Options:

  • Latest cost: set 6.90. Simple, slightly overstates cost until old stock sells.
  • Weighted average: (40 × 6.50 + 100 × 6.90) ÷ 140 = 6.79. Closer to reality for a mixed shelf.

Shopify won't calculate the average for you. Pick the method your accountant prefers and stick with it.

Entering landed costs in Shopify

  1. Calculate landed unit costs per shipment in a spreadsheet, as above.
  2. Update Cost per item for each variant, one by one, with the bulk editor, or with a product CSV. See bulk updating cost per item.
  3. Keep the spreadsheet with the shipment's invoices so you can explain the costs later.

UK and EU notes

  • If you're VAT-registered and reclaim import VAT, leave it out of landed cost. If you're not registered, it's a real cost and belongs in.
  • Within the EU single market there's no customs duty between member states, but freight still counts.
  • Convert foreign-currency charges at the rate you actually paid. See foreign-currency invoices.

Where Box to Shelf helps

Box to Shelf reads freight, discount and fee lines on supplier invoices and keeps them separate from product lines, so they aren't received as stock. It converts case prices to unit costs and updates Cost per item from the invoice after you approve it. It doesn't allocate freight and duty into unit costs automatically today, so for full landed cost you'd still apply the allocation above. Its review screen gives you the clean per-line unit costs to start from.

Questions

Does Shopify calculate landed cost automatically?

Not into cost per item. Purchase order shipments can carry cost adjustments such as shipping and duties, but Shopify's help center doesn't describe them being spread into each product's cost per item, so check your own store before relying on it.

Should I allocate freight by quantity or by value?

By value when items differ a lot in price, by quantity when they're similar, and by weight when freight is charged by weight.

Sources

Shopify changes its admin often. Steps were checked against the Shopify Help Center in November 2026; if a menu has moved, the help center links above have the current version.