I am working with a possible client about a new website, and one of the features that they have requested is to have table rate shipping based upon order total, and to have free shipping for $100 or more. This is normally easy and setup directly in the table rates. But there’s a catch.
There are a number of products that need to negate the free shipping if any of them are in the cart. Fortunately, this is doable using Shopping Cart Price rules. Here is how to do it:
Enable your table rates, download the CSV (making sure you are viewing the config on the website level), modify it and then upload your rates. Do not offer any free shipping in your CSV. Keep the Free Shipping method disabled.
Create your Shopping Cart Price rule. I’ve included images below to help explain it. Essentially, you need to set it up to look for a cart subtotal that is equal or greater than $100, and to make sure that there are no excluded products in the cart. You do this under the conditions tab. (Just change the “sku1, sku2, sku3” etc. to the SKU’s of the products you want to exclude)
What this does is offers the free shipping method (even though it is disabled) if the shopping cart total is $100 or more and does not include any excluded products. If there are any excluded products in the cart, the free shipping method will never be offered.