Gatemi Profit Reports for WooCommerce puts a cost on each product and then tells you what your shop is actually earning — by period, and product by product.
The cost is frozen onto the order when it is placed. This is the part the category gets wrong. A product's cost moves: a supplier raises a price, you re-price in January, a currency shifts. A plugin that works profit out at report time reads *today's* cost, so opening last March's report in August shows a margin March never had — and the number is always plausible, which is why nobody notices. Here the unit cost is copied onto the order line at the moment of sale, and the report reads only that.
A line with no cost is unknown, not free. Counting a missing cost as nought makes that line's margin 100% and the shop's total profit a number that is always too high and never obviously wrong. Lines with no cost are counted apart, the report says how many there are and what they were worth, and the margin is measured over the revenue that actually has a cost behind it.
Refunds are handled properly. A refunded unit takes its revenue *and* its cost back out, because the goods came back too. A partially refunded line reduces both.
Tax is never counted as revenue — it is the tax authority's money passing through the shop — and shipping is only counted if you say so.
Features
- A cost of goods on every product and every variation, with variations inheriting the product's
- A Cost column on the products list, and the profit on each order screen
- Profit, margin, cost and revenue for any date range
- A breakdown by product, most profitable first, downloadable as CSV
- An extra cost per order — packing, postage, a card fee — as a fixed amount or a percentage, frozen onto each order the same way
- Choose which order statuses count as a sale
- Nothing is held in memory: orders are read a page at a time, so a shop with fifty thousand of them gets a report rather than a fatal error
Every license includes
- One year of updates and priority support, delivered straight to your WordPress dashboard.
- Use on 1, 5 or 25 sites depending on your license — local, staging and development sites are always free.
- 30-day money-back guarantee — full refund, no questions asked.
- Keeps working after expiry — if you choose not to renew, the plugin keeps running exactly as installed; it simply stops receiving updates and support until you do.
Requires WordPress 6.4+ · PHP 7.4+ · tested up to WordPress 7.0. Works with the classic and block checkout alike.

Simone M. (verified owner) –
Un quarto d’ora, non di più. Profit Reports non ha bisogno di sorveglianza. Resta installato.
Jessica C. (verified owner) –
I expected to lose an evening to this and lost twenty minutes. The best sort of software: invisible.
Adam G (verified owner) –
Does what it says, though the docs could be clearer. Profit Reports hasn’t broken anything, which is the first bar.
Simon (verified owner) –
Reliable, if a bit plain. A refunded unit takes its cost back out as well as its revenue. Setting Profit Reports up was more involved than I expected. Keeping it installed.
Neil W. (verified owner) –
Good, with one small reservation. Tax is never counted as revenue, and shipping only if I say so. Comfortable four stars.