1

I’ve got a problem. I’ve got at customer who has free shipping for orders on $200 and over.

The problem lies in the discounts she offers. 1 type of discount is the 10 for 9 price. So if the Subtotal reaches $201, then the customer gets free shipping, and if the customer has bought 10 for 9, then the customer will get the discount, and the Totalprice will end on maybe $175,-

So the customer will get at discount and free shipping, because of the cart rule is applied before the discount.

Is there any workaround / coding modifications I need to do, to correct this matter?

Thanks in advance - Thomas

  • What conditions for the Shopping Cart Price Rule you are using for the free shipping ? – Christina Rule Jul 11 '14 at 13:51
0

in Mage/Shipping/Model/Carrier/Freeshipping.php change

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

to

    $quote2 = Mage::getSingleton('checkout/session')->getQuote();
    $discountTotal = 0;
    foreach ($quote2->getAllItems() as $item){
        $discountTotal += $item->getDiscountAmount();
    }

    $this->_updateFreeMethodQuote($request);
    $sprice = $request->getBaseSubtotalInclTax() - $discountTotal;

    if (($request->getFreeShipping())
        || ($sprice >=
1

If you are using the free shipping carrier to do this you could change this part:

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

You would need to alter to remove the baseDiscountAmount which is stored on the quote object.

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.