With Cost of Goods for WooCommerce plugin you can save WooCommerce products purchase costs, i.e. “Cost of goods sold” (COGS) or “Cost of goods” (COG).
After enabling the plugin, new “Cost (excl. tax)” input field will be added to the product’s edit page.
For variable products you can either set single cost for all variations:
or set costs for each variation individually:
Cost of Goods Plugin Options
Plugin options are located in “WooCommerce > Settings > Cost of Goods”.
Products
Admin Products List Columns
This section lets you add custom “Cost of Goods for WooCommerce” plugin columns to WooCommerce admin products list.
- Product cost
- Displays product cost.
- Default:
no
- Default:
- Product profit
- Displays product profit.
- Default:
no
- Default:
General Products Options
- Cost field label
- This is used in admin single product edit pages. Available placeholders:
%currency_symbol%
.- Default:
Cost (excl. tax) (%currency_symbol%)
- Default:
- Product profit HTML template
- This is used in admin single product edit pages, and in admin products list “Profit” column. Profit percent is “profit / cost”. Margin is “profit / price”. Available placeholders:
%profit%
,%profit_percent%
,%profit_margin%
.- Default:
%profit% (%profit_percent%)
- Default:
- Add stock
- Adds “Cost of Goods: Add stock” meta box to the product edit page. This will automatically calculate new average cost of goods for the product, based on new “Stock” and “Cost” values you enter.
- Default:
no
- Default:
Quick and Bulk Edit
- Quick edit
- Adds “Cost” field to product “Quick Edit”.
- Default:
no
- Default:
- Bulk edit
- Adds “Cost” field to product “Bulk Actions > Edit”.
- Default:
no
- Default:

Orders
Admin Orders List Columns
This section lets you add custom “Cost of Goods for WooCommerce” plugin columns to WooCommerce admin orders list.
- Order cost
- Displays pre-calculated order total cost.
- Default:
no
- Default:
- Order cost: Order statuses
- Select order statuses to show cost column. Leave empty to show for all orders.
- Default: None
- Order profit
- Displays pre-calculated order profit.
- Default:
yes
- Default:
- Order profit percent
- Displays pre-calculated order profit percent (i.e. profit / cost).
- Default:
no
- Default:
- Order profit margin
- Displays pre-calculated order profit margin (i.e. profit / price).
- Default:
no
- Default:
- Order profit: Order statuses
- Select order statuses to show profit column. Leave empty to show for all orders.
- Default: None
Admin Order Edit
Options for the admin order edit pages.
- Item costs
- Adds costs inputs for each order item to admin order edit page. Possible values: Enable; Readonly; Disable; Disable but show as standard meta.
- Default:
Enable
- Default:
- Order meta box
- Displays “Cost of Goods” meta box on admin order edit page.
- Default:
yes
- Default:
- Order meta box: Order profit HTML template
- This is used in meta box. Available placeholders:
%profit%
,%profit_percent%
,%profit_margin%
. Profit percent is “profit / cost”. Margin is “profit / price”. Please note: to display%profit_percent%
and%profit_margin%
for orders created before plugin v2.2.0 was installed, you will need to recalculate orders cost and profit.- Default:
%profit%
- Default:
- Admin notice
- Adds notice to admin order edit page in case if order profit is below zero.
- Default:
no
- Default:
- Admin notice: Text
- “Admin notice” option must be enabled.
- Default:
You are selling below the cost of goods.
- Default:
- Fill in on add items
- Fills in item costs with the default costs when adding new items (i.e. “Add item(s) > Add product(s)”).
- Default:
yes
- Default:
- Save on item edit
- Saves item costs when editing order items (i.e. “Edit item > Save”).
- Default:
yes
- Default:
- "Recalculate" button
- Select what should be done when admin clicks “Recalculate” order button. Possible values: Do nothing; Fill in empty item costs with the default costs; Fill in all item costs with the default costs; Save all item costs.
- Default:
Do nothing
- Default:

