I came across this question looking for the same solution. The requirement is that customers in group X receive a 10% discount, but exclude products that already have a discount, or through the price rules of the catalog with special_price values.
It seems that there is still no clear solution;) As indicated in other answers and comments, you can exclude products from the discount rule using the category.
This is a viable solution, but the problem is the need to maintain this list of products, which can be a very time-consuming and error-prone task.
It can be automated!
Using the Dynamic Category Products extension (developed by me), you can automate the list of products with active discounts.
Quick way.
Create a new root category in your store. Itβs easy to group your data categories outside of the default storage, so they donβt accidentally appear.
you are creating subcategories from this new root category. One of them will be a category in which all products with a discount will be listed.
As an example, here is my Root Data Category
, with some subcategories. I use all this in shopping cart rules.
For this answer we will be interested in All products with discount applied
This category contains dynamic rules as follows:
The category will be dynamic, self-renewing, daily and can be used to exclude products from existing discounts for purchases.
I hope this helps someone.
source share