Merchgain
EN
Available now
Next, in this order
  • DeutschDE
  • EspañolES
  • FrançaisFR
  • ItalianoIT
  • PortuguêsPT
  • NederlandsNL

A language shows up here once its pages are actually written. Nothing on this site is machine-translated.

Install freeInstall
← All answers

What happens if I switch Cost of Goods Sold back off?

New orders stop recording costs, and the gap cannot be filled later. Switching off does not delete what is stored, but saving an order while it is off can.

Group
Where the data is missing
Source
R — behaviour of WooCommerce core
Code
OFF
Updated

The short answer

Two separate things happen, and only one of them is obvious.

The obvious one: new orders stop recording any cost at all, from that minute. That gap cannot be filled in later, because the cost is recorded at the moment of sale.

The less obvious one: values already stored stay where they are — measured on WooCommerce 10.3.0, switching the feature off does not delete anything by itself — but any order that gets saved while the feature is off can lose the cost it had recorded.

What WooCommerce actually does

With the feature disabled, get_cogs_total_value() returns 0 and calculate_cogs_value() returns false. Meanwhile the order item data store deletes the stored value whenever it is asked to save a zero — the mechanism described in cost of zero and no cost.

Put those together and the risk is not the switch, it is the next save: editing an old order, issuing a refund, or any REST write that recalculates totals while the feature is off can clear the costs on that order’s lines. Nothing warns you, because from the core’s point of view the feature simply is not in use.

What to do about it

If you have to switch it off — testing, or a shop that decided the field is not for them:

  1. Export the report to CSV first. Once cost values are gone from an order, there is no undo.
  2. Do not edit historical orders while it is off. That includes issuing refunds against them.
  3. Switch it back on before you resume normal work, and remember that the orders taken in between have no cost and never will.

How Merchgain reports it

The onboarding screen shown when the feature is off does not say “nothing to see here”. It says what leaving it off actually costs: while the feature is disabled, new orders record no cost, and the gap cannot be filled in later. From version 0.2.5 it adds that those orders can only be estimated from today’s costs, never recorded after the fact.

An empty state that reassures you is worse than no empty state at all, because the price of this one is paid silently, weeks before anybody opens the report.

See this on a real report

Disagrees with what you see in your shop? Write to us — every message is read. contact@merchgain.com