4

I've noticed that ever since we started taking online contributions (last summer) new members have been getting created with null start date and "member since" date. Offline memberships (created via the backend) work fine, and the membership statuses all seem to work correctly otherwise. The end date is also set correctly. I'm using both GoCardless and Stripe payment processors and the problem appears with both of them.

enter image description here

The practical upshot of this is that these members are not being counted in the membership summary dashboard - this is probably also a bug - either the schema should enforce these values not being null, or the dates shouldn't be used to calculate a "current" member.

In case it's relevant, here are the membership status rules:

enter image description here

Some other details:

  • the memberships are rolling
  • hosted on Drupal 7 and MySQL
  • running CiviCRM 5.34.0, but problem dates back to at least 5.28.1, the version running when the earliest membership of this type was created.
  • Detailed logging is enabled, and there's no evidence of the dates being set and cleared.

There are similar issues described at Start/member since dates not being set since upgrade to 5.3.2 and Member Since and Start Date aren't being recorded in membership details but there is no resolution of either of those and they're both a few years old, so I figured a fresh report would not be a bad thing.

Edit to add screenshots of the contribution page (membership and profile sections):

enter image description here

enter image description here

Edit to add:

Some experiments I tried to rule out various causes

  • The same thing happens with a dummy provider or a free membership.
  • Pay later puts the membership into pending state, with no dates at all (based on comments this also seems unexpected
  • The same thing happens on a clone of the live site with all extensions disabled
  • The same test installation with a completely fresh install and the demo contribution form works as expected, populating all the dates correctly.

So have pinned it down to something in our live database at least, rather than anything basic with the environment or code deployment, but I've pored over the differences in settings and contribution forms from database dumps and found nothing promising.

10
  • How are the online memberships happening? Drupal Webform of CiviCRM Contribution pages? – Parvez Saleh Feb 20 at 21:50
  • Contribution pages - I added a couple of screenshots. – dom Feb 20 at 22:47
  • Thats strange, we have a fair few membership organisations running online contributions pages for joining and not see this before. I would probably try a few experiments - allowing pay later perhaps, trying dummy payment processor and maybe try also a free membership. Would try to eliminate payment processors as possible sources. Alternatively try disabling all extensions on a test site and see if that leads to an answer. – Parvez Saleh Feb 21 at 10:40
  • No luck with the first set of experiments - the same thing happens with a dummy provider or a free membership. Pay later puts the membership into pending state, with no dates at all, which seem fair. I'll set up a test instance during the week. – dom Feb 21 at 19:26
  • Pay later should default the dates, even if the membership is in a pending state. I would try the test environment without extensions. Feels like something is interfering with Civi's default behaviour. – Parvez Saleh Feb 21 at 20:11
2

This problem was seen on one of our sites and the issue was in the status rule page where Pending is selected as Member = Yes.

Pending is a reserved status that defaults to Current Member = No. Civi doesn't allow you to edit this status via UI but i see inline edit still works on these statuses. This is clearly a bug in core.

enter image description here

So i think it was unintentionally updated to Yes on your site since i see the same case on your attached screenshot.

Reverting this value back to No fixes the problem with the dates.

2
  • This seems to be the case for me! I don't have inline editing. Any idea how I can fix this? Should I update it in MySQL manually? – Christia May 20 at 2:53
  • yes, if you have access. Resetting it back to No should fix the problem. – jitendra - fuzion May 20 at 9:07

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.