- How Cost of Goods calculates profit
- Common symptoms and fixes
- Profit equals the full price, or looks far too high
- Profit is off by roughly the tax amount
- Old orders show zero or outdated profit
- New orders show zero profit
- Shipping, fees or taxes are missing from profit
- Payment gateway or other percentage costs look too low
- Orders from a POS or another plugin have no cost, or a later discount is ignored
- Refunded orders still show the full profit
- If it still looks wrong
- FAQ
- Related guides
When profit in Cost of Goods: Product Cost & Profit Calculator for WooCommerce looks wrong, the cause is usually a missing product cost, the tax setting used for prices, the order calculation options, or orders placed before costs were set. Check the Products and Orders sub-tabs at WPFactory > Cost of Goods, then recalculate old orders.
How Cost of Goods calculates profit #
- Product profit is the product price minus its cost. The price comes from Products > Get price method.
- Profit percent is profit divided by cost. Margin is profit divided by price. They are different numbers for the same product.
- Order profit uses the cost saved on each order line when the order is created, plus the options in the Orders > Calculations group.
Common symptoms and fixes #
Profit equals the full price, or looks far too high #
The product has no cost, so the plugin treats the cost as 0. Open the product and fill in the Cost field. For variable products, check each variation: a variation with an empty cost uses the parent product’s cost, which may not be right for every variation.
Profit is off by roughly the tax amount #
Check Get price method in the Products sub-tab. It decides which price profit is taken from:
| Option | Uses |
|---|---|
| Get price excluding tax (default) | The price without tax. |
| Get price including tax | The price with tax. |
| Get regular price | The regular price, ignoring a sale price. |
Make sure your costs are entered on the same basis. The default Cost field label is “Cost (excl. tax)”.
Old orders show zero or outdated profit #
Each order line keeps the cost it had when the order was placed, so changing a product cost later does not update existing orders. To fix them:
- Go to WPFactory > Cost of Goods (also reachable at WooCommerce > Settings > Cost of Goods) and open the Tools sub-tab.
- In Orders recalculation tool, tick Recalculate orders for all orders, or Recalculate no cost orders for orders with no costs only. You can limit the run with the Date fields.
- Click Save changes to start the recalculation.
The recalculation tool is Pro. On the free version, open an order and edit each line’s cost in the order edit screen (the Orders > Item costs option is enabled by default), or turn on Advanced > Order item costs > Auto fill empty order items costs on order update and then update the order.
New orders show zero profit #
Check Orders > Calculations > Delay calculations. If any statuses are selected, all cost and profit values stay at zero until the order reaches one of them. Leave it empty to calculate right away.
Shipping, fees or taxes are missing from profit #
Shipping to profit, Fees to profit and Taxes to profit in the Calculations group are off by default. Turn on the ones you want, and set each percentage field (default 100). The plugin notes that you will need to recalculate orders after changing these settings.
Payment gateway or other percentage costs look too low #
Percentage costs, such as a card processor fee set on the Payment Gateways sub-tab, are calculated from the total chosen in Orders > Calculations > Order total. The default is Order subtotal excl. tax, which leaves out shipping and tax, so the fee comes out lower than what your processor charges on the full amount. Choose Order total excl. tax or Order total incl. tax to match how your provider bills you. The same setting applies to percentage costs for all orders and for shipping methods. Recalculate existing orders afterwards.
Orders from a POS or another plugin have no cost, or a later discount is ignored #
Orders created outside the normal checkout can skip the calculation, and changes made after the order was created are not picked up until the order is saved again. See Cost and Profit Missing on Orders From POS, API or Other Plugins.
Refunded orders still show the full profit #
Use the Orders > Refunds group. The plugin suggests enabling Ignore refunded item cost and Ignore item refund amount, and notes that the order must be updated manually after a refund.
If it still looks wrong #
- Check that costs use a dot or comma consistently. Products > Cost sanitization > Cost update can replace commas with dots when costs are saved.
- Temporarily deactivate other plugins that change prices or order totals, then test again.
FAQ #
Does changing a product cost update past orders? #
No. Past orders keep the cost saved at the time. Use the Pro Orders recalculation tool or edit the order line costs.
Why do profit percent and margin show different numbers? #
Profit percent divides profit by cost, while margin divides profit by price. A product that costs 50 and sells for 100 has a 100% profit percent and a 50% margin.
Why are some order lines missing from the order profit? #
Lines with no saved cost, for example on orders placed before you installed the plugin, are skipped by default. Turn on Orders > Calculations > Count empty cost lines to count them with a cost of 0, or recalculate those orders.
Related guides #
- Configure Order Cost and Profit Calculations
- Cost and Profit Show Zero or Outdated on Existing Orders
- Cost and Profit Missing on Orders From POS, API or Other Plugins
- Add a Product Profit Column to the Admin Products List
Get more from Cost of Goods #
The calculation settings above are free. Cost of Goods: Product Cost & Profit Calculator for WooCommerce Pro adds the orders recalculation tool to apply changes to historical orders, and cost and profit inside WooCommerce Analytics. See what Pro unlocks.
Need a hand? Our team answers every ticket on the Cost of Goods support forum.
