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 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 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 at 13:57
  • OK - deleted my answer which only related to offline. – Mick Kahn Mar 13 at 14:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.