Calculations
Here you can set some options for order cost and profit calculations. You will need to recalculate order’s cost and profit after you change these settings.
- Count empty cost lines
- Count empty cost items when calculating order cost and profit. You will need to recalculate order’s cost and profit after you change this option.
- Default:
no
- Default:
- Order total for percentage fees
- Total to calculate all extra costs percentage fees from (“All Orders”, “Payment Gateways”, “Shipping Methods”). Possible values: Order subtotal excl. tax; Order total excl. tax; Order total incl. tax.
- Default:
Order subtotal excl. tax
- Default:
- Shipping to profit
- Adds order shipping cost to the order profit.
- Default:
no
- Default:
- Fees to profit
- Adds order fees to the order profit.
- Default:
no
- Default:
- Delay calculations
- Select order statuses to delay all order profit, cost etc. calculations until. All values will be set to zero until the required order status is set. Leave empty to calculate right away on new order.
- Default: None
Extra Costs: All Orders
Here you can add extra costs for your orders, e.g. handling fees. You will need to recalculate order’s cost and profit after you change these settings.
- Fixed cost
- In your shop currency.
- Default:
0
- Default:
- Percent cost
- Percent from order total (excl. tax).
- Default:
0
- Default:
Extra Costs: Per Order
Adds “Cost of Goods: Extra costs” meta box to admin order edit page. You may need to recalculate order’s cost and profit after you change these settings.
- Handling fee
- Default:
no
- Default:
- Shipping fee
- Default:
no
- Default:
- Payment fee
- Default:
no
- Default:
- Columns
- Will add “Extra Cost: Per Order” columns to the WooCommerce admin orders list. One column per fee.
- Default:
no
- Default:

Extra Costs: From Meta
Adds extra costs from order meta. E.g.: Stripe – _stripe_fee
, PayPal – PayPal Transaction Fee
. You will need to recalculate order’s cost and profit after you change these settings.
- Meta keys
- Ignored if empty. One meta key per line.
- Default: None
Extra Costs: Payment Gateways
Here you can add extra costs for your orders based on order’s payment gateway. You will need to recalculate order’s cost and profit after you change these settings.
- Enable section
- Enables/disables “Extra gateway costs” section.
- Default:
no
- Default:
- Payment gateway X: Fixed cost
- In your shop currency.
- Default:
0
- Default:
- Payment gateway X: Percent cost
- Percent from order total (excl. tax).
- Default:
0
- Default:
Extra Costs: Shipping Methods
Here you can add extra costs for your orders based on order’s shipping method. You will need to recalculate order’s cost and profit after you change these settings.
- Enable section
- Enables/disables “Extra shipping costs” section.
- Default:
no
- Default:
- Use shipping instances
- Enable this if you want to use shipping methods instances (with shipping zones) instead of shipping methods. Save changes after enabling this option.
- Default:
no
- Default:
- Payment gateway X: Fixed cost
- In your shop currency.
- Default:
0
- Default:
- Payment gateway X: Percent cost
- Percent from order total (excl. tax).
- Default:
0
- Default:
Multicurrency
Here you can set currency exchange rates for your orders in non-default shop currency, i.e. order cost and profit will be converted to the default shop currency according to these rates.
- Enable section
- Enables/disables “Multicurrency” section.
- Default:
no
- Default:
- Currencies
- Choose currencies you want to set exchange rates for, and “Save changes” – new settings fields will be displayed.
- Default: None
- Currency pair X (e.g. EURUSD)
- Default:
0
- Default:
Multicurrency Advanced Options
- "Multi Currency for WooCommerce" plugin
- When enabled, the plugin will try to get currency exchange rates from the “Multi Currency for WooCommerce” plugin (by VillaTheme) automatically.
- Default:
no
- Default:
Tools & Reports
Bulk Edit Costs Tool
Bulk edit tool is located in “Tools > Bulk Edit Costs”. Use it if you need to bulk edit costs for all products from a single page.
- Search products
- Possible values: Search by title; Search all.
- Default:
Search by title
- Default:
- Edit prices
- Enable this if you want to edit product prices in addition to cost of goods.
- Default:
no
- Default:
- Manage stock
- Enable this if you want to manage products stock in addition to cost of goods.
- Default:
no
- Default:
- Manage stock: Stock update method
- Ignored unless “Manage stock” checkbox is enabled above. Possible values: Update product meta; Use product functions.
- Default:
Update product meta
- Default:
- Product types
- Select product type(s) to list in the tool (e.g. simple products, grouped products, external/affiliate products, variable products etc.). Leave empty to display all product types.
- Default: None
Import Costs Tool
Import tool is located in “Tools > Import Costs”. Use it if you need to import costs from other meta fields.
- Key to import from
- Meta key to import costs from.
- Default:
_wc_cog_cost
- Default:

