How do I remove free shipping after discount code has been applied?












0















Having an issue at the moment with free delivery on my site.



It is set that any order over £70 gets Free UK Delivery.



However at the moment we are running a discount code with another client set up. They get 33% discount. Orders that are originally around £85 are being discounted to £56.95 and they are still allowed free delivery at that price. It seems that free delivery uses the subtotal after discount rather than before. Is there a quick fix for this, as it is happening quite a lot.



Actions and conditions images:



enter image description here



enter image description here



I have even got the free shipping set to no and its still allowing free shipping.



Im on version 1.9.2, also any advise on weather this rule is setup correctly would be appreciated.



Ive checked out https://www.demacmedia.com/magento-commerce/mini-tutorial-how-to-solve-the-free-shipping-minimum-subtotal-with-discount-issue/ but thats for an older version and dont think that applies anymore.










share|improve this question























  • Hi, I had a look at the suggested fix. Although the fix is noted for magento 1.7, the code in question as noted by that guide, is still the same. The same fix will apply. I cannot comment on the actual fix, not tried it. no idea if it works. Naturally you don't want to go edit the core files.

    – ProxiBlue
    Oct 27 '16 at 15:11
















0















Having an issue at the moment with free delivery on my site.



It is set that any order over £70 gets Free UK Delivery.



However at the moment we are running a discount code with another client set up. They get 33% discount. Orders that are originally around £85 are being discounted to £56.95 and they are still allowed free delivery at that price. It seems that free delivery uses the subtotal after discount rather than before. Is there a quick fix for this, as it is happening quite a lot.



Actions and conditions images:



enter image description here



enter image description here



I have even got the free shipping set to no and its still allowing free shipping.



Im on version 1.9.2, also any advise on weather this rule is setup correctly would be appreciated.



Ive checked out https://www.demacmedia.com/magento-commerce/mini-tutorial-how-to-solve-the-free-shipping-minimum-subtotal-with-discount-issue/ but thats for an older version and dont think that applies anymore.










share|improve this question























  • Hi, I had a look at the suggested fix. Although the fix is noted for magento 1.7, the code in question as noted by that guide, is still the same. The same fix will apply. I cannot comment on the actual fix, not tried it. no idea if it works. Naturally you don't want to go edit the core files.

    – ProxiBlue
    Oct 27 '16 at 15:11














0












0








0








Having an issue at the moment with free delivery on my site.



It is set that any order over £70 gets Free UK Delivery.



However at the moment we are running a discount code with another client set up. They get 33% discount. Orders that are originally around £85 are being discounted to £56.95 and they are still allowed free delivery at that price. It seems that free delivery uses the subtotal after discount rather than before. Is there a quick fix for this, as it is happening quite a lot.



Actions and conditions images:



enter image description here



enter image description here



I have even got the free shipping set to no and its still allowing free shipping.



Im on version 1.9.2, also any advise on weather this rule is setup correctly would be appreciated.



Ive checked out https://www.demacmedia.com/magento-commerce/mini-tutorial-how-to-solve-the-free-shipping-minimum-subtotal-with-discount-issue/ but thats for an older version and dont think that applies anymore.










share|improve this question














Having an issue at the moment with free delivery on my site.



It is set that any order over £70 gets Free UK Delivery.



However at the moment we are running a discount code with another client set up. They get 33% discount. Orders that are originally around £85 are being discounted to £56.95 and they are still allowed free delivery at that price. It seems that free delivery uses the subtotal after discount rather than before. Is there a quick fix for this, as it is happening quite a lot.



Actions and conditions images:



enter image description here



enter image description here



I have even got the free shipping set to no and its still allowing free shipping.



Im on version 1.9.2, also any advise on weather this rule is setup correctly would be appreciated.



Ive checked out https://www.demacmedia.com/magento-commerce/mini-tutorial-how-to-solve-the-free-shipping-minimum-subtotal-with-discount-issue/ but thats for an older version and dont think that applies anymore.







magento-1.9 coupon free-shipping






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Oct 27 '16 at 15:00









MrJoshFisherMrJoshFisher

15510




