Wholesale Pricing for WP e-Commerce uses custom User Roles to apply different pricing levels against preferred customers (e.g. Subscribers, Wholesalers, Staff, guests/site visitors, etc.).

Wholesale pricing rules can be set via the Settings screen to be applied store wide for each User Role and/or overridden on a per-Product basis via the Add/Edit Products screen, pricing rules include:

  • Easy to use mark up/mark down controls for User Roles and Products
  • Support for local currency (e.g. dollar) or percentage based mark up/mark down (e.g. Add 15% mark up to all Products when viewed by guests/site visitors, or take $3.00 off all Products for logged-in Users/Subscribers, etc.)
  • Per-User Role fixed price overrides can be applied on per-Product basis (e.g. Sell Sample Product for $45.00 to Wholesalers, show default Price and Sale Price to guests/site visitors, etc.)
  • Disable Wholesale Pricing on a per-Product basis (e.g. Ignore pricing rules for Sample Product but apply to all other Products)

You can now bulk import/export Wholesale Pricing per-Product rules with Product Importer Deluxe.

WP e-Commerce Compatibility

  • WP e-Commerce 3.7 ready (up to 3.7.8)
  • WP e-Commerce 3.8 ready (up to 3.11.*)


The latest release can be downloaded from your My Account page.


Looking for support, a copy of the readme, Plugin updates, Ideas or usage instructions? Check out our Documentation for Wholesale Pricing.


  1. Can the wholesale discount be calculated before coupons? I also use the plugin”WPEC bulk discount category” and I need to incorporate wholesale plugin after the “subtotal with no tax included” and before the coupon.


  2. Hey,
    Just wondering when you may be adding the minimum quantity option.

  3. I have products with price as zero. I want to hide these products from Site Visitor / Guest.
    I have set the “Product Visibility” to “Hide Product”, but still the product gets displayed for Site Visitor / Guest.
    Is it a bug in the plugin or am i doing something wrong?

    • Hi George, you’ll need to check the readme.txt, it’s just a matter of adding a simple conditional template tag to your wpsc-products_page.php and wpsc-single_product.php. πŸ™‚

  4. i want to be able to specify that the wholesale order should or a minimum order, can i do this with this plugin, rather then just price variation?

    for example can we just set an automatic number in the quantity??

  5. I am using wholesale pricing with a Flexishop theme. Upon checkout the wholesale price is correct, but when looking at the products before adding them to the cart, the retail price is shown. Is this the way it suppose to be, or is there anyway to have the products show the correct wholesale price once logged in?

    • Hi Anthony, please ensure you apply the Core changes in 3.8.6 as my patch for these changes has not yet been implimented into the Core WP e-Commerce Plugin. The instructions are easy and covered within readme.txt of the Plugin provided. πŸ™‚

      • I was unable to make the fix happen. I guess some of the lines of code were different so I was not exactly able to follow the readme. Think I may have messed something up because one of my plugins is not working correctly. Are you going to have the fix built in anytime soon? I had been out of town so a little delayed but thanks for you original quick response.

        • Hi Anthony, feel free to get in touch as I’ll make this change for you. Remember to include login details (WP Admin and FTP).

  6. Hi Michael,
    Before I update wpe can you confirm that they added the support for wholesale pricing as I can’t see it in their change log.

    • Hi Andrew, from what I can see my patch has not been included as yet, I’ll be visiting the Instinct office tomorrow so will provide it to them in person πŸ™‚

  7. Will this wholesale plug-in work with WP Flexishop or Express Store Premium ecommerce sites?

    IN general, Can I hide the prices from those who are not registered users?

  8. Hi Michael
    Thank you very much. I finally managed to make it work. It was my own mistake. The plugin works really well! THANK YOU!

  9. TAXES & wholesale pricing plugin

    Hi Michael, I have seen in a few comments people asking about your wholesale pricing plugin as it relates to taxes. Typically, when selling wholesale to customers, no taxes are charged because taxes are only collected when the item is resold at retail. However, when I use your plugin, my wholesale customers still see a tax charge in the checkout page. Is there a way in the current plugin to tell wp-ecommerce not to charge tax for wholesale customers? Also, is there a way to also eliminate shipping charges for specific wholesale customers? If not, these two features would be great on a future wholesale pricing plugin update. Please respond. Thanks.

    • Hi jimario, Wholesale Pricing at this time has no affect on the behaviour of tax calculation it merely adjusts the Product Price as it is being fed to the customer’s cart and in the consequent Checkout process. I’m quite confident we could minipulate the Checkout to not charge tax either altogether or on a per-Product basis for wholesale customers. Let’s brainstorm on the Idea I’ve set up to track development for this feature. πŸ™‚

      • Hi Michael, I hope you can fix the sales tax issue soon. I am setting up a site with your wholesale plugin and I’m sure that sales tax will be a big issue for the client since they’re based in California. Therefore any wholesaler also based in California will be charged 9.5% tax when they shouldn’t be.

        • Hi Ed, sales tax isn’t an issue it’s an enhancement. I’ll have a play with it over the weekend and see what I can come up with. πŸ™‚

          • Hi Michael,
            Have you had a chance to take a look at excluding taxes during checkout?

            • Hi Ed, unfortunately not I’m pushing a bit of a backlog of Plugin updates. I recommend getting in touch with a WPEC Pro via > Resources > WP Consultants. πŸ™‚

    • For anyone looking for a fix to not charge taxes for wholesalers, go to wpsc-taxes/controllers/taxes_controller.class.php , and look for function wpec_taxes_calculate_excluded_tax( $cart_item, $tax_rate ) . This assumes you’ve set up a ‘wholesaler’ account with the User Role Editor plugin. After //do not calculate tax for this item if it is not taxable , add the following lines :

      //Test User Roles for Wholesaler
      global $current_user;
      $user_roles = $current_user->roles;
      $user_role = array_shift($user_roles);

      Then change if(!isset($cart_item->meta[0][‘wpec_taxes_taxable’]) ) to
      if(!isset($cart_item->meta[0][‘wpec_taxes_taxable’]) && ($user_role != ‘wholesaler’) )

      Hopefully the formatting won’t be messed up when I post this. Since this modifies a core function, it will have to be manually changed everytime there is an update.

      • thanks for offering this Ed. I’ve been waiting for ideas on this very issue. I’ll implement it to see if it works out. Hopefully the formatting from your post was correct.

        • Ed,
          Looks like I replied prematurely. The version of WPEC I’m running is 3.7.7. The file structure & file you referred to does not exist on that version. The only “tax” file I could find was tax_and_shipping.php located in the main WPEC directory and it doesn’t have code related to what you’ve posted. πŸ™ Back to the drawing board.

            • I figured that might be the case. Anyone know of which file in 3.7.7 I could apply this kind of fix to?

              • Do what I did – look in the template file for checkout that calls the function for taxes, and keep following subsequent function calls until you find what you need.

      • Hey Ed, that rocks! I’ll speak to Instinct and see how we can get that cooked into a Plugin update; through filters and hooks! πŸ™‚

        • Glad you like my code Michael! Here’s my code for a propsed filter. Same as above, after //do not calculate tax for this item if it is not taxable , add the following line :

          $item_not_taxable = apply_filters (‘is_item_taxable’ , ”);

          Then change Then change <imeta[0][‘wpec_taxes_taxable’]) ) to

          if(!isset($cart_item->meta[0][‘wpec_taxes_taxable’]) && (!$item_not_taxable) )

          Then my code in functions.php

          add_filter ( ‘is_item_taxable’ , ‘is_user_wholesaler’);
          function is_user_wholesaler () {
          //Test User Roles for Wholesaler
          global $current_user;
          $user_roles = $current_user->roles;
          $user_role = array_shift($user_roles);
          if ($user_role == ‘wholesaler’) {
          return true;

          • I just realized that while the above code does work, it is somewhat counter-intuitive in the choice of words used in the variables and functions. Instead, use

            $item_not_taxable = apply_filters (‘is_item_tax_exempt’ , ”);
            if(!isset($cart_item->meta[0][‘wpec_taxes_taxable’]) && (!$item_not_taxable) )

            in the wpsc core file, then

            add_filter ( ‘is_item_tax_exempt’ , ‘is_user_wholesaler’);
            function is_user_wholesaler () {
            //Test User Roles for Wholesaler
            global $current_user;
            $user_roles = $current_user->roles;
            $user_role = array_shift($user_roles);
            if ($user_role == ‘wholesaler’) {
            return true;

            in functions.php

  10. Your plugin works very well, but my client is concerned because there is no way to prevent a wholesaler from simply ordering a very small quantity or dollar amount. And since there is no easy way to check if an order is from a wholesaler, this could be problematic. Please tell me minimum purchases (both currency and quantity) is being worked on!

    • Hi Ed, would minimum quantity restrictions be implemented at Add to Cart time or prior to successful Checkout? I can add an Idea to add support for this as needed πŸ™‚

      • Hi Michael, I think prior to successful checkout would be the better way, Thanks so much!

      • Hi Michael,
        Were you able to implement a minimum wholesale order? Also, if the client want to sell wholesale only in a login-required area (no retail), will this plugin do the trick?

  11. Hy,
    I just bought this great plugin.
    Is there a way to show discount according to user when logged in?
    On cart widget or product page?

    Thank you,

  12. Hi There
    This looks like a great plugin. Can you tell me if it has the ability to set individual product pricing for all levels or is it just a standard ‘x’ ammount added to the price as per user level?

    Look forward to somebody’s reply


    • Hi Ashley, Wholesale Pricing allows you to assign a default pricing level – either $ or % markup/markdown – against each User Role which is then reflected throughout the store, within each individual Product you can override the default by assigning each Product it’s own pricing levels; again by $ or % markup/markdown.

      I’m now looking with a client at adding support for fixed Product prices as an alternative to Product pricing levels which could be toggled at a store-wide level or per-Product/where needed. This feature will be rolled out as part of a future Plugin update for Wholesale Pricing customers πŸ™‚

      • I know its early days, but I can’t wait for this update!! You wouldn’t happen to have a preliminary timeline or this?

        Awesome plugins too!! πŸ™‚

        • Hi Michael, fixed priced overrides are available in the 1.6.4 Plugin update with support for WP e-Commerce 3.7 and 3.8. I’ve implemented this in such a way that on a per-Product level the fixed price will always take precedence over $/%-based pricing. πŸ™‚

  13. So far everything i have purchased from this site does not work with 3.8 as described. merely for the fact that myself and im sure others are all using product variations. when or how do we get this resolved?

      • Ok, great thanks for the quick response. it is working now but only on the shopping cart level. it doesn’t show wholesale pricing in grid-view or on the product pages. is this a supported feature?

        • Hi Stevep, can you please confirm that you’ve made the adjustments to the Core WP e-Commerce Plugin as detailed in the readme.txt. I’ve provided a patch to the Instinct team to remove the need for Core changes in 3.8.6 πŸ™‚

    • 1.6.2 has just been released, variation support for WP e-Commerce 3.8 is just one of the changes in this Plugin update! πŸ™‚

      • hi michael,
        just did the update and made the changes to the changes to the core, though, still not having any luck.

          • ok, i think i know my problem, the global setting seem to over ride the product variation (i think). would you be able to have a look at my db and code by any change..?

          • Hi Andrew, I think I may have confused how to implement variation support. Right now Wholesale Pricing hides the per-Product properties and uses the pricing rules on the parent Product (e.g. Socks > Colour: Red, Socks would be the parent) in conjunction with the variation price (e.g. 10% discount on Red Sock that would usually be $4.95). Is this how you expected this behavior to work?

            • So you cant set the percent/price increase on a per product basis. Eg Set Product A to increase by 20% of set price and set Product B by 50%

              • Hi Andrew, for each Product sure – just as always – but you can’t set per-Variation pricing and that’s where the Wholesale Pricing widget is hidden; within the individual Variations. πŸ™‚

  14. Hi Michael
    Thank you for your quick updates on everything and for your awesome plugin. However, I’m really needing it to work with variations as every single product in this shopping cart has variations.

    When would this be possible.
    Thank you

    • Hi Carolina, please download the latest 1.6.2 Plugin update, Product variation support has been cooked into this release. Just as you have been doing you set the pricing levels within the Product and those rules pass onto the Product variations. I’ll be working with the WP e-Commerce team to get the 3.8 changes included in the next Plugin update.

      Please read the readme.txt as there are some minor file changes neccesary in WP e-Commerce versions up to 3.8.5, 3.8.6 will have these fixes baked in. πŸ™‚

      • Hi Michael
        Thank you! It seems its working fine but I think I’m doing something wrong.
        My client sells clothing. She has variations of colour, size and material on most products. The price is the same for the parent product (e.g. shirts). I will like to be able to set one level of discount for some users for the parent products. It seems that I have to do it for each variation and that will be a pain for me (e.g.shirt-blue-medium-cotton, shirt-blue-large-silk.etc).

        The discount appears fine at first. But when I choose my variations (e.g. red-large) the price goes back to the original.

        I’m not sure if this is clear. If you prefer I can send you screenshots to your email.


Add a comment

Before you comment - Do you have a support request? If so, this is not the right place to post it. Please submit support requests for Premium Plugins on the Support page and in the community Support Forums for free Plugins.



Wholesale Pricing comes with a Quick Start document (readme.txt) to help with installing the Plugin. Additional support can be found from theΒ ContactΒ page or methods below.

Urgent Support

If you find yourself needing immediate support for your purchase use theΒ Premium SupportΒ page or Live Support button.

Wholesale Pricing Forum

If you have any problems, questions or suggestions please join the members discussion on our Wholesale PricingΒ forum.


As the end-user you’re driving this Plugin’s future. Vote for a feature enhancement and/or suggest features in the Comments section.

[poll id="5"]