Tier prices with overlapping customer roles are incorrectly calculated

1 year ago
Tier prices are incorrectly calculated when overlapping roles are applied to a tier price.  A "wholesaler" role customer, for instance, pays a flat rate of $3.00 per item when buying 10+ items.  A default "All customers" role customer , on the otherhand, pays $4.00 if they purchase 15+ items. Since "wholesaler" role customer is also in the "All customers" role, a "wholesaler" customer is charged $4 instead of $3 per item when buying 15+ items.

I can't see a sensible use case where a customer pays more when they buy more. If there is one, then tier prices is an inappropriate for such a use case and should be left to customization. After all, it clearly displays "Buy more, save more" on the product page and clearly intended for discounting as documented in the admin and manual. The workaround is to add an additional 15+ tier price of $3 to the "wholesaler" role. While this works, it is very inefficient and presents a senseless table with duplicate prices.

Finally, this could be fixed by simply adding an Order field to each customer role for assigning precendence. If a role has a lower Order than another role, a customer with both roles gets the tier price based on the one with the lower Order number.  Addtionally, if there's a good use case, there can be a merge checkbox which merges tier prices of the two roles.  It can be merged by ignoring tier prices of the lower precendent role with the same quantities or choose the lowest price between the two.
8 months ago
Tier prices functionality works correctly. The lowest price is chosen in the case of overlapping customer roles. The calculation is made precisely depending on the number of units purchased.