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.
- WooCommerce Wholesale Pro by Barn2 plugins (RECOMMENDED)
- 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
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.
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.