Wholesale & Tiered Pricing for WooCommerce

Description

Wholesale & Tiered Pricing for WooCommerce is the most flexible wholesale pricing plugin for WooCommerce stores. Designed for B2B shops, wholesale distributors, and bulk sellers, it lets you define custom prices, tiered volume discounts, and quantity purchase rules for any user role — including custom roles created by membership or access-control plugins.

Show eye-catching tiered pricing tables on your product pages, let customers see exactly how much they save as they buy more, and automate bulk discount logic without writing a single line of code.

🎥 Watch the Plugin Overview Video:

👉 See how to set up wholesale pricing rules in under a minute!

Whether you run a wholesale WooCommerce store, sell to B2B customers, or simply want to reward bulk buyers with volume discounts, this plugin covers every scenario:

  • Charge different prices per user role (wholesale, retailer, VIP, distributor, etc.)
  • Offer quantity-based tiered discounts (buy 5 save 10%, buy 10 save 20%)
  • Set minimum, maximum, and step purchase quantities per role
  • Display professional pricing tables directly on the product page
  • Schedule flash sales and time-limited pricing rules with start and end dates
  • Show a live savings calculator so customers see their discount in real time

Key Features

Role-Based Wholesale Pricing

  • Assign different product prices per user role — wholesale, retailer, B2B customer, VIP, vendor, or any custom role.
  • Full backward compatibility with both single-role and multi-role rule formats.
  • Global pricing rules act as a wildcard and apply to all logged-in users or guest users.
  • Works with any custom role created by plugins like WooCommerce Memberships, Ultimate Member, or User Role Editor.

Tiered / Volume Discount Pricing

  • Create quantity-based pricing tiers: the more a customer buys, the lower the price per unit.
  • Set tiers as a fixed discount (e.g., $5 off per item) or a percentage discount (e.g., 15% off).
  • Apply tiers to all variations or target a specific variation of a variable product.
  • Multiple tier levels per rule — unlimited pricing bands.

Scheduled & Flash Pricing

  • Set an Active From and Active Until date on any pricing rule.
  • Rules outside their date window are automatically excluded from pricing, tables, cart validation, and discount messages — no manual toggling needed.
  • Perfect for flash sales, seasonal wholesale pricing, and time-limited B2B promotions.

Quantity Rules per Role

  • Minimum quantity — require wholesale buyers to purchase at least N units.
  • Maximum quantity — limit retail customers to a maximum order size.
  • Step/increment quantity — force orders in multiples of 2, 5, 10, etc.
  • Quantity enforcement applies on the product page, in the cart, and at checkout.

Beautiful Pricing Table Templates

  • Six ready-made table layouts: Table, Options, Minimal Table, Compact List, Plain Text, Horizontal.
  • Choose the default template globally and override it per product.
  • Control which columns appear: Quantity, Price, Discount.
  • Set a custom table title and active-tier highlight color.
  • Responsive layout option for mobile shoppers.
  • Choose where the table appears: above/below add-to-cart, before/after product meta, or after product summary.

Live Savings Calculator

  • Displays a real-time savings widget on the product page.
  • Updates automatically as the customer changes the quantity input.
  • Shows regular price, discounted price, total savings amount, and discount percentage.
  • Can be enabled or disabled from Template Options settings.

Discount Badges in Cart, Checkout & Orders

  • Applied wholesale tier is shown beside each line item in the cart, checkout, customer order details, and admin order screen.
  • Customers see exactly which discount tier was applied and how much they saved.

Variable Product Support

  • Full support for WooCommerce variable products — rules and tiers can target all variations or a specific variation.
  • Pricing tables update dynamically when the customer switches between variations.

Performance & Security

  • Transient caching on the wholesale reports page (5-minute TTL).
  • Pre-warmed post meta cache to eliminate N+1 database queries.
  • Capped product and category queries (limit: 200) to prevent timeouts on large stores.
  • All AJAX handlers protected with nonce verification and capability checks.
  • Admin-only handlers are never registered as publicly accessible.

Wholesale Reports

  • Dedicated Wholesale Reports page inside WooCommerce showing revenue, order counts, and top wholesale buyers.

Screenshots

  • Role-based and tiered pricing rules setup in the product editor.
  • Tiered pricing table (Table template) displayed on the product page.
  • Live savings calculator widget on the product page.
  • Quantity restriction messages on the product page and in the cart.
  • Template Options — choose template, position, columns, and color.
  • Global pricing rules panel (multi-role selector with scheduled dates).
  • Options table template for pricing display.
  • Minimal table template for pricing display.
  • Compact list template for pricing display.

