Captain MilesStart free
Blog

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.

Keep reading

Shopify sales tax report by jurisdiction: the figures your return actually asks for

A state return wants gross, taxable and exempt sales per county and city, at each rate. Your orders carry every tax line already; the work is putting them in the rows the form uses.

The Captain Miles team · October 22, 2026 · 2 min read

Shopify sales by collection, tag and category: how a whole department did

The product list tells you about one product. Buying decisions are made about a collection, a tag or a category, and a strong product can hide a department that is slipping.

The Captain Miles team · October 22, 2026 · 2 min read

Shopify returns and refunds report: what is coming back, why, and whether it has arrived

A return requested, a return approved and a return received and refunded are three different numbers. Sales figures keep moving until all three are counted in their own column.

The Captain Miles team · October 22, 2026 · 2 min read