The "Free Shipping" option has disappeared from the following 2 admin pages:

Promotions -> Shopping Basket Price Rules -> Click on a rule -> Actions

Promotions -> Shopping Basket Price Rules -> Add New Rule -> Actions

Any idea how I can get it back?

You can see in the first image how it is supposed to look (this picture is from a different Magento install where the Free Shipping option is appearing)

And you can see in the second image, that it is missing.

enter image description here

enter image description here

  • If by disabling 3rd party extensions doesn't work, check to see if there is any javascript code to hide that element. Actually, you can check in view source if at all Free Shipping is there or not before disabling 3rd party extensions. – Kalpesh Mar 31 '15 at 18:58
  • yeah the free shipping HTML is there, but in inspect element it has display: none, in view source there is no display: none so it must be javascript from somewhere. – Mex Mar 31 '15 at 19:24
  • Good. Find simple_free_shipping in your project to see where all it is referenced. Check for javascript results. – Kalpesh Mar 31 '15 at 22:27
  • This may make your finding task easier -> stackoverflow.com/questions/3401298/… – Kalpesh Mar 31 '15 at 22:33

Check in following file following code is exist or not if not then add this field.


$fieldset->addField('simple_free_shipping', 'select', array(
        'label'     => Mage::helper('salesrule')->__('Free Shipping'),
        'title'     => Mage::helper('salesrule')->__('Free Shipping'),
        'name'      => 'simple_free_shipping',
        'options'    => array(
            0 => Mage::helper('salesrule')->__('No'),
            Mage_SalesRule_Model_Rule::FREE_SHIPPING_ITEM => Mage::helper('salesrule')->__('For matching items only'),
            Mage_SalesRule_Model_Rule::FREE_SHIPPING_ADDRESS => Mage::helper('salesrule')->__('For shipment with matching items'),

If you have installed any extension for sales rule model then disable it and refresh cache and check it.

| improve this answer | |
  • That file & code unfortunately exists at the path you gave. We will be disabling extensions 1 by 1 in a few days to see if it fixes it. Thanks for mentioning to refresh the cache, we will do this after each one that we disable. – Mex Mar 31 '15 at 10:44
  • Add a var_dump(get_class($this)); in the block mentioned, its most likely being rewritten. A quick way to disable local code pool can be found in app/etc/local.xml or simply rename the code pools to disable them. – B00MER Apr 2 '15 at 10:50

First you should make sure you have a Free Shipping method enabled in your cart.

Under System->Configuration->Ship Methods in the ` "Free Shipping" section, is it enabled? Do you have a "Handling Method" selected for Free Shipping?

If you disabled Free Shipping because you don't want it to be offered to the public, re-enable it. Then set a very high order minimum order amount and customers won't be offered free shipping, but it can still be triggered through rules.

Also, do you have any shipping-related extensions running? Through their configuration they may either block free shipping, or require additional configuration to allow free shipping.

| improve this answer | |
  • Free shipping is enabled with a Method Name of "Free", we want it enabled. We are going to disable extensions 1 by 1 to see if this works in a few days time. – Mex Mar 31 '15 at 10:43
  • I'm not 100% sure if this is necessary, but you may also need to have at least one carrier option with free shipping enabled. That is where i set my minimum order for free shipping very high so it can only be triggered by rules. – MarkE Apr 1 '15 at 19:06

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.