15510













  • Hi, I had a look at the suggested fix. Although the fix is noted for magento 1.7, the code in question as noted by that guide, is still the same. The same fix will apply. I cannot comment on the actual fix, not tried it. no idea if it works. Naturally you don't want to go edit the core files.

    – ProxiBlue
    Oct 27 '16 at 15:11



















  • Hi, I had a look at the suggested fix. Although the fix is noted for magento 1.7, the code in question as noted by that guide, is still the same. The same fix will apply. I cannot comment on the actual fix, not tried it. no idea if it works. Naturally you don't want to go edit the core files.

    – ProxiBlue
    Oct 27 '16 at 15:11

















Hi, I had a look at the suggested fix. Although the fix is noted for magento 1.7, the code in question as noted by that guide, is still the same. The same fix will apply. I cannot comment on the actual fix, not tried it. no idea if it works. Naturally you don't want to go edit the core files.

– ProxiBlue
Oct 27 '16 at 15:11





Hi, I had a look at the suggested fix. Although the fix is noted for magento 1.7, the code in question as noted by that guide, is still the same. The same fix will apply. I cannot comment on the actual fix, not tried it. no idea if it works. Naturally you don't want to go edit the core files.

– ProxiBlue
Oct 27 '16 at 15:11










3 Answers
3






active

oldest

votes


















0














yes free shipping model check for the BaseSubtotalInclTax.



File: Mage_Shipping_Model_Carrier_Freeshipping.php



public function collectRates(Mage_Shipping_Model_Rate_Request $request)
{
if (!$this->getConfigFlag('active')) {
return false;
}

$result = Mage::getModel('shipping/rate_result');

$this->_updateFreeMethodQuote($request);

if (($request->getFreeShipping())
|| ($request->getBaseSubtotalInclTax() >=
$this->getConfigData('free_shipping_subtotal'))
)//here they check for the subtotal
{
$method = Mage::getModel('shipping/rate_result_method');

$method->setCarrier('freeshipping');
$method->setCarrierTitle($this->getConfigData('title'));

$method->setMethod('freeshipping');
$method->setMethodTitle($this->getConfigData('name'));

$method->setPrice('0.00');
$method->setCost('0.00');

$result->append($method);
}

return $result;
}


You can override this Model and change it to total.



another way :



You can play with salesrule_validator_process event.






share|improve this answer
























  • Cant this be done in the admin panel rather than modifying the code ?

    – MrJoshFisher
    Oct 27 '16 at 15:20











  • I dont think from admin panel your query can be achieve. Because you want to apply shipping to total but according to code it applies to subtotal and there is no extra condition for any admin panel action.

    – Gopal Patel
    Oct 27 '16 at 21:42



















0














You need to modify the collectRates method of freeshipping for this issue.



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() >=
$this->getConfigData('free_shipping_subtotal'))
)


With



if (($request->getFreeShipping())
|| ($request->getPackageValueWithDiscount() >=
$this->getConfigData('free_shipping_subtotal'))
)





