Currently, I'm using a flat rate table to make any shipping for a cart with more than, for example, $100, become $0 instead of $3.

$shippingAddress = $quote->getShippingAddress();

However, the client wants to do special promotions where free shipping becomes available, either through coupons or for a specific amount of time.

The problem is, the Shopping Cart Price Rules are not applying to the cart, and the shipping remains the same even when the conditions of the rule are met. For example, if I set free shipping for today, I still get $3 as shipping in the cart.

totals: { subtotal: 29, shipping: 3, tax: 0, discount: 0 }

Do I have to check the shopping cart rules myself and force free shipping as a method? Or is something else wrong?

Edit: Here's a screenshot of the rule as requested:

enter image description here

  • This seems to be very simple scenario. Are you sure you unchecked Stop Further Rules Processing for your %-discount, so your shipping discount could be applied afterwards?
    – Nicolas
    Sep 4, 2015 at 6:22
  • Please update your question with all your rule settings. Some screenshots would do fine Sep 4, 2015 at 6:39
  • 1
    @SanderMangel Done. @ Ni Ge, I tried that, but it didn't have any effect.
    – Pat
    Sep 4, 2015 at 6:51

1 Answer 1


I think the issue here is the rule isn't applied on any items. You left the conditions empty.

If you wan´t to apply the rule without conditions just set a really generic one like price over 0 or something like that.

Now the rule should be applied to the quote

  • I tried applying a generic condition to both the items and the main shopping cart rules. But neither had any effect. :(
    – Pat
    Sep 4, 2015 at 8:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.