Roles & Rules B2B Review: Role-Based Pricing for WooCommerce

This article was researched and written by our experts using our in-depth Analysis Methodology.
Roles & Rules B2B helps you set up role-based pricing on your WooCommerce store, along with features to add bulk dynamic pricing and hide products if needed. In our Roles & Rules B2B review, we'll give you a hands-on look at how this plugin works.
Table of Contents
WP Engine High Performance Hosting
BionicWP Hosting
Roles & Rules B2B

If you have a WooCommerce store with different types of customers (such as retail and wholesale customers), it’s important to have a way to set different prices based on the role of each customer – this is called role-based pricing.

However, by default, WooCommerce doesn’t offer a way to set up role-based pricing – the price of a product is always the price whether it’s a retail customer, a wholesale customer, a business customer, etc.

Roles & Rules B2B fixes this by giving you an easy way to set up flexible role-based pricing. You can use it for B2C (business to consumer), B2B (business to business), wholesaling, etc. You’ll also get lots of rules for controlling how every single product appears to different types of customers.

In our hands-on Roles & Rules B2B review, we’ll tell you more about what this plugin can help you do and then give you a hands-on look at how it works.

Roles & Rules B2B Review: The Feature List

As I mentioned above, the core feature in Roles & Rules B2B is that it lets you set up role-based pricing on your store. Despite the B2B in the name, the plugin can work for both B2B and B2C stores, and it’s especially well-suited to wholesale stores.

One of the useful things about the plugin is that it gives you a lot of options for setting up your role-based pricing. For each role, you can:

  • Set storewide price rules, including special sale prices.
  • Override those rules for certain categories of products.
  • Override those rules for individual products.

In addition to adjusting the prices, you can also set up bulk pricing rules. For example, if people buy 20+ items, you could further reduce the price. And again, you can set these up at both the category level and the individual product level.

You can also hide certain products or categories of products, or even completely make your store private. For example, if you sell both B2C and B2B, you might have some products that you want to only be visible to B2B customers (or vice versa). With Roles & Rules B2B, you can easily set that up.

Finally, Roles & Rules B2B also includes a tool to help you create the user roles themselves, which makes it easy to set up as many different roles as needed for your store.

Hands-On With Roles & Rules B2B

Now that you know what the plugin can do, let’s go hands-on and I’ll show you how it works on my WooCommerce site.

Setting Up Your Roles

If you’ve already created the user roles for the different types of customers at your store, you can probably skip this section. Roles & Rules B2B will automatically detect all of the existing roles on your store, so you can get to work setting up pricing rules right away.

However, if you haven’t done that, Roles & Rules B2B also includes a tool that lets you set up your own custom user roles.

To set up your roles, you can go to WooCommerce → Roles & Rules B2B → Roles. There, you can create as many roles as needed.

For example, I’ll set up two roles for different levels of wholesale customers – “Wholesale Level 1” and “Wholesale Level 2”:

Create user roles

This interface is really handy for quickly setting up roles, but you should note that it doesn’t let you control capabilities for your roles like a full user role manager plugin might do.

If you do need the ability to control individual capabilities, I recommend using a dedicated plugin like User Role Editor or WPFront User Role Editor. Roles & Rules B2B will automatically detect any user roles that you create with those plugins (or that you manually create with code).

As for the default capabilities of the roles that Roles & Rules B2B creates, they seem to be clones of the default WooCommerce “Customer” role.

Configuring General Settings

Next, you can configure some of the plugin’s general settings, which you can access by going to WooCommerce → Settings → Roles & Rules B2B. You get two settings areas for the plugin:

  • General – holds some key options such as creating a private store or hiding the retail prices.
  • Dynamic price labels – does exactly what the name says – it lets you configure the text strings, colors, and fonts for the front-end dynamic price labels.

In the General tab, there are three settings worth singling out:

  • Private store – this lets you hide the product prices and add to cart buttons for guest users who aren’t logged in. Anonymous users can still see the product content (good for SEO), they just won’t be able to view the prices or purchase products.
  • Hide retail price – this lets you choose whether you want to only show the adjusted price that applies to each user or whether you want to show both the retail price and the adjusted price. I’ll show you an example of this later on.
  • Use Net prices for B2B – this lets you override tax settings and show prices excluding tax.

You’ll also get some other options to configure text strings and other basic settings:

Roles & Rules B2B settings

And here are the options for Dynamic price labels:

Dynamic price labels

Some of the settings will make more sense after configuring your pricing rules, so you can always come back to these later.

Creating Rules

Now that you’ve set up the basic settings and your customer roles, you’re ready to start using the “rules” part of the plugin’s functionality.

To do that, head to WooCommerce → Roles & Rules B2B.

First, you’ll use the drop-down to choose the user role for which you want to create the rule. You can choose from all the default user roles, any custom roles that you’ve created, as well as a guest option (more on that next):

