Did you try the unit level promotion exclusion? https://world.episerver.com/documentation/developer-guides/commerce/marketing/promotion-exclusions/
Thanks that was just what I needed but there was one more issue. The promotions that we used was of the type "Spend for Discounted Selection", we had to change that to "Buy Products for Discount from Other Selection" for one of the promotions (the sale one) and then it worked. Same issue on the quicksilver site. Is there a reason for this?
Yes they have a reason for it. Unit exclusion works on the lineitems used to fulfill the conditons of the promotions, for the "Spend for Discounted Selection" promotion the condition is the total amount spent which translates into all lineitems in the cart.
How can I make a promotion in EPiServer that is applied to all items that does not already have a promotion on them?
For example if I have a 20% sale on most items in the store (without a coupon code) and a 10% off coupon code that should only be applied to products that are not on sale, how can I do that?
In edit/admin I can change the order so that only one is applied but I want both to be applied, I could also update the coupon code to exclude items that are on sale but it can be multiple promotions during different times and the coupon code is valid for a longer time so it's not realy workable for the editor to keep updating this list all the time.
Can I make a code change (where?) to exclude items that already have an promotion on them?