Answers.Body: <p>There are two issues that you have to deal with when importing membership payments in order to extend your memberships:</p>
  <ol>
  <li>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.</li>
  <li>You need to extend the membership (set a new membership end date)</li>
  </ol>
  <p>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.</p>
  <p>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 <a href="https://docs.civicrm.org/user/en/latest/membership/renewals/#renewal-concepts" rel="nofollow noreferrer">CiviCRM's documentation</a>).</p>
  <p>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:  <a href="https://github.com/Project60/org.project60.membership" rel="nofollow noreferrer">https://github.com/Project60/org.project60.membership</a></p>
  <p>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 ;)</p>
  <p>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.</p>
  <p>If you only want to connect payments &amp; meberships, <a href="https://github.com/CiviCooP/org.civicoop.membershippayment" rel="nofollow noreferrer">https://github.com/CiviCooP/org.civicoop.membershippayment</a> may do the trick.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-29T13:50:38.063Z
Answers.Text: Geee! Thanks for your comprehensive answer. I'm really looking forward to dig into the information ans see if a solution for me can be found! Again Big, Large Thanks for your response!
  Claes
Answers.UserDisplayName: Claes Rickeby
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-30T15:16:53.370Z
Answers.Text: Interesting I hadn't thought about connecting the contribution to the membership. Would be nice but not essential. I'll have a look at these options.
Answers.UserDisplayName: Mick Kahn
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-02-01T08:09:15.983Z
Answers.Text: @MickKahn: You are right it's not essential unless you want to utilize an (custom) automated task to extend your memberships based on the payments in the system. Then it would be important to connect them in order to base your update routine on those payments.
Answers.UserDisplayName: Fabian
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-29T10:52:47.420Z
Answers.LastActivityDate: 2021-01-29T10:52:47.420Z
Answers.UserDisplayName: Fabian
Answers.Body: <p>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.</p>
  <p>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.</p>
  <p>Hope that helps</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-29T13:52:07.870Z
Answers.Text: Tank you for the proposal. I now have three alternatives to consider. Thanks a lot!!
  Claes
Answers.UserDisplayName: Claes Rickeby
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-28T10:48:02.533Z
Answers.LastActivityDate: 2021-01-28T10:48:02.533Z
Answers.UserDisplayName: Mick Kahn
Body: <p>I'm trying to do an &quot;Import Contribution&quot;, 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</p>
  
Tags: <contributions><import><upgrade>
Title: Importing Contribution should update Membership period
ThreadText: # Importing Contribution should update Membership period
  
  (Asked by: username_0 on 2021-01-25)
  
  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
  
  **Tags:** contributions, import, upgrade
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2021-01-29. Score: 2
  
  There are two issues that you have to deal with when importing membership payments in order to extend your memberships:
  
  1. 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.
  2. 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](https://docs.civicrm.org/user/en/latest/membership/renewals/#renewal-concepts)).
  
  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.
  
  > **Comments:**
  > **username_0**: Geee! Thanks for your comprehensive answer. I'm really looking forward to dig into the information ans see if a solution for me can be found! Again Big, Large Thanks for your response! Claes  
  > **username_2**: Interesting I hadn't thought about connecting the contribution to the membership. Would be nice but not essential. I'll have a look at these options.  
  > **username_1**: @MickKahn: You are right it's not essential unless you want to utilize an (custom) automated task to extend your memberships based on the payments in the system. Then it would be important to connect them in order to base your update routine on those payments.  
  
  ---
  
  ### Answer by username_2 on 2021-01-28. Score: 1
  
  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
  
  > **Comments:**
  > **username_0**: Tank you for the proposal. I now have three alternatives to consider. Thanks a lot!! Claes  
  
  ---
  
  