Orders Tools
- Recalculate orders cost and profit for all orders
- Set items costs in all orders (overriding previous costs). Enable the checkbox and save changes to run the tool.
- Default:
no
- Default:
- Recalculate orders cost and profit for orders with no costs
- Set items costs in orders that do not have costs set. Enable the checkbox and save changes to run the tool.
- Default:
no
- Default:
- PHP memory limit
- Will set PHP memory limit (in megabytes) right before tools are run. Ignored if set to zero.
- Default:
0
- Default:
Reports
Orders Report
- Orders report: Order status
- Select order statuses for the “Orders > Cost of Goods” report. “Refunded” status is added automatically where applicable. If left empty then default value (“Completed”, “Processing”, “On hold”) is used. Possible values: Pending payment; Processing; On hold; Completed.
- Default:
Completed; Processing; On hold
- Default:
- Orders report: Extra data
- To display data gathered before the plugin v2.0.0, you will need to recalculate orders cost and profit. Possible values: Item costs (excluding fees); Fees (all); Shipping method fees (all); Shipping method fees (fixed); Shipping method fees (percent); Gateway fees (all); Gateway fees (fixed); Gateway fees (percent); Order fees (all); Order fees (fixed); Order fees (percent); Per order fees (all); Per order fees: Handling; Per order fees: Shipping; Per order fees: Payment; Meta fees (all).
- Default: None
Cost of Goods orders report is available in “Reports > Orders > Cost of Goods”.
Stock Report
Cost of Goods stock report is available in “Reports > Stock > Cost of Goods”.
WooCommerce Analytics
- Orders
- Will add “Cost” and “Profit” columns to the “Analytics > Orders” report.
- Default:
no
- Default:

