Shopify profit report wrong or missing cost of goods? What the report counts
Shopify's profit reports include only products and variants that had a cost recorded at the time they were sold, and they use the cost recorded on each order. So a variant with no cost disappears from the report, its net sales with it, and a cost you corrected later never reaches past orders. Discounts and refunds also move the margin. Give every variant a cost, keep it at what you really pay, and correct past months in your accounts, not by editing Cost per item.
The four rules behind Shopify's profit reports
- Only variants with a cost when sold. Shopify notes this can make net sales differ between the sales and profit reports (Shopify Help, profit reports).
- The cost on the order. Cost is recorded on an order when it is created; later edits to Cost per item don't change it (Shopify Help, cost per item).
- The margin formula: (net sales − cost) ÷ net sales × 100. Shopify's example: $50 of sales and $30 of cost is a 40% margin.
- Discounts and refunds change the reported margin, so it can differ from the margin on the product page.
What you see, and why
| What you see | Why | Fix |
|---|---|---|
| Products missing from Gross profit by product | No cost when they sold | Add a cost. It counts from the next order |
| Net sales lower on the profit report than the sales report | Same: sales of variants without a cost are left out | Give every variant a cost |
| Margin higher than in your accounts | Cost per item without freight and duty, or an old lower price | Keep the cost at what you pay; include freight if your books do |
| Margin differs from the product page | Discounts and refunds | Expected; compare like with like |
| Margin swings with no price change | Cost per item set to each new invoice price | Write the weighted average |
A worked example: a cost corrected too late
In September you sold 20 units at $20.00. Cost per item said $8.00; you really paid $9.50. On 1 October you corrected the field.
| September | Net sales | Cost | Gross profit | Margin |
|---|---|---|---|---|
| Shopify's report | $400.00 | $160.00 | $240.00 | 60.0% |
| Real | $400.00 | $190.00 | $210.00 | 52.5% |
September's report keeps $160.00, because each order kept the $8.00 it was created with. The $30.00 gap belongs in your September accounts, not in Shopify.
Fix it in four steps
- Find variants without a cost: export products to CSV and filter the Cost per item column for blanks.
- Set each cost to what you really pay. Agree with your accountant whether it includes inbound freight and duty.
- Keep it updated after each delivery, by hand or with a costing app.
- For months already reported, adjust cost of goods sold in your accounts.
How True COGS helps
- Writes your weighted average (or FIFO on a paid plan) to Cost per item after each delivery, so new orders carry the right cost.
- Shows gross profit and margin at the cost you really paid. This is on the Free plan.
- Month-end close gives the figures for your accounts: opening inventory, purchases with freight and duty, revaluations, closing inventory, and declared stock losses.
Related guides
Questions merchants ask
Why is my Shopify gross profit report missing products?
Shopify reports profit only for variants that had a cost recorded when they were sold. Products sold without a cost are left out.
Why don't net sales match between Shopify's sales and profit reports?
The profit reports leave out sales of variants that had no cost when they were sold. Shopify's help says this can cause the difference.
How does Shopify calculate gross margin?
(Net sales − cost) ÷ net sales × 100. Shopify's example: $50 of net sales and $30 of cost give a 40% margin.
Will updating Cost per item fix my old profit reports?
No. Each order keeps the cost recorded when it was created. Correct past periods in your accounts.
Does Shopify's profit report include shipping costs?
The product and variant reports subtract the cost of the units sold, which is the Cost per item recorded on each order. Shopify's guidance is to enter that cost without shipping. The Average profit margin by market report also shows shipping costs, duties and import taxes paid by your store.
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