I'm trying to do an "Import Contribution", Member Dues, but the membership period in not extended by the expected year. How can I manage that automatically? Should be possible! I have probably not found the correct method. This is our first steps to do Imports. Claes
There are two issues that you have to deal with when importing membership payments in order to extend your memberships:
- You should connect the contribution (mebership payment) with the correct membership after the import. Technically you don't have to but it makes a lot of sense in order to keep a good overview.
- You need to extend the membership (set a new membership end date)
The bad news is that afaik there is no user interface in CiviCRM-Core that allows you to connect existing payments with memberships. CiviCRM only offers to extend a membership and create a corresponding payment at the same time, but that does not work if you already have imported the payments.
There are also scheduled jobs that can change your membership status but that will probably not solve your problem either (a lot of information on renewal concepts can be found in CiviCRM's documentation).
The good news is that there are some extensions that can facilitate both connecting payments and memberships as well as extending your membership (e.g. by extending it's end date), for example this one: https://github.com/Project60/org.project60.membership
It can do much more than only connecting memberships and contributions via the UI so make sure that it's not an overkill for your purposes ;)
Unfortunately, there is no coherent documentation so for some features you may want to contact the maintainer (Björn from SYSTOPIA) for info and/or add to the documentation once you know your way around the extension.
If you only want to connect payments & meberships, https://github.com/CiviCooP/org.civicoop.membershippayment may do the trick.
I need to do the same thing and could not find a built in solution. There is a batch membership entry, but that is for manual entry from the interface. The code might be useful to write a process to import an externally created batch, but that is beyond me.
What I do is import the contributions from a file (derived from a bank transaction listing with a lookup from the memo field to find the contact to match it to). I give the contributions a clearly identifiable source (bank-year-month). I then do an advanced search for memberships with a contribution with this source and do a bulk update with a profile set up to edit the end date. I need to do this in two stages as some are annual and some are monthly memberships.
Hope that helps