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 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, 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/2020. The new end date is 12/31/2021. They renewed on 2/6/2022 so we want the new end date to be 2/5/2023.

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!

  • 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.
    – petednz - fuzion
    Commented Feb 7, 2022 at 21:32
  • 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. Commented Feb 8, 2022 at 4:15
  • @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. Commented Feb 8, 2022 at 17:26
  • @petednz-fuzion Thanks also for this help - as it turns out, the End Date is getting extended but still ending in the past. Commented Feb 8, 2022 at 17:28
  • 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. Commented Feb 8, 2022 at 20:53

2 Answers 2


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.

  • 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. Commented Feb 8, 2022 at 15:52

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

  • 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
    – petednz - fuzion
    Commented Feb 8, 2022 at 21:41
  • 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)
    – petednz - fuzion
    Commented Feb 8, 2022 at 21:42

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.