Support for Costs of Goods Sold with QuickBooks Online

This article explores how to manage costs of goods sold (COGS) within QuickBooks Online, such as allocating expenses and tracking income.

Written by the MyWorks Team

Updated at July 26th, 2023

Using Costs of Goods Sold in QuickBooks can be very helpful for accurate reporting for inventory items. This documentation article breaks down how MyWorks Sync can help when managing Costs of Goods Sold.


Cost of Goods Sold is recorded in QuickBooks, by QuickBooks - when an order is added. It's only recorded by QuickBooks IF the QuickBooks product has an associated Cost present, and is not empty. 

If the "Cost" of the product is set in QuickBooks, and the product is correctly mapped in the map dashboard of MyWorks Sync (WP-Admin>MyWorks Sync>Map); when an order is synced to QuickBooks from WooCommerce by MyWorks Sync it will correctly record those Costs on a per product level as the user has configured in QuickBooks.

It is not possible to first sync orders and then configure Costs for products in QuickBooks, as cost must be present for a product in QuickBooks first, before an order is entered.

Should transactions already exist in QuickBooks and you needed to re-capture COGS values for already synced orders, you would first need to delete the incorrect transactions in QuickBooks and then re-push those orders to QuickBooks once Costs are correctly configured in QuickBooks.

Historical Orders

COGS can be correctly recorded in QuickBooks when syncing historical orders to QuickBooks from WooCommerce (Orders received before installing MyWorks Sync).

So long as those products are correctly mapped in the map dashboard of MyWorks Sync and the cost value is present in QuickBooks products, the cost of goods sold will be recorded in QuickBooks when an order is synced into QuickBooks through MyWorks Sync.

We always suggest test syncing 1 transaction, checking those COGS are being honored and then syncing bulk to save yourself on editing/deleting time down the line.

Using the WooCommerce Cost of Goods Sold extension:

MyWorks Sync includes compatibility for the WooCommerce Cost of Goods Sold by SkyVerge plugin within all plans.
*Plugin purchased separately

Overview: When a cost is added to the “Cost of Good” field in a WooCommerce product, MyWorks Sync can sync that cost along with the product to QuickBooks if MyWorks Sync is creating that product in QuickBooks for the first time. 

This is primarily useful in scenarios where a user prefers to enter costs in WooCommerce (although managing COGS in WooCommerce alone will not record COGS for orders in QuickBooks) - and sync those Costs values from the "Cost" data field added by the WooCommerce COGS Plugin in WooCommerce products TO the above mentioned "Costs" field in QuickBooks products.

Steps to enable

  1. Have the WooCommerce COGS Plugin installed and active on your WooCommerce store.
  2. Have MyWorks Sync compatibility enabled for WooCommerce COGS Plugin under WP-Admin>MyWorks Sync>Compatibility

Once enabled

  • When a new product is created in WooCommerce and given a COGS value, MyWorks Sync can sync that COGS value along with the product data to QuickBooks either automatically - if you have automatic product syncing enabled from WooCommerce to QuickBooks under WP-Admin>MyWorks Sync>Settings>Automatic Sync; or manually, by manually selecting and pushing those products in the "Push" dashboard of MyWorks Sync - WP-Admin>MyWorks Sync>Push>Products.
  • MyWorks Sync can also sync an updated COGS value to the QuickBooks "Cost" field if a mapped product has it's COGS value updated in WooCommerce and you have the "Product" switch enabled from WooCommerce to QuickBooks under WP-Admin>MyWorks Sync>Settings>Automatic Sync

Using the COGS field in the QuickBooks tab

Prefer to not use the above WooCommerce COGS extension, and just need a simple way to set a COGS in a WooCommerce product before it's synced to QuickBooks to be created the first time?

Within the "QuickBooks" tab of a WooCommerce product, a "Cost" field is present, which can be used to set the cost of a product, and will be used when MyWorks syncs that product to QuickBooks to be created for the first time. 

Once the product is created in QuickBooks, or the WooCommerce product is mapped to a QuickBooks product - this "Cost" field will not show in the QuickBooks tab of the WooCommerce product, as Cost should then be managed directly in the QuickBooks product.

Read more on this "QuickBooks" tab in our doc on this here.