Download WooCommerce E-Commerce Bundle Rate Shipping

Download WooCommerce E-Commerce Bundle Rate Shipping

About bundle rate shipping

The WooCommerce Bundle Rate Shipping Plugin allows you to provide special bundled shipping rates when a customer purchases multiple items.

The plugin is designed to be flexible, so you can define bundled shipping rates based on the shipping destination, the categories of the products being sold, or their shipping class.

You can also add additional layers for each category, adding a degree of complexity that you may find suitable for your store’s situation. For example, if you sell books, you could charge $5 for the first book, $2 for the 2nd, 3rd and 4th books, and nothing for any additional books purchased.

You can add as many layers as you like.


1. Basic example

Jane’s shop sells books, DVDs and CDs. Her shipping rates are configured as follows:

  • Books: $5 for the first book, $2 for every book thereafter.
  • DVDs: $4 for the first DVD, $1 for every DVD thereafter.
  • CDs: $4 for the first CD, $1 for every CD thereafter.

In this case, if a customer were to purchase two books, their shipping cost would be $7 ($5 for the first book, $2 for the second book).

If another customer were to order 4 DVDs, their shipping cost would be $7 ($4 for the first DVD, $1 each for the other three).

2. Free shipping after 4 products

Bill’s shop sells books. He charges $4 for shipping if the customer purchases 1-3 books, and offers free shipping when the customer purchases 4 or more books. Here’s how he configured his shipping rates:

  • 1st item: $4
  • 2nd – 3rd item: $0
  • 4th item: $-4
  • Subsequent books: $0

3. Using shipping classes

Helen’s shop sells beer. It is sold either by the box of 24 bottles, or by a case of 6. To define her rates, she uses two shipping classes: Box of 24, and Case of 6. Her rates look like this:

  • Box of 24: $12 for the first box, $6 for every box thereafter
  • Case of 6: $8 for the first case, $4 for every case thereafter

4. Free shipping when the order is over $100

New in version 1.3.3: Frank’s shop uses a standard bundle rate configuration just like Jane’s shop above (exampe 1), but with one very important difference: When customers purchase over $100, he offers free shipping.

Frank configures his rates the same way that Jane did, but uses the woocommerce_brs_shipping_total filter to provide free shipping for orders over $100:

add_filter( 'woocommerce_brs_shipping_total', 'franks_custom_woocommerce_brs_shipping_total_filter' );

