Setting up Role Based Pricing to utilise Sage Customer and Special Price Lists

Setting up Role Based Pricing to utilise Sage Customer and Special Price Lists

Introduction

Woosage now supports the application of Customer and Special Price Lists to customer roles in WooCommerce (WordPress roles).

Each Customer Price List is mapped to a website role that will apply the relevant prices to customers with a role using a 3rd party Role Based Pricing plugin and we currently support the following RBP plugins.
  1. WooCommerce Wholesale Pro by Barn2 plugins (RECOMMENDED)
  2. WooCommerce Role Based Pricing by Elex (Basic* and premium versions)
* Basic version of Elex plugin does not support role prices for variations

Special Prices in Sage are variations to a Product Selling Price or Customer Price List for specific customers and the way we implement this in Woosage is to duplicate the Customer Price List for the customer and then overwrite prices for products for which the customer has a Special Price.  The name of this new Special Price List is the Customers Sage account code and is referred to as the Price Reference.

For this reason, Woosage does not support Customer Price Lists that have the same name as any customer account code and Customers with Special Prices must have a website role with the relevant customer privileges named as their Sage customer account code. If any Customer Price List have the same name as a customer account code then the procedure described here must be carried out.

The Woosage settings are the same, regardless of which plugin is used and they are located in the Woosage Control Centre under the Settings>Woosage tab, as shown below.



The first setting enables/disables the Price List functions within Woosage, which will automatically detect which plugin is being used, and the second settings allow you to prevent Woosage updates from Special Price Lists.

By default, Woosage will extract all Sage Customer and Special Prices Lists and update the corresponding Roles on the website.

Website Setup

The website setup is slightly different for depending on the plugin used, each of which are explained below, but they both have one common element - the Roles must be created for each Price List and assigned to the customer User Profiles, as appropriate.

Defining Roles
A role is a label applied to a set of capabilities or privileges, which can then by assign to a user, so the first thing to do is create the roles.  If the user's current role is Customer, then the existing Customer role is cloned or duplicated with the name of the Price List and this role replaces the user's current role in their User Profile.  If the user has a different or multiple roles, then create a new role with the minimum privileges and assign it to the User's Profile as a Secondary Role.

If using the Elex or Barn2 plugin you must create the roles using the feature in the plugin settings

Role names must match the Sage names, with the Special Price List name being the customers Sage account code

If using the Code Canyon plugin we recommend you use the Roles plugin by WP Front https://en-gb.wordpress.org/plugins/wpfront-user-role-editor/s. 

Enter the Display Name exactly as the Sage Price List name.  The Role Name will automatically be generated and must not be amended.

If you use another plugin or your developer creates the roles then the role name must be in lowercase, regardless of role display name, which will be in uppercase.

Once the roles are setup on the website, then you can configure the plugin-specific settings.

Role Based Pricing Plugin Setup  (Code Canyon version)

The settings for this plugin can be located in the website under WooCommerce>Role Based Price Settings and will look like the following.



In the Allowed User Roles field enter the roles, which will be used for the Price Lists and ensure Regular Price is in the Allowed Product Pricing field.

Woosage doesn't support Sale Prices, as there is no Sage equivalent.

When the Woosage price update is run (see here) then each product will display the Role Based Prices in the website backend as shown below.




In the above example, a user logged on with the Trade role will see a price of 9.5 and others will see 10.0.
The red dot indicated that no price is set for the Wholesale Customer role.

Role Based Pricing Plugin Setup (Elex version)

This plugin has an in-built facility to manage user roles (as labels, not privileges), which can be found at WooCommerce>Settings>Role-Based Pricing>Manage User Roles. The roles, which should be named exactly as the price list names, should be added to the User Profile of the relevant users as additional roles.

Having setup the roles you wish to map to Sage Price Lists, add the roles to the settings field shown below at WooCommerce>Settings>Role-Based Pricing>Role Based Settings



This is the only setup required for this plugin and the price list will populate the individual product prices for each role (Product Data>General Settings), as shown below, when Woosage Price List update runs.


Role Based Pricing Plugin Setup (Barn2 version)

The setup instruction for this plugin are only intended to cover the role based pricing features and not the broader features of the plugin.
To create the roles, go to WooCommerce>Settings>Wholesale>Roles and click Add New, which will display the following:



Then enter the role name in Display Name and tick the checkbox Product Specific Pricing.  The checkbox enables specific role based prices for the role on all products, as shown below, and these prices are populated by Woosage from the Sage Price List with the same name as the Role.
Note: Unticking the Product Specific Pricing checkbox will hide the price in from the product but it will continue to be updated by Woosage.


Note there is a WSALE role that is the default wholesale role created by the plugin, which cannot be removed. Internally, this is represented as wcwp_wholesale.
IMPORTANT! The plugin only shows the Display Name of the role in the settings, which matches the internal role with a prefix of "wcwp_" when first created and Woosage uses this to assign prices.  However, if you edit the role only the Display Name is can be changed, so you must delete the role and add it with the new name to ensure that the role name matches the price list.

Replacing Customer Accounts that use a Customer Account Code as a Name

For any Customer Price List that has the same name as a Customer Account Code, execute the following steps for each Customer Price List in Sage. You may first need to run a report to show teh customer accounts that are using the offending Customer Price Lists.

Select Customers in the left-hand menu in Sage

Click Price Lists in the ribbon bar at the top of the screen and the Customer Price Lists will appear in a popup window (the Price Lists window).

Select the price list for the Customer Price List to be changed

Click the Copy icon at the top of the popup window. This will open another popup window.

Enter a unique name. This must not be one of the customer account names. Update the description, if required.

Click the Save button in the bottom right-hand corner of the popup window, then click Close to close the Copy Price List window.

In the Price List Window, select the old price list and click the Delete icon from the top of the window.

Another popup window will open, warning you that you are about to permanently delete a price list. Click Yes to confirm.

In the Price List window, click Close to close it

From the Customer view, select the first customer account that uses the old Customer Price List and open the customer record (double click or select Edit from the top ribbon bar. The Customer Record will open in a popup window.

Select Defaults from the left-hand menu of the popup window.

Using the dropdown next to Price List select the new Price List.

Click the Save button, followed by the Close button to close the Customer Record window.

If there is more than one customer using the old price list repeat, then steps 10 to 13 with the next customer account code.


    • Related Articles

    • Sage Customer and Special Price Lists

      Introduction Woosage now supports the application of Customer and Special Price Lists to customer roles in WooCommerce (WordPress role). Each Customer Price List is mapped to a website role that will apply the relevant prices to customers with a role ...
    • Using the Vizulate Simple Role Based Pricing Plugin with Woosage50

      Purpose Simple Role Based Pricing is a plugin provided by Vizulate to facilitate the mapping of Sage Price Lists & Special Pricing to website roles. It can be used on it's own or with wholesale/trade/B2B plugins, where we don't support their method ...
    • Using the Vizulate Simple Role Based Pricing Plugin

      Purpose Simple Role Based Pricing is a plugin provided by Vizulate to facilitate the mapping of Sage Price Lists & Special Pricing to website roles. It does not provide any other functionality, but may be used with other plugins that include RBP ...
    • Creating a Sage Price List as a duplicate of Selling Prices

      Why might this be required? This may be a requirement in the following scenario. Your trade or wholesale prices are held in Sage in the Sage Selling Prices and you want to make these available to trade customers when they login to your website, via ...
    • Woosage50 Price & Product Processing (Professional Edition)

      The features explained in this article are only available in the Professional edition of Woosage50 When the various product and prices settings of Woosage50 are enabled, the Sage product records are used to update and create website product data, ...