1

I'm struggling with an issue regarding the Shopping Cart Price Rules. I've created a rule with a single coupon and the only condition is Subtotal is equal or greater than 65,50.

When I'm using this coupon Magento say "This coupon was successfully applied." but at least the totals still the same and the coupon doesn't seem to be applied.

What I understood: Actually in the cart totals we have two rows, Subtotal without taxes, and Subtotal with taxes.

Let's assume that we have a Subtotal WITH taxes of 66,00 (so the coupon can be applied, in theory) and a Subtotal WITHOUT taxes of 60,00.

In that situation, if I try to apply the coupon I get a positive response but it doesn't seem to be applied.

The only way for applying this coupon is to add more products so the SUBTOTAL WITHOUT TAXES will be greater than 65,50.

It seems that the condition of the rule is based on the Subtotal without taxes, and not to the Subtotal with taxes.

Obviously, in the backend, the rule is configured in a correct way, for apply the coupon at the prices with taxes.

Some of you faced the same issue? I'm trying to understand if it is a problem of a specific module or theme or maybe is anything else.

Thanks in advance and if you didn't understand something, feel free to ask ;)

SOLVED: Was a custom-old module that was removing the coupons from the addresses, removing that function worked for me. Now the subtotal considered is the one with taxes, and the calculation works fine.

3
  • I think this is because you have condition Subtotal is equal or greater than 65,50. Magento is considering subtotal without taxes. Commented Oct 11, 2017 at 10:21
  • So basically i'm right? The Subtotal is intended as Subtotal without including taxes? Assuming this, now i will create a new module overriding the method which creates the array of the conditions. Let's try.
    – FreshHaze
    Commented Oct 11, 2017 at 10:25
  • No, i'm not. In the function public function validate(Varien_Object $object) i've tried to var_dump $object->getData('base_subtotal') (which is default value) and it show the correct value (66) so the condition pick the correct value. Any ideas?
    – FreshHaze
    Commented Oct 11, 2017 at 10:40

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.