Advanced
Force Costs Update
- Force costs update on order update
- Force empty order items cost update on each order update.
- Default:
no
- Default:
- Force costs update on order status change
- Force empty order items cost update on order status change.
- Default:
no
- Default:
- Force costs update on new order item
- Force empty order items cost update on new order item addition.
- Default:
no
- Default:
Columns Sorting
- Sortable columns
- Makes columns added to admin products and orders lists sortable.
- Default:
yes
- Default:
- Sortable columns: Exclude empty lines on sorting
- Default:
yes
- Default:
Tom –
Does it keep historical data for COGS completed orders?
E.g. Product X COGS were $10 Dec to Jan and from Feb it’s $9. So when report is generated for lets say 12months will it show different COGS for the product X?
WPFactory Plugins –
Hi Tom,
Yes, because reports will use the cost data from orders. If orders have been placed in a period where a product had its price changed, the orders will reflect that. The product costs are saved in the orders.
toni laine (verified owner) –
Great product to update your stock level and costs!
WPFactory Plugins –
Thanks 😉
NAJJAR (verified owner) –
Very good plugin and very good support.
WPFactory Plugins –
Thanks 😉
Reana Anna Brink (verified owner) –
Update (July 27, 2022): I had great support from WP Factory in assisting me with my installation of the plugin. The plugin is working effectively, and providing us with accurate data and more. Thank you Pablo and the team!
Good day,I bought this plugin and I’m still unable to use it. They key was sent to me yesterday by your product support team and it keeps on saying key invalid. I reached out to them again with no reply or uncertain what I should do.KerryWPFactory Plugins –
Hello Reana,
I’m sorry you had problems. This should be a simple problem to be solved.
I just sent you a message. Please, let me know how we can help you.
Scott –
Amazingly fast support, added a feature that we needed to work without any delay. Incredible service.
Plug-in does exactly what we need it to do.
WPFactory Plugins –
Thanks 😉
Sina Arzany (verified owner) –
The support is super fast and amazing.
Plugin also is great and work really smooth and nice.
WPFactory Plugins –
Thanks 🙂
Tasku Kuponai (verified owner) –
I was searching for a plugin that would help me to calculate my profit by deducting the fees of the payment gateway and this plugin does exactly that.
Would recommend this plugin to every starting business to make your life easier and see exactly how much you earn.
WPFactory Plugins –
Thanks 🙂
Tshepang (verified owner) –
Twice this plugin has removed all the costs to our products after months of hard work inputting those costs. On the first time my IT guy was doing some updates to the site, next thing all the data is gone. He did all the checks and was not happy about the plugin not having a backup functionality and recommended I remove it and try another plug in. I didn’t listen, did all the work again, on the last few products as I was adding data and ran a Force costs update, data gone again. WTF!
WPFactory Plugins –
Hello,
The “Force costs update” option will only affect the costs on orders, not the costs from products. If for some reason you only have a problem with the costs from the orders, you can try to run the “Tools > Recalculate for orders with no costs”.
Anyway, let me know if you want our help. We can try to take a look at your problem, and maybe we could even try to create a new option for you to set the costs for all your products at once in bulk somehow.
Let me know your thoughts
VICTOR QUESADA MARISCAL MARISCAL (verified owner) –
WE HAVE REALIZED THAT IT HAPPENS TO PROCESSING ORDERS WITHOUT PAYING !! We have clients who have taken laptops without paying
WPFactory Plugins –
I’m sorry to hear you had issues with the plugin. We did check it on your server and it looks like there are errors coming from another plugin (Checkout with SeQura).
Let us know if you want our help to solve the problem
Benjamin Cohen (verified owner) –
A very useful plugin, Used by us to know exactly the profit products percentages. The plugin Provides a lot of information, Pretty simple to to use, Very professional and fast support. Huge thanks to the developers
Tye –
Excellent plugin with so much functionality but yet so easy to use to keep track of profit at an order level!
Great work team!
Markus (verified owner) –
If you are looking for a plugin for Woocommerce that can help you keep track of your profit, this is the one! Very well build and utilizing lots of native Woocommerce functionality like reports, analytic, and so on. Many settings as well! The owner of the plugin is very friendly and listens if you have issues. For the money, this is a bargain! 🙂
WPFactory Plugins –
😉
Martijn (verified owner) –
Perfect plug-in and service! 🙂
WPFactory Plugins –
😉
Guido Martin –
I owe a beer to you guys! Thanks for your support, and such a great plugin!
waheed448 (verified owner) –
We’ve recently bought this plugin. Seems to be working good. We have request, stock that we receive/buy regularly (with different cost prices from diff vendors) needs to be added with below option in admin product page. This will add stock into existing stock and calc avg cost price. This is essential feature which is working good. We need this option to be added in “Quick Edit” and/or “Bulk Edit” option. Otherwise its really time consuming to go in each product edit option and update these fields, quite consuming task.
Add “Cost of Goods: Add stock” meta box to the product edit page.
Can you please help to enhance this feature or if its aleady exist then please do let us know…..
WPFactory Plugins –
Hi Waheed,
Sorry for the delay.
I’m sending you a direct message via email to discuss about the feature 😉
WPFactory Plugins –
Hello ,
I just released version 2.3.5 with the new Quick and Bulk edit options for the “Add stock” feature.
Please update the plugin and let me know if it works for you 😉
SG (verified owner) –
Highly recommended if you are hesitating between the few COG plugins. I was hesitant and almost got the official one at WC.com but because this is cheaper (I had to try and at worst, get a refund) but it was the best move.
I am super impressed by the speed Tom adjusts his plugin to my requirement and responds to feature requests. And he is making this sync with multi currency which everyone should pay attention to when getting a COG plugin.
plaguna22 (verified owner) –
This plugin is what I have been looking for a long time, it is excellent and it keeps up to date. Tom, the programmer, always helps and responds fast. I highly recommend it
Nicklas –
We have tested several of their plugins and all work as promised. We really want to highlight their fantastic support when you need it. Tom is also helpful with tips and tricks outside of their own plugin. Really appreciated. Thanks! / toplady.se
Harris (verified owner) –
Very good plugin, just what I needed. The best plugin support answered questions and helped solve the problem quickly. I wish all plugin creators were this good.
Ahmad Chehade –
This person is an excellent plugin producer. Takes feedback onboard and updates accordingly. Thank you for making such a great plugin!
Lucas –
Perfect product and perfect support. I recommend. very high quality product
numanzahid (verified owner) –
Great Plugin. Really what I needed.
benye –
Great plugin! Great support!