How To Make A Wholesale-Only Coupon

Wholesale customers already benefit from discounted pricing, but there are times when you want to give them something extra: a seasonal promotion, a loyalty reward, or a discount tied to a specific product range. Offering exclusive coupon codes is a straightforward way to do this.

WooCommerce coupons are available to all customers by default. Advanced Coupons for WooCommerce is a free plugin that adds a Role Restrictions tab to each coupon, letting you limit a coupon to specific user roles, including your wholesale roles. This article walks you through setting it up.

Requirements

  • WooCommerce installed and active.
  • Advanced Coupons for WooCommerce (free) installed and activated. Available from WordPress.org.

Step 1: Install Advanced Coupons for WooCommerce

If you have already installed and activated Advanced Coupons for WooCommerce, skip to Step 2.

  1. Go to Plugins → Add New Plugin.
  2. Search for Advanced Coupons for WooCommerce.
  3. Click Install Now, then Activate.

Step 2: Create a coupon

  1. Go to Marketing → Coupons → Add coupon.
  2. Enter a coupon code in the Coupon code field at the top of the page.
  3. In the Coupon data box, set the Discount type and Coupon amount on the General tab.
  4. Configure any other settings, such as expiry date or usage limits, as needed.

[📷 SCREENSHOT: Marketing → Coupons → Add coupon showing a coupon code entered and the General tab of the Coupon data box with Discount type and Coupon amount fields visible | ALT: WooCommerce Add coupon screen with a coupon code entered and the General tab of the Coupon data box showing Discount type and Coupon amount | CAPTION: Marketing → Coupons → Add coupon: enter the coupon code and set the discount on the General tab]

Step 3: Restrict the coupon to wholesale roles

  1. In the Coupon data box, click the Role Restrictions tab.
  2. Check Enable Role Restriction.
  3. Set Type to Allowed. Only the roles you select will be able to use the coupon.
  4. In the User roles field, select your wholesale role or roles. If you have multiple wholesale tiers, you can add them all here.
  5. Optionally, enter a message in the Invalid role error message field. This message is shown to any customer who tries to apply the coupon but does not have the required role. If left blank, a default message is shown.
  6. Click Publish to save the coupon.
Role Restrictions tab in Advanced Coupons for WooCommerce with Enable Role Restriction checked, Type set to Allowed, and a wholesale role selected in User roles
Coupon data → Role Restrictions: Enable Role Restriction enabled with Type set to Allowed and a wholesale role selected

Frequently asked questions

What does setting Type to “Disallowed” do?

When Type is set to Disallowed, any customer with one of the selected roles is blocked from using the coupon while everyone else can use it. This is the reverse of the Allowed setting and is useful when you want to offer a promotion to retail customers only, keeping it away from customers who already receive wholesale pricing.

Can I restrict a coupon to more than one wholesale role?

Yes. The User roles field accepts multiple roles. Select all wholesale roles that should be allowed to use the coupon. If you select no roles while Enable Role Restriction is checked, no customer will be able to use the coupon, so make sure at least one role is selected.

Will retail customers see an error when they try to use a wholesale-only coupon?

Yes. When a customer without the required role applies the coupon at checkout, they see an error message. By default this reads “You are not allowed to use this coupon.” You can replace it with something more specific using the Invalid role error message field on the Role Restrictions tab.

Can I test the coupon as an administrator before sharing it with wholesale customers?

Yes, but you need to add the Administrator role to the User roles field on the Role Restrictions tab. Otherwise the coupon will be blocked for your admin account too. Once testing is complete, remove the Administrator role from the list so only wholesale customers can use it.

Does role restriction work with variable products?

Yes. Role restrictions are checked at the cart level, not at the product level. The coupon works with any product type (simple, variable, or grouped), as long as all other coupon conditions such as usage limits, product restrictions, or minimum cart total are also met.

Does a wholesale-only coupon work with WooCommerce Wholesale Order Form?

Yes. Role-restricted coupons work with any standard WooCommerce checkout flow, including WooCommerce Wholesale Order Form. The coupon code can be applied at checkout in the same way as any other WooCommerce coupon.

My wholesale coupon is not working for wholesale customers. What should I check?

If you use WooCommerce Wholesale Prices Premium, check whether Disable Coupons For Wholesale Users is enabled under Wholesale → Settings → Wholesale Prices → General in the Wholesale Customer Capabilities section. This setting globally blocks coupon use for all wholesale customers and will prevent role-restricted coupons from working. Uncheck it and save to restore coupon functionality for wholesale customers.

Do I need Advanced Coupons Premium for role restrictions?

No. Role restrictions are available in the free version of Advanced Coupons for WooCommerce. Advanced Coupons Premium adds additional features such as BOGO deals, cart conditions, URL coupons, and automatically applied coupons, but you do not need it to restrict a coupon by wholesale role.

What if I want to block wholesale customers from using coupons entirely?

If you use WooCommerce Wholesale Prices Premium, enable the Disable Coupons For Wholesale Users setting under Wholesale → Settings → Wholesale Prices → General in the Wholesale Customer Capabilities section. This globally turns off coupon functionality for all customers with a wholesale role.

Need help?

We have a dedicated support team for Wholesale Suite who knows our products, WooCommerce, and the industry very well. You’re welcome to make use of their expertise at any time, worldwide.

If you are an existing customer please go to the support ticket request form and send us a message.

If you are a free plugin user, please send us a support request on the forum. We actively monitor the WordPress.org support forums for the free plugin and help our users there as best as we can.

Was this article helpful?

Related Articles

Complete Your Purchase