For some reason I ignore, a few contacts - that have been merged by our client - have 2 identical memberships when they should only have one.

Same guy / same ID but 2 Memberships

I want to merge these memberships but can't find if it's possible without accessing the DB.

I can search for memberships but then the 'action menu' provides no way to merge

enter image description here

Is this possible?

  • i think there is an approach to use api explorer to shift payment from the Memb you will delete to the one to keep, alter the dates accordingly for Memb End Date, delete the other Memb.
    – petednz - fuzion
    Dec 16, 2021 at 19:43
  • We've either made sure all the info was on one of them and then deleted the duplicate, or we disable the one we don't need. Dec 16, 2021 at 22:12
  • Does it matter to you? In your screenshot, the first one is about to expire and the second will follow on so there is no actual gap in membership but it will complicate things if you are doing renewal notices.
    – Aidan
    Dec 17, 2021 at 10:49
  • yes we have scheduled reminders so this will be confusing for the members. Actually, that's why I want to merge them because this situation has already induce unnecessary payments from clients that are not so skilled with internet. Dec 20, 2021 at 12:27
  • 1
    thanks Pete and Jenni, this is already one good approach to move contributions and then delete unnecessary membershp Dec 20, 2021 at 12:29

2 Answers 2


I can see only mysql or php script way to do that because of the complexity because it will need to

  1. Update the line item reference i.e civicrm_line_item.entity_id, incase the membership doesn't have payment best to delete to avoid duplicate mysql error.

  2. Merge civicrm_membership_payment

  3. Merge custom groups data

  4. Merge membership logs

  • thanks Pradeep for sharing your advice Dec 17, 2021 at 22:58

Our approach is to merge the duplicate contact that retains the contribution records, then apply a "transferred" status to make one membership dormant, then move the duplicate into the primary membership. This happens to us when a member renews using "Bob Jones" instead of "Robert Jones" and a duplicate record/membership is created. We then just add the membership term to the original and "orphan" the renewal membership by applying the "transferred" status.

  • thanks Keith, I see that it's not so unusual as a situation. Could be worth having a dedicated extension to do so ;-) the to-do-list is growing. Dec 23, 2021 at 9:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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