Shopify profit and COGS report: what each product made, not just what it sold
Your sales reports rank products by revenue. The cost per item you typed into every variant is what turns that into margin, and a report that leaves it out can keep promoting a best-seller that loses money.
Shopify's own analytics give every store an overview dashboard, Standard Reports from the Grow plan ($79 a month) and Advanced Reports from the Advanced plan ($299 a month). Most of what they rank is revenue: which product sold the most, which collection carried the week. A reviewer running a small store put the gap plainly in April 2026: "reporting is basic without relying on third-party apps."
Revenue is half the picture. You already entered a cost per item on every variant when you set up the catalog. That number sits on the inventory item, and the profit report is the one place it earns its keep.
What the report shows
A profit and COGS report for last week lists, per product and per variant:
- units sold and the revenue they brought in, net of refunded units
- the cost of goods, taken from the cost per item you entered
- gross profit and margin percent
- a separate list of the variants that have no cost recorded at all
That last section matters more than it looks. A variant with no cost would otherwise show a 100% margin and lift the whole total. Listing it on its own keeps the number honest and tells you which costs to go back and fill in.
Why it is not a spreadsheet job
The usual way is a sales export matched against a cost spreadsheet, which is about an hour a week and goes wrong every time a variant is renamed. Worse than the hour is what it hides: a best-seller that loses money on every unit keeps getting promoted because only revenue was ever ranked.
How Captain Miles does it
Describe the report in a sentence, the way you would ask the co-founder who runs the numbers. Captain Miles shows you the plan before anything runs, then builds the report from the orders, products and variants in your own store, counted the same way every Monday, with a note on how each number was produced. Your store data is used for your store only, never trained on, and deleted within 30 days if you uninstall. Pick the ready-made version below and the first one arrives next Monday morning.