Why is Cost per item wrong in Shopify? Seven causes and how to fix each
Cost per item is usually wrong because nothing updates it: Shopify keeps it fixed when you receive stock, so it shows whatever was typed last. The other common causes are a last price typed over the average, freight and duty left out, variants with no cost, and old costs copied into new purchase orders. Fixing it today corrects future orders only: Shopify keeps the cost each order was created with.
Seven causes, what you see, and the fix
| Cause | What you see | Fix |
|---|---|---|
| 1. Set once, never updated | The cost from a delivery months ago | Update after every delivery, or automate it. Receiving does not change it. |
| 2. Last price typed over the average | Cost jumps with each invoice; margin on older stock swings | Write the weighted average (or FIFO), not the last price |
| 3. Freight and duty left out | Shopify margins higher than your accounts | Shopify's guidance is the price paid without shipping or other costs. Your books may include freight-in and duty. Agree one rule with your accountant |
| 4. Variants with no cost | Products missing from profit reports | Each variant needs its own cost; profit is reported only where a cost was recorded at the time of sale |
| 5. Old cost copied into new purchase orders | A purchase order shows a price the supplier no longer charges | Shopify fills a new line's cost from your last purchase order with that supplier, or from Cost per item if there is none. Check it before marking the order as ordered |
| 6. Fixed after the sale | Past months still show the old cost | Cost is recorded on each order when it is created. Correct past periods in your accounts |
| 7. Tax inside the cost | Cost higher than the supplier's net price | Shopify's guidance is to leave taxes out. Under IAS 2, a tax you cannot recover is part of the cost. Ask your accountant |
What a wrong cost does to your margin
| Cost per unit | Margin at $20.00 | Profit on 500 units | |
|---|---|---|---|
| Cost per item in Shopify | $8.00 | 60.0% | $6,000.00 |
| What you really paid, with freight | $9.50 | 52.5% | $5,250.00 |
Margin is (price − cost) ÷ price, the same formula as Shopify's profit reports. A $1.50 gap per unit overstates profit by $750.00 on 500 units.
Check your costs in ten minutes
- Find blanks. Export products to CSV and filter the Cost per item column for empty cells.
- Spot-check. Compare your ten best sellers with the latest supplier invoice, plus a share of the freight.
- Look for gaps in reports. In Analytics > Reports, open Gross profit by product variant. A variant you sold that is missing had no cost when it sold (Shopify Help).
- Open a draft purchase order. The costs filled in come from your previous purchase orders with that supplier, or from Cost per item (Shopify Help).
How to stop the latest price overwriting Cost per item
Shopify does not overwrite Cost per item when stock arrives. When the field jumps to the newest price, a person or an app wrote it. Three fixes:
- When you edit by hand, enter the new average, not the invoice price.
- If an app writes the cost, check whether it writes an average, FIFO cost or the last price, and change its setting or the app.
- Keep a dated record of each price. Without it, a wrong cost cannot be traced back.
How True COGS keeps Cost per item right
- Writes the moving weighted average (or FIFO on a paid plan) after each received delivery, never just the last price.
- Keeps every price with its date, so any cost can be traced to the delivery behind it.
- Checks open purchase orders against the last price you paid. This is on the Free plan.
- Adds freight and duty to each unit on paid plans.
Related guides
Questions merchants ask
Why does Shopify show the wrong cost on my profit report?
The report uses the Cost per item recorded on each order when it was created. If the field was out of date then, the report shows that old cost, and a later fix does not change it.
Why is Cost per item blank on some variants?
Shopify keeps the cost per variant, so each variant needs its own. Variants without a cost are left out of profit reports. Find them by exporting products to CSV and filtering the Cost per item column for blanks.
Should Cost per item include shipping?
Shopify's guidance is to enter the price paid without taxes, shipping or other costs. Accounting rules count inbound freight as part of inventory cost, so many stores include it. Pick one rule with your accountant and use it everywhere.
How do I stop Shopify overwriting Cost per item with the latest purchase price?
Shopify itself does not change the field when stock arrives. If it jumps to the newest price, a person or an app is writing the last price. Enter or write the weighted average instead.
Does changing Cost per item change past orders?
No. The cost is recorded on each order when the order is created.
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