Do Shopify purchase orders update cost per item?
No. Shopify's purchase orders record what you agreed to pay, and receiving one does not touch the variant's cost per item. If a supplier's price has changed, the cost has to be updated separately.
Updated
What Shopify says
Shopify’s guide for merchants moving off Stocky states that each variant has a single static cost per item and that this cost stays fixed when you receive a purchase order or transfer.
So a purchase order and a product’s cost are two separate records:
| Purchase order | Cost per item | |
|---|---|---|
| Holds | What you agreed to pay on one order | One current cost for the variant |
| Changes when | You edit the order | Someone edits the field |
| Affected by receiving stock | Quantities received | Nothing |
| Used by profit reports | No | Yes |
Where the gap bites
You order 300 throws at $21.40. The variant’s cost per item still says $19.80 from the last order. You receive the stock, sell it, and Shopify reports every sale at a cost of $19.80. The purchase order had the right figure all along.
Carrying a new price through
When a supplier’s price changes, treat updating the cost as a step of receiving:
- Receive the purchase order.
- Compare each line’s cost with the variant’s cost per item.
- Decide what the new cost should be: the new price, or an average weighted by the stock still on hand at the old price. See weighted average cost.
- Update cost per item, in bulk if there are many lines.
Extra costs on a shipment
Shopify lets you add cost adjustments, such as a shipping amount or customs duties, to the shipments of a transfer linked to a purchase order. They appear in the transfer’s cost summary so you can compare agreed and actual cost. They are not added to cost per item.
Options beyond the manual step
- Costing apps that work from receipts update cost per item when stock arrives, usually on a weighted average, and some spread freight and duty across the shipment.
- Cogsy does not read purchase orders. It keeps the dated cost for each variant: enter or import the new price with the date it applies from, keep each supplier’s price side by side, and write the figure you choose to Shopify.
Questions
- Where does the cost on a purchase order line come from?
- For a product with no earlier purchase order, Shopify fills it with the variant's cost per item. Otherwise you can pick a cost from a previous purchase order or type a new one.
- Does Shopify calculate a weighted average cost when stock arrives?
- No. Shopify says weighted-average costing needs a third-party app.
- Did Stocky update costs from purchase orders?
- Yes. Stocky recalculated an average unit cost each time a purchase order was received and could sync it to cost per item. Stocky is no longer available as of 31 August 2026.
Sources
Related
Guide
Landed cost in Shopify after StockyStocky ended on 31 August 2026 and Shopify purchase orders do not change cost per item. How to keep a landed cost per unit in Shopify now, by hand or with an app.
Guide
How to keep a cost history in ShopifyShopify keeps only the current cost per item. Three ways to keep a history of cost changes (exports, a spreadsheet or an app) and what a useful history records.
Guide
How to bulk update cost per item in ShopifyThree ways to update cost per item for many Shopify variants at once: the bulk editor, a product CSV import, or an app. Steps and pitfalls for each.
Glossary
Weighted average costWeighted average cost blends the cost of stock on hand with the cost of new stock, by quantity. The formula, a worked example, and how it compares with FIFO.