Installation

  1. Upload the plugin folder to /wp-content/plugins/, or install directly from WordPress Plugins Add New.
  2. Activate the plugin through the Plugins screen.
  3. Navigate to WooCommerce Tiered Pricing Template Options to configure global display settings.
  4. Navigate to WooCommerce Tiered Pricing Pricing Rules to set global role-based pricing rules.
  5. Edit any product and open the Tiered Pricing tab in the product data panel to set per-product rules.

FAQ

Can I set different prices for wholesale customers vs retail customers?

Yes. Create separate pricing rules — one for your wholesale role (e.g., “Wholesale Customer”) and one for standard customers. Each role sees only its own price.

Does it support WooCommerce variable products?

Yes, fully. You can apply pricing rules to all variations or to a specific variation. The pricing table on the product page updates in real time when the customer selects a variation.

Can I offer volume discounts that increase with quantity?

Yes. Each rule supports unlimited pricing tiers. You can define as many quantity breakpoints as you need, using either a fixed dollar discount or a percentage discount per tier.

Can I set minimum or maximum order quantities per role?

Yes. Each rule has optional Minimum Quantity, Maximum Quantity, and Step Quantity fields. These are enforced on the product page, in the cart, and at checkout.

Does it work with custom user roles from membership plugins?

Yes. Any role registered in WordPress — including those created by WooCommerce Memberships, Paid Memberships Pro, Ultimate Member, or User Role Editor — is automatically available in the role selector.

Can I schedule pricing rules to run during a specific date range?

Yes. Every pricing rule has optional “Active From” and “Active Until” date fields. Rules outside their scheduled window are automatically skipped — no manual toggling needed. Use this for flash sales, seasonal wholesale rates, or limited-time B2B promotions.

Can guest (non-logged-in) users see wholesale prices?

Yes. Create a Global rule and enable the “Make it for guest user also” option. Guest users will see those prices and discounts without needing to log in.

Can I show the pricing table on some products but hide it on others?

Yes. There is a “Show Pricing Table” toggle on every product’s Tiered Pricing panel. You can also control the default behavior globally from the Template Options settings.

Will this plugin slow down my store?

No. The plugin uses transient caching for reports, pre-warms meta cache to eliminate N+1 queries, and uses bounded database queries to avoid timeouts on large catalogs.

Does it support multiple languages?

Yes, all frontend strings are fully translatable. The plugin ships with a .pot file and is compatible with WPML, Polylang, and Loco Translate.

Will this work with my theme?

Yes. The pricing table templates use minimal HTML/CSS and inherit your theme’s base styles. You can also override templates in your child theme.

Where can I get support?

Please open a support thread in the WordPress.org plugin support forum. We typically respond within 1–2 business days.

Reviews

ноември 22, 2025
This plugin works exactly as promised. I needed tiered pricing and role-based discounts for my B2B customers, and setup was surprisingly easy. The pricing table looks clean on the product page, and my wholesale buyers immediately understood the quantity breaks. Compared to other wholesale plugins I’ve tried, this one feels lighter and more straightforward, but still powerful enough for real-world use. It handles variable products well too, which was important for my store. Support has been responsive, and the plugin continues to get updates, which gives me confidence. Overall, if you need simple but flexible wholesale and tiered pricing, this is an excellent choice.
ноември 6, 2025 1 reply
I’ve recently installed and configured Wholesale & Tiered Pricing for WooCommerce on my WooCommerce site and I’m very pleased with how smoothly it works. The user interface is clean and intuitive: assigning different user roles and setting quantity-based tiered pricing took just a few minutes and worked exactly as described. The pricing table that appears on the product page looks professional and gives my B2B wholesalers a clear and transparent view of their discounted price levels. I particularly appreciate the fact that the plugin supports both simple and variable products and allows role-based pricing rules — exactly what I needed for a hybrid B2C + B2B store. The code is open-source, which gives me confidence that even if support were to slow down in the future, I or my developer can maintain or adapt it. Given that this plugin was released only a couple of months ago, I’d encourage the developers to continue growing it: more integration documentation (multilingual support, large-catalog performance, import/export bulk tiers) would be fantastic. For other store owners looking to add wholesale functionality with tiered pricing, this plugin is an excellent start — highly recommended.Thanks to the author(s) — please keep up the great work!
ноември 1, 2025
This plugin works great for setting up tiered and wholesale pricing. It was easy to install, and the pricing rules were simple to set up. Everything works as expected, and it’s been a big help for managing bulk orders in my store. Support was quick and friendly too. Highly recommend!
октомври 23, 2025
Perfect plugin for dynamic pricing!This plugin made it super easy to set up wholesale and tiered pricing in my WooCommerce store. I love how simple the interface is — just set rules by user role and quantity, and it works instantly. The pricing table looks clean and professional too. Definitely one of the best free pricing plugins out there! 👏
Read all 4 reviews

