I have set up multiple shopping cart promotion rules and sometimes, more than one rule is applied. What I want is that all discount rates are applied to subtotal and not one after the other.


  • Shopping cart rule of 10% discount for orders with subtotal greater than $50.
  • Coupon code for 10% discount.

When I have a product of $100 in my shopping cart and enter coupon, both rules are applied. What happens: first 10% discount is applied: $100 - $10 = $90. After this, second 10% discount is applied: $90 - $9 = $81.

What I want is both 10% discount based on subtotal: $100 - $10 - $10 = $80.

I've tried setting equal priorities, but this doesn't work. Anyone knows how to fix this?


1 Answer 1


It can be done with the following code modification:

1) File

app/code/core/Mage/SalesRule/Model/Validator.php Copy to the local folder or create a custom module.

2) Function

protected function _getItemPrice($item)
    $price = $item->getQuote()->getStore()->convertPrice($item->getProduct()->getPrice());
    return $price;

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.