Want to be able to export orders with cost data? Check out the Customer / Order / Coupon Export extension, which is compatible with Cost of Goods.
- Download the extension from your WooCommerce dashboard
- Go to Plugins > Add New > Upload and select the ZIP file you just downloaded
- Click Install Now, and then Activate
- Click the Configure link and read the next section to learn how to setup and configure the plugin.
- PHP 5.3+ (You can see this under WooCommerce > Status)
- Year – Data for the current year
- Last Month – Data for the previous calendar month
- This Month – Data for the current calendar month
- Last 7 Days – Data for the past 7 calendar days
- Custom – Data for a specific (configurable) date range
Only products that have “Manage stock” and a stock amount entered will be displayed in Product Valuations, as Cost of Goods needs to know how many units there are.The product valuation report is located under WooCommerce > Reports > Stock > Product Valuation. This will show you your inventory value at retail price, total value by cost, and units in stock for every product. This list is also searchable. You can use the “Search” box to search for a product name and view only the returned results instead.
Only products that have “Manage stock” and a stock amount entered will be displayed in the Total Valuation, as Cost of Goods needs to know how many units there are.The total valuation report is located under WooCommerce > Reports > Stock > Total Valuation. This is a simple report to give you the overall value of all stock on hand at retail and at cost for a complete inventory valuation.
To export WooCommerce reports, WooCommerce requires that your browser support the download property. The download property is supported in Firefox, Opera, and Chrome (not Safari or Internet Explorer).All profit reports can leverage the WooCommerce Core “Export to CSV” action. This will export a CSV of the data shown in the report, such as date, cost, sales, number of orders, etc. The exported data will depend on which report you are currently viewing, and will include the data show in the report. Product Valuation reports can also be exported to get a list of value at retail and value at cost. If an order is editable (WooCommerce allows editing before the order is paid for), then the costs for the line item will be editable as well. The “Cost of Goods” value displayed is the total cost of the line item (product cost x quantity purchased), so editing this cost edits the cost for that entire line on the order. Note that, if you adjust a line item’s quantity, the cost does not automatically update as well. This is because often when manually editing items, such as in the case of refunds, cost doesn’t always equal product cost * quantity. For example, you may want to double the cost for a particular order to indicate breakage during shipping, or to alter the cost from the product’s configured cost. As such, the plugin will suggest the cost as product cost * quantity, but you may configure whatever cost you’d like: If you need to edit the cost of a product, you can safely do so by editing the product itself. Orders already placed will maintain the historical costs, while new orders will use the updated product cost. If you issue a refund, then the cost of the refunded item will be deducted from your order cost automatically. For example, if you have an order of a product with a $3 cost and a $10 retail price, when refunding that product, the $10 is deducted from your sales, and the $3 is also deducted from your total costs. WooCommerce refunds are stored as a unique order type (sort of a mirror / negative of the original order), but these are not editable, so editing the cost of the refunded item is not possible. If you want to “lose” an item to breakage or maintain its cost when refunded (so you’ll have negative profit tracked for that item), this is not quite possible with the current order set up, as refunded / paid orders are not editable. You’ll need to make all orders editable (be careful!) by adding this to your custom code plugin / theme functions.php:
// Make all WC order statuses editable add_filter( 'wc_order_is_editable', '__return_true' );You can then edit the cost to add additional cost for the breakage of the refunded item. Cost of Goods is compatible with several official WooCommerce extensions automatically. When Product Bundles is used to sell several products together as a group, you can set the cost for the products or bundle, depending on the bundle configuration. If a bundle is statically-priced, then cost will be assigned to the bundle as a whole. You must enter a cost for the bundle while creating / editing it: Since the price is assigned to the bundle as a whole, the cost will be assigned to the bundle as a whole as well. This means that profit for a static bundle is tracked as profit for the bundle product, not for the component products. For a per-item bundle, since the pricing of each product is used, any costs configured for those products will be used as well. You must have “Per-item Pricing” enabled to create this type of bundle. Since the price is tracked per-product and sales are attributed to each product, then the cost for each product will be used as well (this must be configured for the product itself). This will track profit and costs for each component product in the same was as if they were sold individually. Cost of goods can be set for products which are bulk added or updated by the Product CSV Import Suite by using the following column in your import file:
|cost_of_good||The cost of the item||Numerical||99.99|
|Meta: _wc_cog_cost_variable||The cost of the variable product||Numerical||99|
|Meta: _wc_cog_cost||The cost of the simple product||Numerical||99|
|Meta: _wc_cog_min_variation_cost||The minimum cost of the variant item applied to the variation product||Numerical||99|
|Meta: _wc_cog_max_variation_cost||The maximum cost of the variant item applied to the variation product||Numerical||99|
- Have the “Type” column set to “variation”
- The “Parent” column set to the main variable product SKU
- The “Meta: _wc_cog_cost” column set for each variation.
line_itemscolumn data. When using another format, exported CSV order data from this plugin will automatically include the total cost for the order and the total cost for each line item in the order as the last columns.
|order_cost_total||The total cost for the order||Numerical||19.99|
|total_cost||The total cost for the line item||Numerical||3.99|
|item_cost*||The cost for the individual line item||Numerical||1.99|
|XML Data||Description||Outputted Value||Example|
|<OrderCostTotal>||The total cost for the order||Numerical||19.99|
|<LineCostTotal>||The total cost for the line item (total quantity)||Numerical||3.99|
|<ItemCost>||The cost for the individual item||Numerical||1.99|
You should install Cost of Goods and set costs for orders before connecting to Metorik. If you install Cost of Goods after your store is connected, you should reach out to Metorik support to re-sync your orders.This is especially useful if you’re looking for profit margin for products or orders. Order reports can show a breakdown of profit and margin: While product lists in Metorik will show cost of goods, profit per product, and margin per product. Cost of Goods is also compatible with the WooCommerce Measurement Price Calculator plugin: when using the calculated price option, cost of goods will be automatically calculated. Having trouble exporting your new reports? Be sure you’re using a supported browser. Not seeing all products under valuation report? Please ensure manage stock is enabled and a stock quantity is entered for the product. Experiencing any other issues? We’d be happy to assist! Get in touch with support via the help desk and please include a detailed description of the issue. Q: Will I be able to view profit and cost reports for previous orders placed before I install the plugin? A: Yes, you can view profits for orders placed before using this plugin! The plugin can apply current costs to all previous orders so that you can gain immediate insight into most and least profitable sellers.
Q: Does this plugin support WooCommerce Bookings? A: In a very basic way. You can set the cost for the booking product as a whole currently. This is helpful for bookings like appointments or event tickets that will have a set cost for the booking purchase. For example, if you sell appointment blocks, you can set a cost for this booking. This doesn’t not work very well if you have a booking that uses blocks configurable by the customer (like hotel rooms), as the cost cannot be set per block. We do have full compatibility with block costs on our roadmap, and you can let us know your interest in this the Woo Ideas board.
Q: Does this plugin support WooCommerce Product Bundles? A: Yes! You can read full details above.
- Bundled items in per-item-priced containers will use the cost set on each individual item
- Bundled items in statically-priced containers will use the cost set at the bundle level
Q: Does this plugin support WooCommerce Product Add-Ons? A: No. Product Add-ons is not compatible at this time. Have a question before you buy? Please fill out this pre-sales form. Already purchased and need some assistance? Get in touch with support via the help desk.