I am having trouble finding out how to only allow 1 discount per order.

eg. a specific user role allows 15% discount on their order. We also have another discount set up that applies a further 15% on a certain product.

We don't want to allow both discounts to be applied when that specific user role orders that product.

We are using:

  • Drupal 7
  • Commerce 7.x-1.13
  • Commerce_discount v 7.x-1.0-alpha5
  • 1
    When editing either discount do you see "Discount compatibility" options on the page? That's where you can say if this discount can be used with other discounts or not
    – Leigh
    Commented Jul 22, 2019 at 12:20
  • No, I've been looking for that option. Do you see it? perhaps you could give me the url of the admin page that it appears on ? xyz.com/admin etc. etc.
    – wotney
    Commented Jul 22, 2019 at 12:41
  • 1
    Its when editing a discount e.g. /admin/commerce/discounts/manage/<discount_machine_name> then near the bottom of the screen you should see the tabbed sections "discount options" discount dates" and "discount compatibility. So if you can edit a discount you should see it there drupal.org/node/2917774
    – Leigh
    Commented Jul 22, 2019 at 13:05
  • Thanks for letting me know where it should be - at least I now know that it's definitely not there and I'm not crazy ! I will update the module to the latest version. I'm sure that will fix it
    – wotney
    Commented Jul 22, 2019 at 14:16

1 Answer 1


Your version of Commerce Discount is too outdated to support discount compatibility. However, it's so old, that the upgrade process may be complicated. Drupal Commerce itself is also currently at version 1.15, so that will need to be updated, too.

I'd recommend creating a copy of your website and bringing those modules up to date, maybe even one version at a time, running update.php in between each upgrade. (Theoretically, it should work fine to run update.php all at once, but Commerce Discount has to do a lot of field manipulation in its update functions, and I just worry about the potential for things to break...)

Once you do that, you'll have discount compatibility settings that will allow you to enforce a discount being incompatible with any other discount, and by adjusting the sort order on the discounts you can identify which discounts should apply first to ensure the restricted one applies first when possible.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.