We always used a customized 'Membership Status', named 'geldig lid' (means: valid member). I don't know why this was done in the past, cause it actually corresponds to the built in status 'Current', but since we have quite some mailing lists connected to 'geldig lid', I'd like to continue using that one. Now, for some reason, the customized status 'geldig' lid, doesn't work as it should. And In order to investigate what goes wrong, I changed the order of the assigned statuses to 'Current' first and 'geldig lid' second. But the settings for both statuses are exactly the same. See attachment: geldig lid <-> current

When I look for the members with status 'geldig lid', I find 19527 contacts, which is not correct cause in a lot of cases 'membership end date' is already in the past. Doing the same with 'current', I find 5824 contacts (which is correct). See attachment: Search for geldig lid <-> current

Can somebody explain what is happening here?

  • 1
    have you checked all the other 'status' just to confirm that there is no leakage or overlap between on status finishing and next starting?
    – petednz - fuzion
    Oct 13, 2017 at 18:29

3 Answers 3


A membership has a single status determined by the status rules. If the date rules mean that more than one status applies, the ordering of the rules determines the result.

From the user guide :

To decide on which status should be applied, CiviCRM looks to see if the membership has a status override. If it does, it applies that status. If not, it looks at each status in turn starting at the top of the Status Rules page until it finds one that is valid. That is to say, it looks to see if today's date is between the start and end date for the membership status at the top of the list. If it is, it applies that status, if not it moves to the next status and repeats this process until it finds a status that matches.

Since you have changed the order, 'Current' will be used in preference to 'geldig lid' although the rules for both are the same.

When you say that the status "doesn't work as it should", I think you mean that memberships past their end date are still showing as 'geldig lid'. Membership statuses are updated either by saving a change to the membership or by the scheduled job "Update Membership Statuses". From your screenshots it seems the scheduled job is not running / not working.

You can have a Label for the Membership Status that is different to its Name, so you could use the standard Current but change the label to 'geldig lid'.

However, if you want to continue with the current setup, change the ordering back so that 'geldig lid' appears before 'Current'. Before running the scheduled job, you might want to see how many are past their end date and how far past they are as to whether you want to notify anyone or take action etc. Then enable/fix the scheduled job - that should change Current memberships to 'geldig lid' and change those past their end date to Grace or Expired.

  • Hi Thanks for your feedback! How do I run the scheduled job 'Update Membership Statuses'? Oct 16, 2017 at 9:38

@Aidan I'm writing an answer myself since I can't add atatchments to comments.

I found the scheduled jobs and I see this for Update Membership Status:

enter image description here enter image description here

Are these settings correct?

  • Settings look correct to me. If you want to run the scheduled job immediately, go to Administer>System Settings>Scheduled jobs, locate the job, hit the 'more' action link and then the 'execute now' action link. Oct 18, 2017 at 11:45
  • Thanks @ErikH-CiviCooP, if I do that, I get an HTTP ERROR 500 unfortunately. I will just change my settings so I can use the 'current' status instead of our custom 'geldig lid' status. Oct 18, 2017 at 12:10
  • I would recommend you to spend some time in deciding if you still need the customized status. If not, migrate to the standard status. Oct 18, 2017 at 12:44
  • I was actually doing that now. A while ago I already put 'Current' on the first place in the order of membership statuses, so now I was just changing the settings of my contact groups (=mailing lists) to 'Current' instead of 'geldig lid'. I thought all valid members were already in the 'Current' status, but now I see for some reason there are still members that belong to 'geldig lid' (although the settings for both statuses are exactly the same and 'Current' is in the 1st place). I now disabled the 'geldig lid' status to check what will happen.. Think the update will take a while. Let's see.. Oct 18, 2017 at 13:16
  • Nothing happened.. I still see 'geldig lid' assigned to a lot of memberships. I'm gonna delete that membership status rule completely. No idea if that will help.. Oct 19, 2017 at 12:50

@ErikH-CiviCooP I'm afraid I need some help here. So what I want to do is remove the special status and make sure that the normal 'Current' status is applied for all valid memberships, otherwise 'expired'. What I DID is: - I've put 'Current' in the first place (with the exact same settins as the special one) --> result: the special one was still applicable for some members - I've disabled the special one --> result: still the same - Now I thought about deleting the special one completely. But I get the warning: WARNING: Deleting this option will result in the loss of all membership records of this status. This may mean the loss of a substantial amount of data, and the action cannot be undone. Do you want to continue? I don't wanna lose membership RECORDS, I just want to get rid of the status.

You mean that I have to manually change the membership status for the ones that are incorrect. The problem is that the special status 'geldig lid' both is applicable for VALID as for EXPIRED memberships. So that will be a complicated job. + I have no idea how I would have to do that :).

Do you think I can first try to delete the special status or will I lose important membership information then?

I might be asking silly things, sorry for that, I'm not so experienced with the technical part of CiviCRM.

  • Joke - did you see my comment on your original question asking you to double check that your statuses have no conflicts in the timing of when one starts and another ends.
    – petednz - fuzion
    Oct 19, 2017 at 17:53
  • Hi @petednz-fuzion, yes i saw it, thanks! And I'm sure there are no conflicts there. Only 2 statuses are enabled now: Current and Expired... Oct 20, 2017 at 10:52
  • Ok, but it doesn't matter how many you have, so much as whether all your 'start' and 'end' patterns do not leave gaps or overlaps
    – petednz - fuzion
    Oct 21, 2017 at 22:25
  • That's not the case: Current ends with 'end date', Expired starts with 'end date + 1' Oct 23, 2017 at 9:33
  • Do you think I can risk to delete the customized membership status? The warning message scares me a bit: "WARNING: Deleting this option will result in the loss of all membership records of this status. This may mean the loss of a substantial amount of data, and the action cannot be undone. Do you want to continue?" I don't wanna lose membership records of course, I just want to get rid of the status. Oct 23, 2017 at 9:34

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.