Skip to content

How to Give Wholesale Prices to a User Role

A trade customer should not see your retail ladder, and a retail customer should not see the trade price. Roles do this. A rule limited to a role is invisible to everyone else.

This tutorial gives the Customer role a 25 percent trade price from 5 units, and keeps the public ladder for everyone else.

Add a rule called Trade pricing. Set From to 5, leave To empty, choose Percentage discount, and enter 25.

In the narrow column on the right, set Priority to 5. Lower numbers are checked first, so this rule is looked at before the ladder, which sits at 10.

Under Targeting, click User Roles and pick Customer.

The User Roles field boxed in the Targeting section

A customer qualifies when they hold any one of the roles you pick. Guest (Not Logged In) is a choice in the list, for visitors with no account. Leave the field empty to give the rule to everyone.

The finished trade rule: from 5 units, 25 percent, priority 5, role Customer

Click Create Rule.

Step 2: Compare what a guest and a customer see

Section titled “Step 2: Compare what a guest and a customer see”

Open a product in a private window, logged out. The guest sees only the public ladder.

A guest’s pricing table with the three public tiers

Now log in as a customer and open the same product. The table has an extra row for the trade tier, and the public tiers are still listed under it.

A customer’s pricing table with the 5+ trade tier above the three public tiers

Every tier that applies to a visitor is listed, sorted by quantity. The role is not hidden from the public rules, so the customer sees both ladders.

Add 12 to the cart as the customer. The line takes the trade price.

The customer’s cart with 12 Beanies at the trade price of $13.50 and Trade pricing under the product

Twelve units fall into both Trade pricing (5 and over) and Bulk 10+ (10 to 24). The trade rule has priority 5, so it is checked first and wins. The price is $13.50 each, 25 percent off the $18.00 sale price, and not the $17.10 of the public tier.

The public tiers never apply to this customer from 5 units up.

Step 4: Limit the public ladder to other roles

Section titled “Step 4: Limit the public ladder to other roles”

Having rows that never apply is confusing. To show the customer only their own tier, limit each public rule to the roles that should still use it.

Edit Bulk 10+, and in User Roles pick Guest (Not Logged In) and Subscriber. Do the same for Bulk 25+ and Bulk 50+.

The public rule edited so that only Guest and Subscriber can use it

The customer’s table now holds one row.

A customer’s pricing table showing only the 5+ trade tier at 25 percent

Anyone whose role is not in the list loses the public ladder. A shop manager or an editor browsing the store would see no tiers at all, unless you list their roles too. Decide who the public ladder is for, and pick the roles to match.

  • A role is not a price list. The plugin gives one price per rule. Two roles with different prices need two rules.
  • Overlaps ignore roles. A role rule and a public rule with the same priority and overlapping ranges are refused by the form, even though the two never meet. Give them different priorities, as above.