Changelog – Bulk Pricing for WooCommerce

This extension has been discontinued.


  • New: Added support for the "Display prices in the shop" setting option
  • Fixed: Deprecation warning in PHP 7.4
  • Fixed: Calling method_exists on null on PHP 8.x
  • Fixed: Warning trying to access array offset on bool
  • Fixed: Removed obsolete session_start call
  • Dev: Added filter bpp_fix_variation_display_prices
  • Dev: Compatible with WooCommerce 6.2
  • Dev: Compatible with WordPress 5.9


  • New: Added support for WooCommerce Points and Rewards extension
  • Tweak: Switched back to using has_terms() as it appears to be much faster for products with lots of variations
  • Fixed: Always load the price from the product to prevent the discount rules from being applied multiple times
  • Fixed: Update the variation prices so WooCommerce shows the real lowest and highest prices
  • Fixed: Possible fatal error when importing product rules containing non-existent product IDs
  • Fixed: Possible PHP warning "A non-numeric value encountered" for products without price
  • Fixed: Use the variation's price instead of using its parent's price
  • Fixed: Non-numeric value warnings
  • Fixed: Price suffix not displaying correctly
  • Dev: Added Debug Log setting option


  • New: Added "Disable on Sale Products" setting
  • New: Added the ability to change rulesets when updating products using CSV import
  • Tweak: Added the Cumulative Scope in the import/export process
  • Tweak: Display the rulesets alphabetically
  • Tweak: Show the discount profile ID in the Discount Profiles table
  • Tweak: Apply tax to fixed-price rulesets depending on WooCommerce's tax display settings
  • Tweak: Sorted the products alphabetically in the Products tab
  • Tweak: Set the adjusted price as the sale price so WC is able to display the original price and the marked down price together
  • Fix: Fixed pagination in the Products tab
  • Fix: Remove session_start() from the dashboard to prevent breaking WP's loopback functionality
  • Fix: Fixed the "Invalid argument" warning when pulling the available rulesets
  • Fix: Fallback to the parent's ruleset if none is found for the selected variation
  • Fix: Use wc_get_price_excluding_tax() if available to prevent deprecated code warnings
  • Fix: Use the new Coupons getter methods when available to prevent deprecated code warnings
  • Fix: Added missing add_to_cart hooks for displaying the discount table
  • Fix: Fixed a bug where importing of variations are being skipped
  • Fix: Fixed the ruleset ID that gets used in the Edit Product page
  • Fix: Skip applying the new price as a discount when the new price is greater that the current price


  • Fixed possible PHP Notice "Undefined index ... in wc_bulk_pricing_updater.php on line 33"
  • Switched from the deprecated woocommerce_product_write_panels hook to woocommerce_product_data_panels
  • Minor CSS fixes


  • Fixed issue where category discounts were not applied properly to variations
  • Added a version check to prevent deprecated errors (fixes "id was called incorrectly" PHP warning message)


  • Fixed issue where cumulative profiles were not loading the proper rulesets for variations
  • Hide the entire .bulk_pricing_discounts_wrapper element so the custom header will show and hide along with the discount table
  • Access the product ID and variable ID using the appropriate call (fixes "variable_id was called incorrectly" PHP warning message)


  • Skip generating the discount table and header if there's no active ruleset for the current product
  • Added woocommerce_bulk_pricing_table_html filter to change the table HTML
  • Fixed possible fatal error (since 1.8.7)


  • Added support for WooCommerce 3.0
  • Added support for variable subscription products
  • Fixed: Variable products not getting the discounts applied in the cart and checkout
  • Fixed: Hide the table initially for variable products when the variation display mode is set to 'hide'
  • Include the SKU when exporting product rulesets


  • display bulk prices with tax if enabled in WooCommerce
  • added a setting to toggle the display of the discount table on variable products
  • load the discount table even if there's no active ruleset to load the scripts used by variable products in updating the pricing table


  • fixed issue where discount table would show zero instead of actual prices on variable products with default variation selected (WC2.6)


  • fixed product variations not showing the custom discount rules table on edit product page (WC2.6)


  • moved the Discount Profile setting into the Bulk Pricing tab on the edit product page because the General tab is hidden for variable products in WooCommerce 2.6 an newer


  • ready for WordPress 4.6
  • fixed no discount being applied in cart when there is no ruleset but only a global user role discount active
  • improved Add New Discount Profile screen - removed product count info and renamed Update button to Add


  • fixed updating pricing table for variations on frontend when different variation attributes were selected (WC2.4)
  • fixed layout issue on discount profiles page for very long rule tables
  • added Support for WooCommerce Product Bundles plugin (beta)


  • fixed saving variations via AJAX on WooCommerce 2.4
  • improved error handling on license activation and deactivation

  • added option to set default header "Quantity discounts available" for products using custom rules

  • added option to globally disable bulk pricing for guests

  • fixed variation options in WooCommerce 2.3

  • fixed discounts not showing up in cart on WooCommerce 2.3
  • fixed possible php warning when saving variable product

  • fixed custom rules for parent variation not being saved
  • fixed php warnings on edit product page

  • regard WooCommerce "Price display suffix" option when "Show lowest price" option is enabled

  • fix issue in WooCommerce caused by rounding percentage discounts per product to 2 decimals


  • automatically remove empty rows from rules tables on saving
  • removed limit of 20 columns for discount info table on frontend


  • made more strings translateable


  • added shortcode wcbp_discount_table
  • fixed issue with cart widget not being updated on WooCommerce 2.0


  • added support for internationalization


  • added SKU column to exported discount profiles
  • added support for SKU column when importing discount profiles from CSV
  • added support for importing tab delimited CSV files

  • added action hook wcbp_display_discount_info to manually embed discount info table
  • compatible with mysqli extension

  • improved CSV import error handling
  • fixed CSV import for CR line endings

  • added custom rules on variation level
  • added pagination on products tab


  • renamed ruleset to discount profile
  • fixed cart widget in WooCommerce 2.1
  • layout improvements for WooCommerce 2.1
  • improved importing of discount profiles
  • added import and export options for custom product level discounts

  • sort rulesets alphabetically
  • added manual license activation check

  • performance improvements for sites with many categories with rulesets assigned


  • layout adjustments for WooCommerce 2.1
  • added more hook options for discount info position
  • enable custom rules from parent product for variations (beta)

  • added option to limit rulesets specifically to guests (not logged in visitors)
  • handle user role specific rulesets with higher priority than rulesets for all users

  • added missing from: prefix to variations with no active rulesets but user discount enabled
  • added round to zero decimals option

  • fixed issue of user role discounts not being visible when variations are selected
  • beta support for up to 500 rows per ruleset (not recommended though)

  • fixed possible issue with WooCommerce Cart Reports plugin

  • added filter to control showing the discount info table
    (you could use this to hide discounts from visitors)

  • added discount info position option
  • improved inline documentation for custom rulesets on variation level

  • added template tag wc_bulk_pricing_discount_table()


  • added global setting to show lowest price on custom product rulesets
  • allow negative percentages as user role discount (resulting in an increased price)
  • fixed php warning


  • added option to cumulate all custom product rulesets
  • show custom product ruleset details on Products tab


  • added discount info display priority option
  • added default number of rows option
  • improved inline documentation


  • allow multiple rule sets per category (useful to differentiate by user role)
  • improved products page and added option to remove rulesets from products
  • added expert mode option to allow rulesets that do not begin with 1 unit at 100%


  • added support for multisite networks (beta)


  • added filter hooks for modifying custom header and footer


  • fixed combining user percentage discount with rulesets using fixed price values
  • added filter hook to adjust discount info position on products page


  • added columns for user role and show lowest price option to CSV import and export
  • fixed updating regular price on import
  • added option to ignore discount rules when coupon is applied


  • assign rulesets to products with matching SKU when importing from CSV


  • fixed issue regarding custom rules on variable products


  • fixed import / export for more than 5 rules per ruleset


  • added css classes to discount table rows
  • added hooks and filters to modify discount pricing table


  • import / export rulesets as json or csv


  • added wrapper div to discount info


  • new option to show the ruleset name in cart
  • improvements to the cart widget
  • fixed variation level rulesets on WooCommerce 2.0


  • new option to combine role discount with bulk pricing rules
  • assign discount ruleset for each variation


  • update discount info when variation is selected on products page
  • fixed issue with single quotes in custom header and footer


  • added options to control rounding and display of extra decimals


  • improved products tab display


  • new option for relative discounts per user role
  • new option to disable bulk pricing per user role


  • fixed possible rounding issue when using relative discounts


  • fixed possible php warning when updating categories


  • new: create custom discount rules when editing a product


  • option to join cumulative rule sets


  • option to duplicate rule sets


  • improved documentation with example rule set


  • new option to show the lowest price


  • ready for WooCommerce 2.0
  • new option to hide discount table on products page
  • custom table header and footer
  • up to 20 rules per set


  • new option to restrict discount rules to specific user roles
  • improved documentation
  • fixed usage counts on edit ruleset page
  • fixed issue with cart widget


  • support for WP 3.5


  • new option to make a rule set count cumulative instead of exclusive


  • various bug fixes and improved documentation


  • final release