Shopify's Cost per item, explained: what it does and what it doesn't
Cost per item is one number per variant: what that unit cost you. Shopify copies it onto each order when the order is created, and uses it in profit reports and in the Month-end inventory value report. It is static: Shopify's own help says it stays fixed when you receive a purchase order or transfer. So when you pay a new price, the field keeps the old one until you, an import or an app changes it, and every sale until then is costed at the old price.
What the field is
Cost per item sits in the Price section of every product. It holds one value per variant. Shopify describes it as “how much it costs you for the product or variant”. When it is filled in, the product page shows a projected profit and margin, and the product's sales count in your profit reports.
- Each variant needs its own cost. A product with three sizes needs three costs.
- Gift card products have no cost per item.
- When your prices include tax and the product charges tax, Shopify hides the profit and margin on the product page, because the profit depends on the buyer's tax rate.
Where Shopify uses it
| Place | What it takes from Cost per item | Timing |
|---|---|---|
| Each order | The cost of every line | Copied when the order is created; never updated later |
| Profit reports | Cost of goods sold, gross profit, gross margin | Uses the cost stored on each order |
| Month-end inventory value report | Cost × ending On hand quantity per variant | Uses the variant's cost per item value |
| Product page | Projected profit and margin: (price − cost) ÷ price | Live, as you type |
“The cost per item is recorded on an order when the order is created. If you change a product's cost per item, then the new cost isn't applied to orders that were created before the change.” Shopify Help, Adding cost per item to products
This is why a wrong cost does lasting damage. Correcting the field later fixes future orders only. The orders taken while it was wrong keep the wrong cost in every profit report.
What to put in it
Shopify's example for a reseller is the price paid to the manufacturer, “excluding taxes, shipping, or other costs”. For your books, the rules are wider:
- Freight-in is part of what inventory cost. IRS Publication 334 lists freight-in in cost of goods sold, and IAS 2 counts transport and import duties in the cost of purchase.
- Use the price after trade discounts, and leave out sales tax you can reclaim.
- Use one method for every delivery: weighted average cost, or FIFO. The field can only hold the result, not the method.
So the number that matches your accounts is your landed cost per unit, averaged across deliveries. Shopify's example leaves freight out; your accountant will put it in.
Why it stays fixed when stock arrives
“Each product variant has a single static Cost per item field. This cost stays fixed when you receive a purchase order or transfer.” Shopify Help, Migrating from Stocky
Receiving a purchase order changes your quantities, not your cost. If the new delivery cost more, the field still shows the old price. If you type the new price in, it replaces the cost of all the stock you hold, including units you paid less for. Neither is your true cost. Shopify's own help points merchants who need weighted-average costing or landed cost to a third-party costing app.
A worked example
| Step | Units | Price paid | Cost per item if left alone | Cost per item if overwritten | Weighted average cost |
|---|---|---|---|---|---|
| Delivery 1 | 100 | $6.00 | $6.00 | $6.00 | $6.00 |
| Delivery 2 | 100 | $6.20 | $6.00 | $6.20 | $6.10 |
| Value of the 200 units | $1,200.00 | $1,240.00 | $1,220.00 |
You paid $1,220.00 for 200 units. Leaving the field alone understates stock by $20.00; overwriting it overstates it by $20.00. Only the average, ($600.00 + $620.00) ÷ 200 = $6.10, matches what you paid. On a store with hundreds of variants and a delivery every week, those differences become your margin error.
Keeping it right
- By hand: after each delivery, work out (units on hand × current cost + units received × price paid) ÷ total units, and type it in. Use the weighted average calculator.
- In bulk: Shopify's bulk editor, or the Cost per item column of a product CSV. See bulk updating Cost per item for what that does to your averages.
- Automatically: True COGS records the price on each received purchase order or transfer, averages it with the stock you hold, and writes the result to Cost per item. Every price stays on record with its date, and Cost Guard shows any later change made by something else.
Related guides
Questions merchants ask
What is Cost per item in Shopify?
It is the amount one unit of a product or variant cost you. Shopify uses it to show projected profit on the product page, to cost each order, and in profit reports and the Month-end inventory value report.
Does Shopify update Cost per item when I receive a purchase order?
No. Shopify Help says each variant has a single static Cost per item field that stays fixed when you receive a purchase order or transfer. It changes only when you, an import or an app changes it.
If I change Cost per item, do past orders change?
No. The cost is recorded on an order when the order is created, so orders created before the change keep the earlier cost in your profit reports.
Should Cost per item include shipping and duty?
Shopify's example for resellers leaves them out. For your accounts, freight-in and import duties are part of what inventory cost (IRS Publication 334, IAS 2), so many merchants enter a landed cost per unit.
Why doesn't Shopify show profit and margin on my product?
When your prices include tax and the product charges tax, Shopify hides the projected profit and margin, because the profit depends on the tax rate where you sell.
Do I need a cost for each variant?
Yes. Cost per item is stored per variant, so each size or colour needs its own cost.
How can Cost per item follow my weighted average cost automatically?
Use a costing app. True COGS records the price on each received delivery, averages it with the stock you hold, and writes the result to Cost per item; FIFO is available on paid plans.
Try True COGS free. True COGS is an inventory costing app for Shopify by Nexus Logic Systems. It records the price you paid on every delivery (a received purchase order or a transfer), with its share of freight and duty on paid plans, keeps every price with its date, and writes your moving weighted average cost, or FIFO cost on a paid plan, to Shopify's Cost per item. It is free for up to 25 variants with a cost on record; paid plans start at $29 a month or $290 a year.
Install from the App Store