We are using Konakart 4.1. If I enable a promotion to get a 12% discount with the flag "Apply discount before tax" set to true, this is the result (using simple example values):
subtotal 50.00
shipping 5.00
TAX (20%) 11.00 (computed on 50.00 + 5.00!)
12% discount 6.00
TOTAL 60.00
But if the discount has to be applied before tax (computation) I should get:
subtotal 50.00
shipping 5.00
TAX (20%) 9.80 (computed on 50.00 - 6.00 + 5.00)
10% discount 6.00
TOTAL 58.80[/font]
[/font]
Can you give some support? Is it a bug in the total order module or I'm wrong about the meaning of "discount applied before tax" expression?
Thank you very much
In your example it ignores the shipping in order to apply the discount:
1) 12% of 50.00 = 6.00
2) 10% of (50.00 + 20% tax) = 10% of 60.00 = 6.00
In my question I was unclear. I retry to explain my doubt.
Regarding the first example, if the discount was applied before tax, the taxation should be computed in the following manner:
subtotal = 50.00
discount = -6.00 (12% of 50.00)
shipping = 5.00
total before tax = 49.00 (50 - 6 + 5)
TAX (20%) = 9,80
TOTAL = 58,80
Konakart does the following computation:
subtotal = 50.00
shipping = 5.00
total before tax = 55.00 (50 + 5)
TAX (20%) = 11,00
discount = 6 (12% of 50)
TOTAL = 60,00 (55 + 11 - 6)
In my opinion there is an error in the tax computation because the discount is not considered.
Can you explain me why Konakart compute the tax not applying the discount to the computation even if I set the flag "Apply discount before tax"?
Thank you for your patience.
To achieve that the discount module needs to edit the order and reduce the tax amount so that it is picked up by the tax module.
My question is: why this behaviour is not automatically done by the system simply setting the the flag "Apply discount before tax"?
Thank you
Because it may not be what you want. It says that it calculates the discount on the amount before tax. It doesn't say that it reduces the tax.
The file has a comment stating that "custom5 = Discount applied to pre-tax value if set to true". Suggesting that the pre-tax value is being changed would mean that the tax value changes as well, as the tax is dependent on this.