Costs

Landed cost on Shopify purchase orders

Add freight, duty and discounts to a purchase order and get a true cost per unit, written to Shopify when the delivery arrives.

The Binly team
In this article

How to calculate landed cost on a Shopify purchase order (1 min 37 s). Watch on YouTube. Nothing loads from YouTube until you press play.

How it works#

A supplier's price is rarely what a unit costs you. Freight, customs duty and handling fees all land on top. In Binly you add those as costs on the purchase order. Each cost has a kind (freight, duty, discount or other) and an amount, and a discount is a negative amount.

Binly splits the total across the order's lines in proportion to what each line costs, or in proportion to units if you prefer. The supplier's own price on each line never changes. The landed unit cost is the supplier total for the line plus its share of the costs, divided by the quantity ordered.

A worked example#

These numbers are made up to show the maths. A purchase order has two lines, and the supplier invoice adds $140 of freight and $70 of duty, $210 in all.

Landed cost per unit, by split rule (example figures)
LineSupplier priceSplit by valueSplit by quantity
A: 100 units at $8.00 (supplier total $800)$8.00Share $120, landed $9.20 per unitShare $140, landed $9.40 per unit
B: 50 units at $12.00 (supplier total $600)$12.00Share $90, landed $13.80 per unitShare $70, landed $13.40 per unit

Value is the default because freight and duty usually follow what the goods are worth. Split by quantity suits cases of near-identical items. Binly does not offer a weight split, because it does not store variant weights, and a guessed weight gives a worse answer than an honest value split.

What Binly writes to Shopify#

At receiving, Binly writes each item's cost to Shopify. With the default last-cost method, the new landed cost replaces the old one. If you switch on weighted average cost, which is also part of Pro, Binly blends the landed cost of what arrived with the stock you already hold, weighted by quantity.

Partial deliveries work the same way, one receipt at a time. If you change a cost or the split rule after some lines have arrived, an Update costs in Shopify button writes the new landed cost to the lines already received. That button is for last-cost mode only, because re-pushing under weighted average would overwrite the average.

Tax and currency#

Sales tax such as VAT or GST sits beside the order and stays out of unit cost, landed cost and margin. Most businesses reclaim it, and folding it in would make every margin look lower than it is.

If a supplier invoices in another currency, you set the exchange rate on the order. Binly never fetches or refreshes a rate, so the rate you agreed is the rate the order keeps, and you can tick the order off against the supplier's invoice in their currency.

When the invoice arrives late#

Sometimes the supplier invoice lands after you received the goods, and it comes in over the order. Binly flags the gap. Part of that delivery has often sold already, so Binly splits the extra cost into two parts: the share that belongs to stock still on hand, and the share that belongs to units already sold.

The on-hand share suggests a new unit cost for the remaining stock. The sold share is booked as a dated cost-of-goods-sold true-up in the current period, and the order page shows how much margin on those sold units was overstated. Today Binly records the split and suggests the new cost. It does not write the correction to Shopify for you. The month-end pack on Growth lists these true-ups on their own line.

What it does not do#

  • It does not split by weight.
  • It does not look up duty rates. You enter the amounts from your paperwork.
  • It does not track lots, so a late correction treats units from one receipt as interchangeable.

Which plan#

Landed cost and weighted average cost are on Pro, $25 a month with a 14-day trial. Purchase orders and receiving start on Starter at $12. Growth, at $69, adds supplier price lists, early-pay savings and the month-end COGS pack. Details are on Binly on the Shopify App Store.

For context, Stockroom by MyWorks is a free app that lists landed cost tracking at receiving. Shopify's own purchase orders can also carry cost adjustments for shipping and duty, and our receiving article covers what Shopify's help page does and does not say about the Cost per item field.

Keep reading#

Frequently asked questions#

What is landed cost?

Landed cost is what a unit cost you once it reached your shelf: the supplier's price plus freight, duty and fees, divided by the units. It is the cost to use when you work out margin.

How does Binly split freight across the lines of an order?

In proportion to line value by default, or in proportion to units. A line's landed unit cost is its supplier total plus its share of the costs, divided by the quantity ordered.

Does Binly change the Cost per item in Shopify?

Yes, at receiving it writes each item's cost to Shopify. Under last cost it writes the landed cost. Under weighted average it writes the blend of the delivery and your existing stock.

Can I add a discount?

Yes. Add a cost of kind discount with a negative amount, and it reduces the landed cost in the same proportions.

Is sales tax included in landed cost?

No. VAT or GST stays beside the order and out of unit cost, landed cost and margin, because most businesses reclaim it.

What happens if the supplier invoice comes after I received the goods?

Binly flags an invoice that is over the order and splits the difference between stock still on hand and units already sold. It records the split and suggests a new on-hand cost, and the sold share becomes a dated true-up.

Which plan includes landed cost?

Pro, at $25 a month with a 14-day free trial. Growth includes everything in Pro.