While testing payment integration with membership renewals, I observed that the membership end date may extend to any point in the future by just purchasing more and more renewals. Any limit set to activityDate (under the config menu "Date Preferences") does not have an effect, since no selection of the specific end date happens during renewal. In my case, just 12 months are added on top of any pre-existing end date.

Is it possible to limit a membership renewal to just the membership period beyond the current one or at least to a maximum new end date?

edit: using CiviCRM 7.11.0 and Wordpress 5.1

  • If you are using online membership, then the option is just to renew for a single period and you only offer the option to pay that amount. The user can still do a second renewal and that would move the end date forward another 12 months which would be the only logical thing to do. Or are you asking for the renewal option not to be available if the end date is more than one membership period away. I wouldn't expect the activity date to have any bearing on that is that is for the range of dates available when you enter a date.
    – Mick Kahn
    Mar 13, 2019 at 13:20
  • Indeed, I was thinking of the online use case. Ideally, if a membership got renewed for a second term, additional renewals should only be possible after that term has begun.
    – Joachim
    Mar 13, 2019 at 13:51
  • Background (just as a theoretical example): If a membership is currently quite inexpensive, and there are plans to raise the fees (significantly) in the near future for whatever reasons, it is currently possible to kind of lock in the old price for many upcoming years by just purchasing many renewals right now, if a technical limit on the number of renewals of an individual member cannot be applied by CiviCRM.
    – Joachim
    Mar 13, 2019 at 13:57
  • OK - deleted my answer which only related to offline.
    – Mick Kahn
    Mar 13, 2019 at 14:19
  • I was just asked this today from a client who has been using Civi for the past 7 years. Every now and again a member renews by cheque earlier in the year and then renews online because they forgot they had already renewed. This pushes them into the next year membership period and throws off their accounting. Dec 18, 2019 at 19:02

2 Answers 2


I think this would require an extension that would add a field to membership types and membership for 'max terms' and then the code/logic would prevent folk purchasing beyond the current cycle


You may want to look at the Membership Extra extension, which will let you prevent people from renewing until, say, 30 days before their current membership end date.

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.