I need to import from an external database 1500 contacts with their memberships and contributions.

Everything I read about it in Stackexchange was written between 2015 and 2017.

Is the following still up-to-date?

  • I can't import everything within a single .csv file, CiviCRM is not build this way
  • It takes 3 steps:
    1. import contacts with external id connection prevents to look up for contact ID within Civicrm
    2. import memberships with external id field
    3. import contributions with the proper membership_type
  • Using CSVimporter is the proper tool

Should I do this way or do is there a quicker way?

best regards,


2 Answers 2


Just noting that in 2024 the contribution import DOES support creating / updating contacts (as long as you have the core civi-import extension enabled)


The "normal" import tools tend to focus on a single entity (contact, contribution membership, participants...) indeed, so as you identified, it needs several separate imports and trying to find some common keys so civi knows how to link them

If you have complex/composite structures to import, it might be easier to write a simple php script that calls all the needed apis to create the entities. If you are familiar with php and the civicrm apis, it might be simplier (and it makes it way easier to "replay" the import)

good luck!

  • thanks Xavier! The TBS (tears, blood and sweat) extension will do the job! Commented Apr 9, 2020 at 8:05

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.