We want to offer certain customer groups a discount on up to 3 items. We want to offer this discount on a 'per year' basis. is this possible to do?

Magento would have to track the customer's purchases each time they order. Once they get to the point of ordering 3 (of a certain category) the discount would be disabled.

1 Answer 1


You can do this with plain-old Magento.

Using a Shopping Cart Price Rule, set the customer group and the max # of uses to 3, with an expiration date for 1 year from now. Albeit this isn't a 'rolling' 1 year term for each individual customer (would require a custom module) but you could set all of them to expire by Jan 1, and start afresh at the new year. See below:

enter image description here

  • Right, but that would simply allow them to use the coupon 3 times. Then they would have to be limited to purchase 1 item each time. What if they want to purchase 2 items on their first order and 1 item on their second order? Or if they want to order 1 item on the first order and 2 items on the second order?
    – yldziner
    Oct 18, 2013 at 20:54
  • Correct - it's 3 separate uses, unlimited number of items per order.
    – philwinkle
    Oct 18, 2013 at 20:58
  • So you want 3 items limit lifetime??
    – philwinkle
    Oct 18, 2013 at 20:59
  • Your requirements are too complex to code within the realm of this forum. In the meantime I suggest that your shopping cart rule limits the discount to a maximum of 3 items to prevent abuse. Alternatively, create 3 separate coupon codes, each usable 1 time by each customer, and those 3 codes are good only for 1 year. Each code has a rule to apply to 1 item per purchase only. If they want their combined discount they could purchase 3 times. You could install a multicoupon extension to allow for 1 purch. Otherwise the scope of work you define is too large for StackExchange. Hire a developer.
    – philwinkle
    Oct 18, 2013 at 22:00
  • Okay, we'll maybe try a multi-coupon extension
    – yldziner
    Nov 7, 2013 at 23:36

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.