function franks_custom_woocommerce_brs_shipping_total_filter( $shipping_total ) {
    global $woocommerce;

    // If there is more than $100 in the cart, set shipping to $0
    if ( $woocommerce->cart->cart_contents_total > 100 ) {
        return 0;

    // Otherwise, return the default shipping rate
    return $shipping_total;

5. Staged shipping rate increases

Misha sells DVDs and ships them in packages that can contain up to three DVDs. The shipping price for each package is $4. So for every set of three DVDs, the shipping rate is calculated at $4. She would define her rates as follows:

  • 1st DVD: $4
  • 2-3 DVDs: $0
  • 4th DVD: $4
  • 5-6 DVDs: $0
  • 7th DVD: $4
  • 8-9 DVDs: $0
  • and so on…

Information about using this with WooCommerce 2.6

WooCommerce 2.6 introduced Shipping Zones and the ability to use multiple instances of the same shipping method.

If you started using Bundle Rate Shipping on or after WooCommerce 2.6, you can take full advantage of WooCommerce’s Shipping Zones feature. You can also add multiple instances of the Bundle Rate Shipping method to a single Shipping Zone.

If you used Bundle Rate Shipping prior to WooCommerce 2.6, the plugin will continue to work as it did before. You cannot use it as a shipping method for Shipping Zones. This is to avoid losing your existing Bundle Rate configurations.

However, if you would like to switch to using Shipping Zones instead, you can do that using a small helper plugin that is included in your download package from CodeCanyon. Look for the zip file called and install that in the same way that you installed Bundle Rate Shipping. You will need to re-enter your bundle rate configurations for each shipping zone.

add_filter( 'woocommerce_enda_force_load_new', '__return_true' );

You will need to re-enter your bundle rate configurations for each shipping zone.

What others have said

Amy5 says:

This plugin does exactly what I needed it to do. I can apply it to two categories and leave flat rate shipping on the other categories. Brilliant! Thank you!! :)

gabitech says:

Just wanted to say, as others said, this is a GREAT plugin!

peterash says:

This is a must-have plugin for Woo.

ameliorable says:

Just wanted to say thanks for the great plugin – it’s amazing how long I spent trying to find something that would do this simple thing for me! Keep up the good work, matey. x

tannerlinsley says:

You guys are saving our lives here on this one. Such a simple plugin that is super powerful. Props to the Studio!

calvary21concepts says:

Eric was fantastic in providing his support for integration into a complex site. His service went above the bar and expectations. I was extremely impressed at his willingness to followup, test and integrate to adapt to the WooCommerce installation I had. If ANYONE is on the fence on this plugin, you should invest the money and do not hesitate. the product worked great and seemlessly on a site with over 887 products and 52 categories. Extremely happy!!!


  • WordPress 3.5+
  • WooCommerce 2+


2.0.4 – October 26, 2017

  • Fixes a fatal error that happens in select circumstances when WooCommerce is deactivated.

2.0.3 – August 26, 2016

  • Fixes a bug that caused the shipping rate to be calculated incorrectly when the “Apply base rate once” was set to No.
  • Fixes a fatal error that occurred when installing the plugin with a version of WooCommerce prior to 2.6.

2.0.2 – August 2, 2016

  • Fixes a bug that prevented rates from being saved with $0 as a Cost value.

2.0.1 – July 4, 2016

  • Fixes issue with being unable to add new layers or configurations when using the plugin with WooCommerce Shipping Zones.

2.0.0 – June 15, 2016

  • Updated for compatibility with WooCommerce 2.6.

1.3.8 – June 6, 2015

  • Fixes a JS bug with old usage of Chosen script.

1.3.7 – February 12, 2015

  • Updated for compatibility with WooCommerce 2. 3
  • Fixes a bug that caused the bundle rates not to be available in certain instances when virtual products were in the cart.

1.3.6 – July 7, 2014

  • Fixes a bug that caused issues with the drop down list of countries.
  • Fixes a bug showing a disabled Add Layer button when adding a new configuration.

1.3.5 – April 28, 2014

  • Javascript bug fix.

1.3.4 – February 17, 2014

  • Updated to support of WooCommerce 2.1

1.3.3 – September 9, 2013

  • Added woocommerce_brs_shipping_total filter. This allows themes/plugins to override the shipping total calculated by bundle rate shipping.
  • Added woocommerce_brs_shipping_configurations filter. This allows themes/plugins to override the configurations used by bundle rate shipping.

1.3.2 – July 19, 2013

  • Fixed Javascript bug that didn’t allow more than 10 rate levels to be set for a single configuration.

1.3.1 – May 15, 2013

  • Added compatibility for WooCommerce Branding plugin.

1.3 – April 5, 2013

  • Added the ability to set bundle rate configurations on a per-state basis for certain countries (United States, Australia, Canada + others). This has been requested a number of times, and to those users who have waited patiently for this—thank you.
  • Fixed up a Javascript bug brought in with the last update.

1.2.2 – April 2, 2013

  • Prevent virtual products from being counted in shipping calculations.

1.2.1 – March 7, 2013

  • Fixes a bug brought in by the last version.

1.2.0 – March 5, 2013

  • Update to Woocommerce 2.0 + compatibility. This version will not support any versions of Woocommerce prior to 1.5. If you are purchasing the plugin new and need it for an older version, send me a message and I can send you the last stable working copy for Woocommerce versions before 1.5.
  • Fixed a number of Javascript errors.

1.1.7 – October 18, 2012

  • Fixed a bug occurring after configurations have been removed.

1.1.6 – September 20, 2012

  • Fixed bug where a product variation with a shipping class different to its parent product had the parent product’s shipping class applied, rather than its own

1.1.5 – August 15, 2012

  • Updated for compatibility with latest version of WooCommerce (1.6.4)
  • Corrected problem found when configuration indicates specific country without actually listing a specific country

1.1.4 – July 24, 2012

  • Fixed a bug in the calculation noticed when adding larger quantities

1.1.3 – July 19, 2012

  • Fixed jQuery conflict bug

1.1.2 – July 16, 2012

  • Javascript fix

1.1.1 – July 14, 2012

  • Fix for problem with shipping class not saving

1.1 – July 10, 2012

  • Major update. New features:
    – Create multiple bundle rate configurations and determine which products/carts they are applied to based on shipping destination, product category and/or shipping class
    – Prioritize configurations
  • woocommerce_brs_apply_base_rate_once filter deprecated in favour of new setting in the admin area

1.0.4 – April 25, 2012

  • Updated for WooCommerce 1.5.4
  • Added woocommerce_brs_apply_base_rate_once filter to change how rates are calculated when products from multiple categories are purchased.

1.0.3 – April 12, 2012

  • Fix for problem with handling fees set as percentage

1.0.2 – February 21, 2012

  • Minor bug fix

1.0.1 – February 7, 2012

  • Updated for full compatibility with WooCommerce 1.4

created by Studio164a
last update 2017-10-27T06:58:56+11:00

Latest Tweets

  • wordpress
    Reminder! Open to all WordPress users - Help shape the future of the #WordPress "Learn" project! Provide your feedb… about 17 minutes ago
  • wordpress
    The 6.2 Release cycle begins! WordPress 6.2 Beta 1 is ready for download and testing. #WordPress #WordPressRelease about 14 hours ago
  • wordpress
    When design inspiration strikes—capture it in the Site Editor. Watch how it can all come together. #WordPress… about 17 hours ago
  • wordpress
    Some exciting updates are coming soon to the Openverse site. Get those bookmarks ready! 🔖 Learn more at… about a day ago
  • wordpress
    Live Online Event Feb. 7 --> Learn how to add custom CSS to a block theme while ensuring those styles work correctl… about 3 days ago
  • wordpress
    Live Event on Feb. 6 (APAC) --> Learn how to use the block editor, and blocks, in #WordPress, to create a photograp… about 4 days ago
  • wordpress
    Fresh off the press, the January 2023 edition of The Month in WordPress is now available for reading—with open call… about 5 days ago
  • wordpress
    Patterns can offer quick layout inspiration when you’re trying to make your site look just right—from specialized s… about 6 days ago
  • wordpress
    Phase 2 of Gutenberg is concluding soon. Tune in to this week's episode of the WordPress Briefing podcast to hear w… about 7 days ago
  • wordpress
    Live Event on Feb. 3 (APAC) --> Learn how to create custom templates in the #WordPress Site Editor --> We'll demo c… about 7 days ago
  • wordpress
    People of WordPress: Daniel Kossmann about 7 days ago
  • wordpress
    Live Event on Feb. 2 --> WordPress Through The Terminal --> Learn about using WP-CLI and all the wonders of working… about 8 days ago
  • wordpress
    New Video! 10 Tips for Improving your SEO Rankings for #WordPress --> #LearnWP about 9 days ago
  • wordpress
    Help shape the future of the #WordPress "Learn" project! The Training Team is currently working toward updating the… about 10 days ago
  • wordpress
    Live Online Event! Learn how to obtain your very own account so you can navigate the suppor… about 11 days ago
  • wordpress
    RT @mikelittlezed1: 20 years ago today, I commented on Matt's blog & kicked off the project that became WordPress. Now WordPress powers ove… about 13 days ago
  • wordpress
    Live Online Event! Learn how to create a photography-style website in #WordPress using the block editor. January 31… about 14 days ago
  • wordpress
    Share what you’ve been creating, building, and experimenting with lately using the latest version of WordPress.… about 15 days ago
  • wordpress
    Join a free training for APAC: Increase your confidence and find a topic for speaking at your next #WordPress event… about 15 days ago
  • wordpress
    🗞 Your regular roundup of #WordPress news is now live. Catch up on WordPress' 20th anniversary, WordPress 6.2 sched… about 19 days ago