Nexus Logic SystemsShopify apps

Shopify profit report wrong or missing cost of goods? What the report counts

Updated · By Senoussi, developer of True COGS at Nexus Logic Systems

Short answer

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

  1. 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).
  2. 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).
  3. The margin formula: (net sales − cost) ÷ net sales × 100. Shopify's example: $50 of sales and $30 of cost is a 40% margin.
  4. Discounts and refunds change the reported margin, so it can differ from the margin on the product page.

What you see, and why

From Shopify Help, read 31 October 2026.
What you seeWhyFix
Products missing from Gross profit by productNo cost when they soldAdd a cost. It counts from the next order
Net sales lower on the profit report than the sales reportSame: sales of variants without a cost are left outGive every variant a cost
Margin higher than in your accountsCost per item without freight and duty, or an old lower priceKeep the cost at what you pay; include freight if your books do
Margin differs from the product pageDiscounts and refundsExpected; compare like with like
Margin swings with no price changeCost per item set to each new invoice priceWrite 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.

Illustrative figures.
SeptemberNet salesCostGross profitMargin
Shopify's report$400.00$160.00$240.0060.0%
Real$400.00$190.00$210.0052.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

  1. Find variants without a cost: export products to CSV and filter the Cost per item column for blanks.
  2. Set each cost to what you really pay. Agree with your accountant whether it includes inbound freight and duty.
  3. Keep it updated after each delivery, by hand or with a costing app.
  4. 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.

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

Sources