I want to apply free shipping for subtotal more than $50 and it's working fine. but if customer applied any discount coupon then free shipping should not apply because grand total is less than $50. For now, Free shipping still applying because Subtotal is still greater than $50.

Can anyone help me how to remove free shipping if Grand total less than $50 after applying discount coupon?

1 Answer 1


You need to modify the collectRates method of freeshipping

For this copy Mage_Shipping_Model_Carrier_Freeshipping.php in local folder with same directory combination.

and replace this condition ::

if (($request->getFreeShipping())
    || ($request->getBaseSubtotalInclTax() >=


if (($request->getFreeShipping())
    || ($request->getPackageValueWithDiscount() >=
  • after changing this code, free shipping method is not at all displaying even when cart total is more than $100. Can you please check this again.
    – BornCoder
    Commented Jun 20, 2017 at 6:08
  • replace getBaseSubtotalInclTax() with getPackageValueWithDiscount() Commented Jun 20, 2017 at 6:12
  • getPackageValueWithDiscount is working fine but if we are using any other extension Like DPD shipping method then it will affect module functionality ?
    – BornCoder
    Commented Jun 20, 2017 at 6:21
  • 1
    No. This will only change the freeshipping method. Commented Jun 20, 2017 at 6:22

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.