Even though I've been working with Magento for some years now, the combination of discount rules and tax rules has always been some kind of mathematical mystery. In basic, there are 2 parameters:
- Apply customer tax before or after the discount.
- Apply discount rules on prices on prices including or excluding tax.
The combination of these parameters has always been of some interesting results, but whenever the client asked me 'why?', I had the break my brain once more on what it all exactly meant.
So that's why I decided to spent some time examining these rules and their combinations, analyzing the results and in the end, I came up with this:
The Possible Combinations
Basicly there are 4 combinations possible:
- Apply Customer Tax before discount, and apply discount on prices excluding tax.
- Apply Customer Tax before discount, and apply discount on prices including tax.
- Apply Customer Tax after discount, and apply discount on prices excluding tax.
- Apply Customer Tax after discount, and apply discount on prices including tax.
There are also 2 kind of discounts to consider:
- A discount with a fixed amount (10 EURO for example).
- A discount with a percentual amount (10% for example).
This together makes room for 8 different combinations. I've recently wrote an article about this that might be a bit too long to copy/paste entirely in this question, but I'll share my conclusion here:
So I tested all the above combinations and I (tried) to analyse their results. However, I could only come to the conclusion that you would only ever want to use the combination 'Apply Tax after discount / apply discount on prices including tax'. All other combination would result in 'weird' results: discount that is not the value that is expected, or a tax rate that does not makes much sense at first glance.
All these results made me wonder: 'Why all these settings when there is only one possible correct solution?'. Perhaps there are countries where the tax rules states that discounts may not be taxed?. Otherwise I wouldn't know why you would ever any of those other combinations.
If you know (or have ever dealt with) a good use case why you would use any other combination of customer tax / discount rules than the one described above, could you please explain to me why? Because right now it seems like there's only one good setting which makes me wonder why it's configurable at all!