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?


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() >=
| improve this answer | |
  • 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 Jun 20 '17 at 6:08
  • replace getBaseSubtotalInclTax() with getPackageValueWithDiscount() – Manashvi Birla Jun 20 '17 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 Jun 20 '17 at 6:21
  • 1
    No. This will only change the freeshipping method. – Manashvi Birla Jun 20 '17 at 6:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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