An organisation I'm working with wants to edit a membership type to change it from annual rolling to annual fixed. When I set the fixed option CiviCRM appears to require a rollover date (if I don't set a date for this field CiviCRM flags it up and won't save my changes). But we don't want a rollover at all. Instead we are offering reduced fees based on when in the year the new member signs up.

There doesn't seem to be any option to not have a rollover date. The start date for the membership is Jan 01. If I set the rollover date as Dec 31, then I'm concerned that someone signing up on Dec 31 2015 will get low price and get a membership lasting 1 day, plus the rollover year, with and end date of Dec 31 2016. Any other date I could set would simply extend this rollover window.

  • 1
    Just to add that you have a similar problem with monthly membership. If you don't have a rollover date it assumes 1st of the month. Still not right in 2019! – Mick Kahn Jul 19 '19 at 20:48

I tested this a bit and you are correct. If someone signs up Dec 31st they get the whole next year. Probably the easiest thing to do is not offer a discount for the Dec. Pay the full price and then make the rollover date Dec 1. Yes they will get one month free but only the first time.

Probably the code should be changed so that it is greater than and not >= since the membership starts the next day by default anyway. Or if you set the start date and rollover date the same, it doesn't give you two full periods for the price of one.

| improve this answer | |
  • Thanks for this. I've since done some tests myself using the demo site and while it is possible to set up a fixed monthly membership type with no rollover day, it isn't possible to do so with an annual fixed membership type. Id say this is a bug/design flaw. – Graham May 2 '15 at 9:11
  • I think this is at least a design flaw, but I'm not sure how to report it. – Mick Kahn Jul 19 '19 at 20:47

Could you set the rollover date to Dec 31st?

This way you could have a fixed date membership ending on the 31st of Dec and also a rollover after the 31st of december. I am not sure wether the rollover date is used as after or upon or after. E.g. what would happend if someone signs up for a membership on the 31st of december, or they a member for that day? Or are they then signed up for another year.

Another solution is to create some custom code which will hook into the membership system and creates the behaviour what you want.

| improve this answer | |
  • Hi Jaap, As noted by @paul-tahoe, if I set the rollover date to Dec 31, it is not the same as having no rollover date, and doesn't allow me to implement the desired membership model, without a loophole. It should be possible to create an annual fixed membership type with no rollover date without resorting to custom coding. I can do it with a monthly membership. – Graham May 2 '15 at 9:24
  • 1
    You can set no rollover date for a monthly membership type but it behaves as if you set the 1st of the month. So 31st is a better optiion, which is, at least, no rollover for 5 months (September, April, June and November and February). – Mick Kahn Jul 19 '19 at 20:46

Your Answer

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

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