# WooCommerce E-Commerce Bundle Rate Shipping

(99) 4.51 stars
2,493 Sales

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.

### Examples

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 v2-upgrade.zip 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!!!

### Requirements

• WordPress 3.5+
• WooCommerce 2+

### Changelog

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

• 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
by
by
by
by
by
by