Hi,
For a product, you can only have one discount applying at a time.
So the system has to select which discount to use when several match for it.
Here is how the selection is done:
- if a discount is assigned directly to the product / variant the discount has the priority
- otherwise, if a discount is assigned to the main product while we're loading the prices of a variant, the discount has the priority
- otherwise, if a discount is assigned to a category of the product, the discount has the priority
- otherwise, the discount has the lowest priority
Now, if several discounts with the same priority are found, the one with the greater discount is selected.
So in your example, first, if the discounts and user groups are configured properly, the system shouldn't even have to select between the discount:
- if the user is attached to the "resellers" user group and not the "registered" user group and you restrict the 3% discount to the "registered" user group (with its "access level" setting), and the 25% discount to the "resellers" user group, then when the system loads the discounts for a reseller, it should only find the 25% discount and automatically use it.
Since you get a 3% as a resellers, it means that your user is also view as a "registered" user or that you didn't restrict the 3% discount to registered users only.
But even so, it also means that the 3% discount has a greater priority than the 25% discount because otherwise the 25% discount would be selected.