Answers.Body: <p>The membership status will be updated once the Contribution status is changed from Pending to Completed.</p>
  <p>Since you are using PayPal standard, a pending contribution will be created against the membership before the user is redirected to Paypal. Once the payment is confirmed at Paypal it will send a silent payment notification to Civi about the payment status and its details. Civi will read the notification and update the status of the contribution from pending to Completed/Failed simultaneously the membership attached to the contribution will also get updated like the status, end date etc.</p>
  <p>Paypal to send silent payment notifications to Civi, you will need to enable IPN at PayPal. Please check if you have enabled the notification as per the doc <a href="https://docs.civicrm.org/sysadmin/en/latest/setup/payment-processors/paypal-standard/#instant-payment-notification" rel="noreferrer">here</a>.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-02-08T15:52:04.647Z
Answers.Text: Hi Pradeep - thanks so much for the answer, but it turns out I was confused about what the actual problem was. I edited the question to clarify: the steps you outline are already working, but the issue is we want the renewal end date to be 1 year from the payment date, not one year from the previous end date (we don't care about gaps). We had originally done fixed rather than rolling memberships but our data goes back more than a decade so that was too many per person when we only need 1.
Answers.UserDisplayName: Hilary Caws-Elwitt
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-02-07T23:00:56.737Z
Answers.LastActivityDate: 2022-02-07T23:00:56.737Z
Answers.UserDisplayName: Pradeep Nayak
Answers.Body: <blockquote>
  <p>we want the renewal end date to be 1 year from the payment date, not one year from the previous end date (we don't care about gaps)</p>
  </blockquote>
  <p>I think you could do this by setting your Grace period to zero. That way someone moves from Current to Expired. Therefore a 'renewal' will add a new 12 months to the End Date since the system considers the membership already 'ended' and hence payment kicks off a new 12 month period</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-02-08T21:41:09.867Z
Answers.Text: or potentially leave Grace as is other than resetting it so that it is NOT considered 'Current' which is a slightly confusing civimember concept, ie you can have 
  Status = New, Current, Grace, Expired
Answers.UserDisplayName: petednz - fuzion
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-02-08T21:42:40.433Z
Answers.Text: but you can also say 'treat New and Current as Current Members' (which is then applies in various settings and I suspect may be how you can leave your Grace as is but have a 'new Start/End date' get triggered for any renewal after the original "end date'. test.test.test (am sure you will - and welcome to civiland)
Answers.UserDisplayName: petednz - fuzion
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-02-08T20:38:47.637Z
Answers.LastActivityDate: 2022-02-08T20:38:47.637Z
Answers.UserDisplayName: petednz - fuzion
Body: <p>I'm new to CiviCRM so I may be missing something obvious, but research hasn't helped me yet. This is for a small-scale organization using Wordpress where we don't want users to log in to the site. We are not trying to set up auto-renew, which seems to be what most of the questions that turn up in searches are about. All the member data was successfully imported from CSV files and mostly everything in the admin GUI looks and behaves normally AFAICT.</p>
  <ul>
  <li>I have a CiviCRM membership contribution page set up following the <a href="https://docs.civicrm.org/user/en/latest/membership/online-membership-sign-up/" rel="nofollow noreferrer">Online membership sign up</a> directions.</li>
  <li>We are not using Price Sets. Memberships are rolling. The payment processor is Paypal Standard.</li>
  <li>The contribution page successfully records the Member Dues contribution, matching to existing users.</li>
  <li>But the membership doesn't change.</li>
  <li>In <a href="https://civicrm.stackexchange.com/questions/31892/membership-not-updated-with-recurring-contribution">this post</a>, which is about auto-renew but was the most helpful I found, KarinG said &quot; If Membership is important for your org consider an extension that handles the logic for you. Eg -&gt; if Contribution is Completed -&gt; add +1y to current Membership start (or end date).&quot; That would be perfect!</li>
  <li>So I installed CiviRules, but I can't find an existing Action (there is Add Membership, but we just want one membership per person and don't mind gaps or type changes).</li>
  <li>I started looking at the directions to create one's own triggers, but before going down that road, I wonder/hope if there's some simpler way that I'm just missing!</li>
  </ul>
  <p>Thanks so much for any tips or help. I'm loving this project and hope to be able to contribute down the road!</p>
  <p>--
  Adding new information based on the responses:</p>
  <ul>
  <li>The online contributions are marked Completed. IPN is enabled and working.</li>
  <li>The contribution <em>is</em> associated with the membership - thanks Jon G for pointing me to that. Under Related Contributions I see name, amount, type, source, received, and status Completed.</li>
  <li>Now I see the actual problem! The members who have renewed so far skipped a year. When I imported the memberships to the database last month, the current person had an end date of 12/31/20<strong>20</strong>. The new end date is 12/31/20<strong>21</strong>. They renewed on 2/6/2022 so we want the new end date to be 2/5/20<strong>23</strong>.</li>
  </ul>
  <p>So now I have 2 questions! First is a meta-Stack Exchange question - how best to rework this so it's clear what the actual issue is? Second, what's the best way ensure that membership renewal dates are extended the way we want? Memberships are rolling with duration unit 1 year. I have status rules set up to put memberships in Grace period if they are under 2 years past end date.</p>
  <p>Thanks so much!</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-02-07T21:32:48.347Z
Comments.Text: Hi Hilary - you shouldn't need an extension eg civirules for this. The logic should be that if someone 'renews' (eg from a membership reminder with a checksum link) then once the payment is Completed, then the Membership should extend the End Date. Things that can interfere with this including having the membership in "Status Override' so check that is not the case for your record.
Comments.UserDisplayName: petednz - fuzion
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-02-08T04:15:34.853Z
Comments.Text: Hi Hilary - the following additional info can help folks troubleshoot. 1) Is the contribution labeled as "Completed"? 2) If you select **View** on a membership, you should see the related payments. Is the new contribution listed on the membership? Note that 2) often isn't true for contributions imported rather than generated through Civi - so if you're not sure what you're looking for, manually create a membership with associated payment so you know what it should look like.
Comments.UserDisplayName: Jon G - Megaphone Tech
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-02-08T17:26:51.473Z
Comments.Text: @JonG-MegaphoneTech this was so helpful, thank you, as it got me to realize that what was happening was the membership was being extended by a year from its last end date, when we want it to extend a year from the payment date.
Comments.UserDisplayName: Hilary Caws-Elwitt
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-02-08T17:28:54.607Z
Comments.Text: @petednz-fuzion Thanks also for this help - as it turns out, the End Date is getting extended but still ending in the past.
Comments.UserDisplayName: Hilary Caws-Elwitt
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-02-08T20:53:21.633Z
Comments.Text: Hi Hilary,
  
  I think this is down to how Civi views memberships.
  
  To renew a membership in Civi terms is to add another membership term onto the old membership term.
  
  What I think you're wanting (expired membr comes back, makes  a payment and gets another 12 months membershipfrom point of payment). Would from a CiviCRM point of view be creating a new membership.
  
  Sorry if there's no actual solution here- wiser heads than mine might see a way forward.
