We offer Free Shipping over X (NOK 1000)amount, but the shopping cart rule doesn't allow me to set the amount to be the subtotal amount AFTER given discounts.

If customer shops with for instance a discount code, Magento gives the free shipping even if the subtotal after discounts amounts to for example NOK 850.

Is there anywhere in the shopping cart rule I can adjust this? (I have looked around for quite some time now...)

  • What kind of shipment method do you use? Does it offer an option to set a free shipping amount? Those generally calculate on the final amount Commented Jun 23, 2015 at 12:12
  • Thanks for your reply Sander. We do have a freightmodule that offer an option to set free shipping, but that isnt't used. Just enabled so that I can offer free shipping in for example codes and cart rules. But I tried now to use that instead, but also this one calculated based on the subtotal, rather than the total amount. So I guess, that leaves me out of options?
    – joey
    Commented Jun 24, 2015 at 7:57
  • the issue with grand total is that it depends on shipment totals to be calculated so it would basically go into an infinite loop of calculations if you tie them together I guess. Commented Jun 24, 2015 at 8:00
  • Found this: Rule Information: - No Coupon Code - Priority 0 Conditions: -If any of these conditions are true: -Subtotal equal or greater than 100.00 -Subtotal is 0.00 Actions: -Everything set to 0 or no except Free Shipping which you set to "For Matching Items Only" I've had free shipping rules like this setup for some time and have not encountered any issues with their total (after coupons) going below the free shipping amount and still having the free shipping apply.
    – joey
    Commented Jun 24, 2015 at 11:01
  • @SanderMangel But this didn't work at all... Thanks for your comments.
    – joey
    Commented Jun 24, 2015 at 11:03

3 Answers 3


I managed to fix this problem by changing the sort order of totals in the checkout process. System > Configuration > Sales > Checkout Totals Sort Order I have Discount sort order set to 10 and Subtotal set to 20. This way the Subtotal will contain the discount even when the shopping cart price rule is processed

  • 3
    this does not work
    – mysterious
    Commented Aug 3, 2017 at 18:19
  • I cannot find this setting under Magento ver., will you please let me know which version you were using.
    – Adnan
    Commented Dec 7, 2017 at 4:10
  • @Adnan all 1.9 versions should have this options. Does your user have access to these settings?
    – Alex Dinca
    Commented Dec 7, 2017 at 10:12
  • Ah I was looking under Config > Sales (tab) and it is actually under Config > Sales (tab) > Sales (link) Checkout Totals Sort Order :) Thanks @AlexDinca
    – Adnan
    Commented Dec 7, 2017 at 19:18

I've done something similar on my site and it calculated based off the total rather than sub-total. This was done via the Conditions tab, as per below:

enter image description here

  • This will only apply if one SKU is above 100 😁
    – jehzlau
    Commented Jun 16, 2017 at 11:43

After some Extensive research, here is the answer (tested on Magento Modify the following file websitename/app/code/core/Mage/Shipping/Model/Carrier/FreeShipping.php

look for the following line: if (($request->getFreeShipping()) || ($request->getBaseSubtotalInclTax() >= $this->getConfigData('free_shipping_subtotal'))

Replace it with the following: if (($request->getFreeShipping()) || ($request->getPackageValueWithDiscount() >= $this->getConfigData('free_shipping_subtotal'))

The $request->getPackageValueWithDiscount() will give you the Grand Total.

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.