share|improve this answer































    0














    The cleanest way to do this is extend out Mage_SalesRule_Model_Rule_Condition_Address to add "Subtotal with Discount" as a condition options.



    See
    shopping cart price rule condition based on final price rather than subtotal






    share|improve this answer























      Your Answer








      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "479"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f143004%2fhow-do-i-remove-free-shipping-after-discount-code-has-been-applied%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      0














      yes free shipping model check for the BaseSubtotalInclTax.



      File: Mage_Shipping_Model_Carrier_Freeshipping.php



      public function collectRates(Mage_Shipping_Model_Rate_Request $request)
      {
      if (!$this->getConfigFlag('active')) {
      return false;
      }

      $result = Mage::getModel('shipping/rate_result');

      $this->_updateFreeMethodQuote($request);

      if (($request->getFreeShipping())
      || ($request->getBaseSubtotalInclTax() >=
      $this->getConfigData('free_shipping_subtotal'))
      )//here they check for the subtotal
      {
      $method = Mage::getModel('shipping/rate_result_method');

      $method->setCarrier('freeshipping');
      $method->setCarrierTitle($this->getConfigData('title'));

      $method->setMethod('freeshipping');
      $method->setMethodTitle($this->getConfigData('name'));

      $method->setPrice('0.00');
      $method->setCost('0.00');

      $result->append($method);
      }

      return $result;
      }


      You can override this Model and change it to total.



      another way :



      You can play with salesrule_validator_process event.






      share|improve this answer
























      • Cant this be done in the admin panel rather than modifying the code ?

        – MrJoshFisher
        Oct 27 '16 at 15:20











      • I dont think from admin panel your query can be achieve. Because you want to apply shipping to total but according to code it applies to subtotal and there is no extra condition for any admin panel action.

        – Gopal Patel
        Oct 27 '16 at 21:42
















      0














      yes free shipping model check for the BaseSubtotalInclTax.



      File: Mage_Shipping_Model_Carrier_Freeshipping.php



      public function collectRates(Mage_Shipping_Model_Rate_Request $request)
      {
      if (!$this->getConfigFlag('active')) {
      return false;
      }

      $result = Mage::getModel('shipping/rate_result');

      $this->_updateFreeMethodQuote($request);

      if (($request->getFreeShipping())
      || ($request->getBaseSubtotalInclTax() >=
      $this->getConfigData('free_shipping_subtotal'))
      )//here they check for the subtotal
      {
      $method = Mage::getModel('shipping/rate_result_method');

      $method->setCarrier('freeshipping');
      $method->setCarrierTitle($this->getConfigData('title'));

      $method->setMethod('freeshipping');
      $method->setMethodTitle($this->getConfigData('name'));

      $method->setPrice('0.00');
      $method->setCost('0.00');

      $result->append($method);
      }

      return $result;
      }


      You can override this Model and change it to total.



      another way :



      You can play with salesrule_validator_process event.






      share|improve this answer
























      • Cant this be done in the admin panel rather than modifying the code ?

        – MrJoshFisher
        Oct 27 '16 at 15:20











      • I dont think from admin panel your query can be achieve. Because you want to apply shipping to total but according to code it applies to subtotal and there is no extra condition for any admin panel action.

        – Gopal Patel
        Oct 27 '16 at 21:42














      0












      0








      0







      yes free shipping model check for the BaseSubtotalInclTax.



      File: Mage_Shipping_Model_Carrier_Freeshipping.php



      public function collectRates(Mage_Shipping_Model_Rate_Request $request)
      {
      if (!$this->getConfigFlag('active')) {
      return false;
      }

      $result = Mage::getModel('shipping/rate_result');

      $this->_updateFreeMethodQuote($request);

      if (($request->getFreeShipping())
      || ($request->getBaseSubtotalInclTax() >=
      $this->getConfigData('free_shipping_subtotal'))
      )//here they check for the subtotal
      {
      $method = Mage::getModel('shipping/rate_result_method');

      $method->setCarrier('freeshipping');
      $method->setCarrierTitle($this->getConfigData('title'));

      $method->setMethod('freeshipping');
      $method->setMethodTitle($this->getConfigData('name'));

      $method->setPrice('0.00');
      $method->setCost('0.00');

      $result->append($method);
      }

      return $result;
      }


      You can override this Model and change it to total.



      another way :



      You can play with salesrule_validator_process event.






      share|improve this answer













      yes free shipping model check for the BaseSubtotalInclTax.



      File: Mage_Shipping_Model_Carrier_Freeshipping.php



      public function collectRates(Mage_Shipping_Model_Rate_Request $request)
      {
      if (!$this->getConfigFlag('active')) {
      return false;
      }

      $result = Mage::getModel('shipping/rate_result');

      $this->_updateFreeMethodQuote($request);

      if (($request->getFreeShipping())
      || ($request->getBaseSubtotalInclTax() >=
      $this->getConfigData('free_shipping_subtotal'))
      )//here they check for the subtotal
      {
      $method = Mage::getModel('shipping/rate_result_method');

      $method->setCarrier('freeshipping');
      $method->setCarrierTitle($this->getConfigData('title'));

      $method->setMethod('freeshipping');
      $method->setMethodTitle($this->getConfigData('name'));

      $method->setPrice('0.00');
      $method->setCost('0.00');

      $result->append($method);
      }

      return $result;
      }


      You can override this Model and change it to total.



      another way :



      You can play with salesrule_validator_process event.







      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered Oct 27 '16 at 15:12









      Gopal PatelGopal Patel

      2,9912930




      2,9912930













      • Cant this be done in the admin panel rather than modifying the code ?

        – MrJoshFisher
        Oct 27 '16 at 15:20











      • I dont think from admin panel your query can be achieve. Because you want to apply shipping to total but according to code it applies to subtotal and there is no extra condition for any admin panel action.

        – Gopal Patel
        Oct 27 '16 at 21:42



















      • Cant this be done in the admin panel rather than modifying the code ?

        – MrJoshFisher
        Oct 27 '16 at 15:20











      • I dont think from admin panel your query can be achieve. Because you want to apply shipping to total but according to code it applies to subtotal and there is no extra condition for any admin panel action.

        – Gopal Patel
        Oct 27 '16 at 21:42

















      Cant this be done in the admin panel rather than modifying the code ?

      – MrJoshFisher
      Oct 27 '16 at 15:20





      Cant this be done in the admin panel rather than modifying the code ?

      – MrJoshFisher
      Oct 27 '16 at 15:20













      I dont think from admin panel your query can be achieve. Because you want to apply shipping to total but according to code it applies to subtotal and there is no extra condition for any admin panel action.

      – Gopal Patel
      Oct 27 '16 at 21:42





      I dont think from admin panel your query can be achieve. Because you want to apply shipping to total but according to code it applies to subtotal and there is no extra condition for any admin panel action.

      – Gopal Patel
      Oct 27 '16 at 21:42













      0














      You need to modify the collectRates method of freeshipping for this issue.



      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() >=
      $this->getConfigData('free_shipping_subtotal'))
      )


      With



      if (($request->getFreeShipping())
      || ($request->getPackageValueWithDiscount() >=
      $this->getConfigData('free_shipping_subtotal'))
      )





      share|improve this answer




























        0














        You need to modify the collectRates method of freeshipping for this issue.



        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() >=
        $this->getConfigData('free_shipping_subtotal'))
        )


        With



        if (($request->getFreeShipping())
        || ($request->getPackageValueWithDiscount() >=
        $this->getConfigData('free_shipping_subtotal'))
        )





        share|improve this answer


























          0












          0








          0







          You need to modify the collectRates method of freeshipping for this issue.



          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() >=
          $this->getConfigData('free_shipping_subtotal'))
          )


          With



          if (($request->getFreeShipping())
          || ($request->getPackageValueWithDiscount() >=
          $this->getConfigData('free_shipping_subtotal'))
          )





          share|improve this answer













          You need to modify the collectRates method of freeshipping for this issue.



          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() >=
          $this->getConfigData('free_shipping_subtotal'))
          )


          With



          if (($request->getFreeShipping())
          || ($request->getPackageValueWithDiscount() >=
          $this->getConfigData('free_shipping_subtotal'))
          )






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Oct 28 '16 at 13:43









          Ashish JagnaniAshish Jagnani

          4,49621953




          4,49621953























              0














              The cleanest way to do this is extend out Mage_SalesRule_Model_Rule_Condition_Address to add "Subtotal with Discount" as a condition options.



              See
              shopping cart price rule condition based on final price rather than subtotal






              share|improve this answer




























                0














                The cleanest way to do this is extend out Mage_SalesRule_Model_Rule_Condition_Address to add "Subtotal with Discount" as a condition options.



                See
                shopping cart price rule condition based on final price rather than subtotal






                share|improve this answer


























                  0












                  0








                  0







                  The cleanest way to do this is extend out Mage_SalesRule_Model_Rule_Condition_Address to add "Subtotal with Discount" as a condition options.



                  See
                  shopping cart price rule condition based on final price rather than subtotal






                  share|improve this answer













                  The cleanest way to do this is extend out Mage_SalesRule_Model_Rule_Condition_Address to add "Subtotal with Discount" as a condition options.



                  See
                  shopping cart price rule condition based on final price rather than subtotal







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Aug 19 '17 at 17:54









                  Kevin CallahanKevin Callahan

                  61




                  61






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Magento Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f143004%2fhow-do-i-remove-free-shipping-after-discount-code-has-been-applied%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      An IMO inspired problem

                      Management

                      Investment