Contributors & Developers

“Wholesale & Tiered Pricing for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.2.0 – 2026-03-12

  • Added Scheduled / Flash Pricing — pricing rules now support Active From and Active Until date fields; rules outside their scheduled window are automatically excluded everywhere (product page, cart, checkout, quantity validation, discount messages).
  • Added date pickers to the product editor (PHP) and the global pricing rules form (Vue) for per-rule scheduling.
  • Fixed date fields not being saved when clicking “Save Changes” in the global pricing rules admin — date_from/date_to were silently stripped by the AJAX sanitize function.
  • Fixed expired or future-dated rules still applying prices, showing pricing tables, enforcing quantity limits, and displaying discount badges — all rule lookups now route through the central date filter in WHTPRole_Pricing_Helper::get_rules_for_product().
  • Fixed cart and order discount messages using the variation ID instead of the parent product ID, causing rules to not be found for variable products.

1.1.1 – 2026-03-08

  • Fixed critical data corruption bug where JSON settings were mangled on save, silently breaking all pricing rules on every product page.
  • Fixed admin-only AJAX handlers that were incorrectly registered as publicly accessible, exposing pricing rule reads and writes to unauthenticated users.
  • Fixed pricing table not appearing for users matched by global rules due to role format mismatch between old single-role and new multi-role rule formats.
  • Fixed variable product pricing table throwing a fatal foreach error when rules were stored as a JSON string instead of a decoded array.
  • Fixed early-return bug in cart validation and price HTML filter that loaded global rules but then discarded them and returned without applying them.
  • Fixed missing return after security error in savings calculation handler, allowing code execution to continue after an auth failure.
  • Added nonce verification and capability check to product data save handler.
  • Added Show savings calculator toggle in Template Options settings — admins can now enable or disable the savings calculator widget per store.
  • Improved performance: added transient caching to the wholesale reports page (5-minute TTL) and pre-warm post meta cache to eliminate N+1 queries.
  • Replaced unbounded wc_get_products(limit: -1) and get_terms calls in global settings with capped queries (limit: 200) to prevent timeouts on large stores.
  • Moved activation hook registration to plugin load time (outside plugins_loaded) for correct WordPress lifecycle behavior.
  • Renamed global get_wp_user_roles function to prefixed whtprole_get_wp_user_roles to avoid namespace collision with other plugins.
  • Removed dead code: unused find_applicable_tier() and getPrice() methods, stray second class instantiation that caused all hooks to register twice, and commented-out admin_head block.

1.1.0 – 2026-02-10

  • Added Wholesale Reports page with revenue and order analytics.
  • Enhanced user experience with real-time price recalculation based on variation selection.

1.0.8 – 2026-01-24

  • Enhanced variable product support across all pricing table templates.
  • Added dynamic variation filtering — pricing tables now show only tiers applicable to the selected variation.
  • Added automatic price updates when customers select different variations on variable products.

1.0.7 – 2026-01-23

  • Added support for assigning tiered pricing rules to multiple user roles using a normalized roles array.
  • Introduced a Global pricing option that applies to all user roles as a wildcard.
  • Added an “Apply to Guest Users” option for Global rules to control pricing for non-logged-in users.
  • Improved admin UI with a multi-select role selector for better flexibility and usability.

1.0.6 – 2025-01-23

  • Added Dynamic Savings Calculator — real-time savings display that updates as customers change quantity, showing total savings and discount percentage.
  • Improved pricing calculation logic with better edge case handling.
  • Fixed pricing calculation issues when max_qty constraints are set.

1.0.5 – 2025-11-10

  • Added pricing rule support for guest (non-logged-in) users.
  • Added option to show or hide the pricing table per product.

1.0.4 – 2025-11-07

  • Added multilingual support for all frontend strings.
  • Minor bug fixes.

1.0.3 – 2025-11-01

  • Admin order details now display the applied tier pricing rule beside each product line item.
  • Discount notice now shows in the cart, checkout, and order details pages (frontend).
  • Discount calculation now uses the actual selling price instead of the regular price for more accurate savings.

1.0.2 – 2025-10-22

  • Fixed undefined price_type key on cart and checkout page.
  • Fixed single product tiered pricing settings not saving properly.
  • Fixed pricing table not displaying on product page until general settings are saved.

1.0.1 – 2025-10-22

  • Bug fixes and minor improvements.

1.0.0 – 2025-10-22

  • Initial release with role-based pricing, tiered volume discounts, quantity rules, and customizable pricing tables.