Targeting a rule

Once you’ve chosen the role, that will expand a new interface where you can set up all the pricing rules for that user role.

Now, you’ll be able to configure rules across the three tabs at the top:

  • General – set up general rules that apply to all products.
  • Categories – override those rules for certain categories of products if needed. You can also set up bulk pricing rules.
  • Products – override those rules for individual products if needed.


In the General tab, you’ll first set the general price rule that applies to all products. You can:

  • Increase or decrease the price by a percentage.
  • Increase or decrease the price by a fixed amount.

You can also set up general rules for different categories of products (though you’ll get more detailed control in the Categories tab).

Beyond the general price rules, you also have the option to:

  • Automatically apply a coupon at checkout.
  • Set rules for sale prices, including start and stop dates. There’s also a button to Clear sale, which is convenient for setting up a new set of sale rules.

For example, let’s say you want to reduce the prices by 10% and apply that storewide. You would configure it like so:

General rules

Quick note – make sure to hit Save rule every time you make a change. The plugin won’t warn you if you click away before saving, so it’s easy to miss. I think it would be a user-friendly addition to add a warning prompt if people click away before saving data, as I made this mistake a couple of times.


Next, you can jump to the Categories area, where you can set up more detailed pricing rules for different categories of products.

At a basic level, you get the same option to increase/decrease the price of products in those categories by a percentage or a fixed amount. But you also get some new, more detailed options:

  • You can hide the entire category of products for shoppers with this role. This is useful if you want to limit which roles can access certain products.
  • You can set up quantity-based roles for dynamic pricing. For example, you could make the default discount 10% but give people 20% off if they purchase at least 20 items.
Category rules

You can also set up multiple rules for a single category. For example, you could do one rule for regular prices and another rule for sale prices. To set up multiple rules, just add the category multiple times and you’ll get a row for each instance.


Finally, you can go to the Products tab to apply rules to individual products. You get the same general rules as categories, but you’re able to apply them to individual products.

One new option is that you get a Fixed price option for adjusting prices. That is, instead of increasing/decreasing the regular price by a percentage/amount, you can just set a fixed price.

For example, below you can see that I’ve set the default fixed price for this role to $12 with a further reduction to $10 if a user purchases 20+ items:

Product rules

And that’s it! You can repeat the same process for additional user roles.

Creating Rules for Guest Users

One new feature that Roles & Rules B2B recently added is the option to create rules for guest users (i.e. anonymous users who haven’t created an account and therefore don’t have a user role).

This is a useful feature that helps you also use Roles & Rules B2B for B2C stores, as it lets you control the pricing rules for anonymous B2C customers. You can create rules for guest customers just as you did for the other user roles – all you need to do is target your rule to guests:

Guest rules

An Example of Dynamic Pricing Rules

To finish things out, let’s look at an example of how the role-based pricing from above will work.

Here’s the price for anonymous shoppers (i.e. B2C shoppers). I’ve configured it so that they see the normal retail price:

Regular price

But when a user logs in to an account with the “Wholesale 1” user role, they’ll see the new fixed price of $12 for this product, along with a prompt telling them that they can get an even better price if they buy 20+ items:

Role-based pricing

Remember – in the plugin’s settings, you can configure the text strings for all of these messages along with whether or not you want to display the original price.

Roles & Rules B2B Pricing

Roles & Rules B2B is a premium plugin that’s sold through the official WooCommerce extensions marketplace.

It costs $79, which gets you one year of support and updates.

Final Thoughts on Roles & Rules B2B

If you have a situation where you need to set up pricing rules for different B2B or B2C customers, Roles & Rules B2B makes that pretty easy to do. You get a good amount of control, with options to control pricing rules storewide, at the product category level, or at the individual product level.

It can also handle bulk pricing adjustments, which is great for wholesale stores. And you get some other nice options such as the ability to hide certain products/categories and set up sale pricing.

Overall, I found it very easy to use and the features worked exactly as expected in testing. So – if you need this functionality, definitely give it a look:

The plugin developer, Consortia, also has a number of other plugins that focus on bulk controlling/updating your WooCommerce store. If you want to see some other options, we’ve also reviewed two of their other plugins:

Colin Newcomer

Colin has been using WordPress for over a decade and is on a quest to test all 60,000+ plugins at He has been a Writer and Product Review Expert for WP Mayor since 2017, testing well over 150 products and services throughout that time.

Discover more from our archives ↓

Popular articles ↓

Share Your Thoughts

Your email address will not be published. Required fields are marked *

Claim Your Free Website Tip 👇

Leave your name, email and website URL below to receive one actionable improvement tip tailored for your website within the next 24 hours.

"They identified areas for improvement that we had not previously considered." - Elliot

By providing your information, you'll also be subscribing to our weekly newsletter packed with exclusive content and insights. You can unsubscribe at any time with just one click.