This recipe gives wholesale or trade customers their own prices with Dynamic Pricing: one catalogue with a retail price and a trade price. The cart totals below were measured on a real cart.
The price follows the WordPress user role. Anyone in that role sees the adjusted price as soon as they log in: in the shop, on the product page and in the cart. Everyone else sees the regular price. Customers join the role through manual assignment, a registration form or a membership plugin.
What you need
↑ Back to top- Dynamic Pricing, activated
- A user role for your trade customers. Any role works, including one a membership plugin created.
- At least one customer in that role, so you can check the result
Two places to put it
↑ Back to top| Use | When |
|---|---|
| Role Pricing, store-wide | Trade customers get the same discount on everything. |
| The product’s Dynamic Pricing tab | The trade discount differs by product, or applies to selected products. |
When both match a product, the product rule applies.
Route 1: the whole catalogue
↑ Back to top- Go to WooCommerce > Dynamic Pricing and open the Role Pricing tab.
- Find the row for your wholesale role and tick Enabled.
- Set Type to Percentage Discount and Amount to 25.
- Click Save Changes.
A role discount applies to every product at every quantity.
Measured with this rule on two products:
| Signed in as | Regular price | Charged |
|---|---|---|
| Retail customer | $100.00 | $100.00 |
| Retail customer | $40.00 | $40.00 |
| Wholesale customer | $100.00 | $75.00 |
| Wholesale customer | $40.00 | $30.00 |
Route 2: one product
↑ Back to top- Edit the product and open the Dynamic Pricing tab in the Product data panel.
- Click Add Pricing Group.
- Set Applies To to Specific Roles, then pick your wholesale role.
- Leave Rule Processing Mode on Bulk.
- Fill the row: Minimum Quantity 1, Max Quantity
*, Type Percentage Discount, Amount 25. - Click Update.
Minimum Quantity 1 and Max Quantity * mean any quantity. Because the row starts at 1, a logged-in wholesale customer also sees the adjusted price in the shop and on the product page.
Measured on a $100 product with this rule:
| Signed in as | Quantity | Unit price | Charged |
|---|---|---|---|
| Guest | 4 | $100.00 | $400.00 |
| Retail customer | 4 | $100.00 | $400.00 |
| Wholesale customer | 1 | $75.00 | $75.00 |
| Wholesale customer | 4 | $75.00 | $300.00 |
Role pricing and product rules together
↑ Back to topA product’s own rule sets the price of its cart line. To give trade customers a role discount and quantity tiers on the same product, put both in the product rule: one Specific Roles pricing group for trade customers, with as many tiers as you need.
Variations on the same rule
↑ Back to top| You want | Change |
|---|---|
| A flat amount off each unit | Type Price Discount, amount 25 for $25 off each unit |
| A set trade price | In the product tab, Type Fixed Price, amount 75 |
| Several trade levels, such as silver and gold | One role each. Route 1 handles all of them on one screen. |
| Trade customers also get quantity tiers | Route 2 with more than one row. See Tiered quantity discounts. |
| Trade pricing on one category only | Advanced Category Pricing under WooCommerce > Dynamic Pricing > Category Pricing, with Applies To Specific Roles and one Bulk row from 1 to *. |
Every setting is described in the Dynamic Pricing documentation.