Syncing QuickBooks Price Levels with WooCommerce Role Based Pricing

Learn how to sync your QuickBooks price levels with WooCommerce role-based pricing to manage separate pricing for different customer segments in WooCommerce.

Written by the MyWorks Team

Updated at March 21st, 2024

By default, WooCommerce does not include support for setting different prices in a product based on the role of the customer viewing/purchasing the product in WooCommerce. However, since QuickBooks Desktop does have support for configuring Price Levels, MyWorks has additional support for the ability to map certain Price Levels in QuickBooks to specific Roles in WooCommerce, and being able to sync the price in each of these QuickBooks Price Levels to the corresponding products in WooCommerce: when a supported Role Based Price plugin is used in WooCommerce.    

In this article, we'll cover how to set this up in MyWorks to begin syncing prices from QuickBooks Price Levels in to WooCommerce. 

Syncing the core product price

In MyWorks Sync > Settings > Pull, you can set which QuickBooks price MyWorks uses as we sync the core product price from QuickBooks to WooCommerce. By default, this is set to “Price”, which is the normal price of the item in QuickBooks. However, this can instead be set to either a custom field in your QuickBooks product, or a price level you've created in QuickBooks. In this case, the price level set here would be used for the core product price of all products in WooCommerce.

An example of when this would be used would be if you have “In-person” pricing for manual orders made in QuickBooks, but want to have different pricing for products in WooCommerce. You could create a “Website” price level, and MyWorks would read the prices in this price level to sync to WooCommerce products.  

Syncing Price Levels to Role-Based Pricing in WooCommerce

MyWorks also supports mapping specific QuickBooks Price Levels to WooCommerce Roles in your site, when you're using a supported Role Based Pricing plugin in WooCommerce. Since WooCommerce/Wordpress supports creating as many custom roles as desired (this is possible through either a plugin or the help of your developer) - it's quite straightforward to create as many roles in WooCommerce as needed to accomplish this.  

Common examples where this can be helpful are cases where you have different segments of customers that have a different price for your products. By creating custom roles in WooCommerce - one for each segment of customers - you're able to map each role to the desired QuickBooks Price Level. Then, as MyWorks syncs product pricing from QuickBooks into WooCommerce, we'll follow these mappings to ensure the correct price level price syncs to the correct role based pricing in WooCommerce. 

Getting Started

In order to accomplish the above, there's simply a few steps to correctly enable this in MyWorks and begin syncing price level prices. 


MyWorks supports one Role Based Pricing Plugin. This must be installed in your WooCommerce store. 

In QuickBooks Desktop, your Price Levels need to have the Type of “Per Item”, in order for MyWorks to be able to read them.

Setup Steps

  1. Once the above plugin is installed, visit MyWorks Sync > Price Level Map. Here, you can map your WooCommerce Roles (on the left) to your QuickBooks Price Levels (on the right).  
  2. Once mapped, visit MyWorks Sync > Settings > Automatic Sync, and enable the setting to sync Pricing from QuickBooks to WooCommerce.

That's it! The next time MyWorks runs a sync, we'll sync the price levels for the products you have mapped from QuickBooks into WooCommerce, following the price levels you have mapped.