Comments.UserDisplayName: Craig Almond
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-02-08T22:05:01.773Z
Comments.Text: @HilaryCaws-Elwitt Tghe answer to your metaquestion - start a new question.  That way, answers are clearly associated with questions.
Comments.UserDisplayName: Jon G - Megaphone Tech
Tags: <civimember><contribution-page><civirules>
Title: Anonymous online membership renewal - member dues payment is recorded but how to extend the membership expiration date?
ThreadText: # Anonymous online membership renewal - member dues payment is recorded but how to extend the membership expiration date?
  
  (Asked by: username_0 on 2022-02-07)
  
  I'm new to CiviCRM so I may be missing something obvious, but research hasn't helped me yet. This is for a small-scale organization using Wordpress where we don't want users to log in to the site. We are not trying to set up auto-renew, which seems to be what most of the questions that turn up in searches are about. All the member data was successfully imported from CSV files and mostly everything in the admin GUI looks and behaves normally AFAICT.
  
  * I have a CiviCRM membership contribution page set up following the [Online membership sign up](https://docs.civicrm.org/user/en/latest/membership/online-membership-sign-up/) directions.
  * We are not using Price Sets. Memberships are rolling. The payment processor is Paypal Standard.
  * The contribution page successfully records the Member Dues contribution, matching to existing users.
  * But the membership doesn't change.
  * In [this post](https://civicrm.stackexchange.com/questions/31892/membership-not-updated-with-recurring-contribution), which is about auto-renew but was the most helpful I found, KarinG said " If Membership is important for your org consider an extension that handles the logic for you. Eg -> if Contribution is Completed -> add +1y to current Membership start (or end date)." That would be perfect!
  * So I installed CiviRules, but I can't find an existing Action (there is Add Membership, but we just want one membership per person and don't mind gaps or type changes).
  * I started looking at the directions to create one's own triggers, but before going down that road, I wonder/hope if there's some simpler way that I'm just missing!
  
  Thanks so much for any tips or help. I'm loving this project and hope to be able to contribute down the road!
  
  --
  Adding new information based on the responses:
  
  * The online contributions are marked Completed. IPN is enabled and working.
  * The contribution *is* associated with the membership - thanks Jon G for pointing me to that. Under Related Contributions I see name, amount, type, source, received, and status Completed.
  * Now I see the actual problem! The members who have renewed so far skipped a year. When I imported the memberships to the database last month, the current person had an end date of 12/31/20**20**. The new end date is 12/31/20**21**. They renewed on 2/6/2022 so we want the new end date to be 2/5/20**23**.
  
  So now I have 2 questions! First is a meta-Stack Exchange question - how best to rework this so it's clear what the actual issue is? Second, what's the best way ensure that membership renewal dates are extended the way we want? Memberships are rolling with duration unit 1 year. I have status rules set up to put memberships in Grace period if they are under 2 years past end date.
  
  Thanks so much!
  
  **Tags:** civimember, contribution-page, civirules
  
  > **Comments:**
  > **username_1**: Hi username_0 - you shouldn't need an extension eg civirules for this. The logic should be that if someone 'renews' (eg from a membership reminder with a checksum link) then once the payment is Completed, then the Membership should extend the End Date. Things that can interfere with this including having the membership in "Status Override' so check that is not the case for your record.  
  > **username_2**: Hi username_0 - the following additional info can help folks troubleshoot. 1) Is the contribution labeled as "Completed"? 2) If you select **View** on a membership, you should see the related payments. Is the new contribution listed on the membership? Note that 2) often isn't true for contributions imported rather than generated through Civi - so if you're not sure what you're looking for, manually create a membership with associated payment so you know what it should look like.  
  > **username_0**: @username_2 this was so helpful, thank you, as it got me to realize that what was happening was the membership was being extended by a year from its last end date, when we want it to extend a year from the payment date.  
  > **username_0**: @username_1 Thanks also for this help - as it turns out, the End Date is getting extended but still ending in the past.  
  > **username_3**: Hi username_0,  I think this is down to how Civi views memberships.  To renew a membership in Civi terms is to add another membership term onto the old membership term.  What I think you're wanting (expired membr comes back, makes  a payment and gets another 12 months membershipfrom point of payment). Would from a CiviCRM point of view be creating a new membership.  Sorry if there's no actual solution here- wiser heads than mine might see a way forward.  
  > **username_2**: @username_0 Tghe answer to your metaquestion - start a new question.  That way, answers are clearly associated with questions.  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_4 on 2022-02-07. Score: 5
  
  The membership status will be updated once the Contribution status is changed from Pending to Completed.
  
  Since you are using PayPal standard, a pending contribution will be created against the membership before the user is redirected to Paypal. Once the payment is confirmed at Paypal it will send a silent payment notification to Civi about the payment status and its details. Civi will read the notification and update the status of the contribution from pending to Completed/Failed simultaneously the membership attached to the contribution will also get updated like the status, end date etc.
  
  Paypal to send silent payment notifications to Civi, you will need to enable IPN at PayPal. Please check if you have enabled the notification as per the doc [here](https://docs.civicrm.org/sysadmin/en/latest/setup/payment-processors/paypal-standard/#instant-payment-notification).
  
  > **Comments:**
  > **username_0**: Hi username_4 - thanks so much for the answer, but it turns out I was confused about what the actual problem was. I edited the question to clarify: the steps you outline are already working, but the issue is we want the renewal end date to be 1 year from the payment date, not one year from the previous end date (we don't care about gaps). We had originally done fixed rather than rolling memberships but our data goes back more than a decade so that was too many per person when we only need 1.  
  
  ---
  
  ### Answer by username_1 on 2022-02-08. Score: 2
  
  > we want the renewal end date to be 1 year from the payment date, not one year from the previous end date (we don't care about gaps)
  
  I think you could do this by setting your Grace period to zero. That way someone moves from Current to Expired. Therefore a 'renewal' will add a new 12 months to the End Date since the system considers the membership already 'ended' and hence payment kicks off a new 12 month period
  
  > **Comments:**
  > **username_1**: or potentially leave Grace as is other than resetting it so that it is NOT considered 'Current' which is a slightly confusing civimember concept, ie you can have  Status = New, Current, Grace, Expired  
  > **username_1**: but you can also say 'treat New and Current as Current Members' (which is then applies in various settings and I suspect may be how you can leave your Grace as is but have a 'new Start/End date' get triggered for any renewal after the original "end date'. test.test.test (am sure you will - and welcome to civiland)  
  
  ---
  
  