Revisiting Membership Extras: Look how far we've come

Veröffentlicht
2024-01-17 06:06
Written by
jamienovick - member of the CiviCRM community - view blog guidelines

Howdy folks!

It’s been a while since I last provided an update on how Membership Extras is progressing. For those unfamiliar with what it is, Membership Extras is an extension developed by Compuco that vastly expands the scope of CiviCRM’s base membership functionality. If you are a membership organisation that isn’t already using it, it’s definitely worth a closer look!

At our recent CiviMeetup we ran a talk explaining the basics you can catch below:

Recapping Existing Features

In our original blog back in 2019, we launched with 6 major features for Membership Extras.

  1. Instalments - CiviCRM by default lets memberships have different durations (e.g. annual/monthly) but doesn’t support payment instalments. So if you wanted to offer an annual membership with monthly or quarterly payments then you’d have to find workarounds. Membership Extras makes this important functionality possible.
  1. Manage instalments - There are times where you might find the need to modify future instalments that are to be made within a payment plan. For that Membership Extras has added a new screen, accessible via the Contributions tab of a Contact summary page, where you can amend any outstanding instalments within either the current or next membership period. You can cancel memberships early here or set memberships to automatically renew. You can even see the projected membership types that will be in place for the next period and edit them if needed.
  1. Offline autorenewal - If you’re not using an ‘online’ payment processor and instead have an ‘offline’ direct debit process or send invoices, then by default CiviCRM has no way to automate renewals. With Membership Extras, this automation is built in alongside the option for automatic email notifications with any invoices.
  1. “Offline’ direct debits - Some Civi users require a batch export for their existing ‘offline’ direct debit provider which conforms to the AUDDIS process. This is not possible within base CiviCRM, so the extension provides communications and batching processes to support AUDDIS processes.
  1. Memberships in arrears status rules - Membership Extras extends base functionality of how ‘arrears’ are handled. Out of the box CiviCRM membership status rules can’t directly take into account situations where a user has or hasn’t paid for their membership. Membership Extras however supports a new membership status “in arrears” which is triggered when a payment for a membership is overdue, making it easier to track and chase those memberships with overdue amounts completely automatically!
  1. Webforms integration - Alongside all the above, membership extras integrates with Drupal webforms to provide support for instalments and direct debit setup.

We’ve also made a couple of progress reports since, with subscription management having been introduced, support for larger direct debit batch sizes, and a whole lot of work on membership payment plan functionality.

Where we Stand in 2024

As we enter a new year, what else is new with Membership Extras? Quite a lot it turns out! So let’s get into the details:

Pro-rata for Fixed Memberships

If your membership scheme has fixed start and end dates, you might want to offer pro-rata rates for anyone who signs up mid period.

Historically this has been a little tricky to pull off in Civi, with complicated manual calculations usually being required! Fortunately, Membership Extras simply automatically calculates the pro-rata rate for you. You can even choose whether you wish to pro-rate by months or by days, depending on which best suits your needs.

Membership Extras calculates this prorated amount automatically for you when it generates the instalment schedules for your members. It will even calculate how many instalments you need making it incredibly easy to setup new memberships perfectly without any manual calculations!

Managing Membership Upgrades

A much requested feature in CiviCRM is the ability to make it easier to upgrade membership tiers midway through an existing membership period. While you could accomplish this manually with some careful manipulation of the membership records, we’ve created an interface to make this much easier to achieve, and fully integrates to the instalment functionality.

Firstly, you’ll be able to, in one interface, define their new membership type and also the date on which the switch will occur. You can also specify that the switch should happen at the start of the next membership period. We’ve also added two options around how the member can pay for their membership. Either they can pay the higher membership rate for future instalments (which the system will update automatically), or you can choose to charge them a one-off fee for the upgrade, keeping the current payment schedule otherwise intact.

Managing Add-ons

It’s not just upgrades to membership tiers you may wish to change mid-period. Add-ons are a common occurrence within the membership sector, where you might offer some exclusive extra service for an additional fee. They don’t quite constitute membership alone, but are heavily linked, meaning they can be a bit cumbersome to track in out of the box CiviCRM.

With Membership Extras you can add items easily to instalment plans within the manage instalments interface. By default the start date will be today and the end date will sync to the end of the membership period - though both of these are configurable. The add-on will then have its amount distributed among the instalments and you can even choose whether or not it will automatically renew as an individual line item.

Automated Upgrades at Renewal

In some circumstances, you might want to automatically upgrade membership tiers at the end of the membership period. 

For example when transitioning a student membership to a standard one after a year of membership, or moving a member to a discounted rate when they retire.

For this purpose, we’ve created a new interface which lets you create rules around automated membership renewal changes where you can determine any membership tiers that should change automatically, any time requirement you wish to set, plus the ability to set a specific filter group to further specify who these rules should apply to.

These rules can be enabled or disabled at any time from their interface, and importantly can be given a specified order in which they are applied so that business logic can be followed.

Direct Debit Support

For those in the UK (and potentially for those working with the EU based SEPA) we’ve created a companion extension for Membership Extras specifically designed to give organisations more control over Direct Debit processes and help automate repetitive tasks.

We’ve added support for two types of batch management - instruction batches and payment collection batches. You can also create an AUDDIS standard export for any type of batch which will allow you to submit them to online Direct Debit processing portals such as PT-X.

Multi-orginator support has been added - meaning if multiple business entities exist in one organisation then the extension allows you to account for it throughout the whole process within a single CRM>

Direct Debit emails and letters will also be recorded automatically as activities within the system across 5 different use cases. This includes creating or updating a Direct Debit recurring payment, a reminder of payment collection, offline auto-renewal of a Direct Debit or if there is mandate update. Each of these activities can also be used to create scheduled reminders using 5 custom premade templates. You can even choose to send Direct Debit emails manually or download Direct Debit letters.

For more information and details about all of this functionality, please check the extension’s page.

Extra Webform Support

Of course, it’s all well and good setting up this functionality on the backend, but we’ve ensured that all of this extra functionality has continued to be integrated with Drupal webforms.

You’ll be able to see options and consideration for things such as instalments, recurring contributions, prorated payments and more when configuring your Drupal webforms.

For annual instalments set the frequency to 1 year, number of instalments to 1 and interval to 1. For monthly, the frequency should be month, number of instalments to 12 and interval to 1. For quarterly, the frequency should be month, number of instalments to 4 and interval to 3.

GoCardless Integration (exclusive to CiviPlus)

One final thing we’ve done with Membership Extras is to fully integrate it with GoCardless for completely electronic paperless direct debit.

Currently exclusive to CiviPlus (see below for more about CiviPlus!), the GoCardless integration will automatically take payments via Direct Debit for any outstanding invoices that are due on the membership.

It will even automatically retry payments if they fail - with the ability to customise how many unsuccessful attempts to take payment should count as a failure. This will then mark the payment as failed in your CRM and send an automatic notification to the member.

You can setup online forms with Webforms integration for membership signup (and renewal) and we’ve even made it possible to switch payment method mid period to GoCardless using the CiviPlus Self Service Portal. This includes the ability to instant pay for the first instalment.

If this sounds like something that might be useful to your organisation then please get in touch with us about CiviPlus!

Summary

As you can see, we’ve added a lot to Membership Extras since we started and once installed it will turn CiviCRM into one of the most comprehensive membership management systems available! 

From handling instalments, types of memberships, upgrades and add-ons, to the all important Direct Debit support, Civi is now able to support and automate an incredible range of different membership needs. Especially when it comes to processing payments.

And that’s not all… Coming Soon “Finance Extras”!

We’re also very excited to announce that we’ve done a huge amount of work on CiviCRM’s finance side, which perfectly integrates with Membership Extras, in order to fully support credit notes, multiple legal entities, Sage format accounting batch exports and better invoicing. Finance Extras will help supercharge your CiviCRM and in turn your finance teams! Keep an eye out for a “Finance Extras” blog post coming soon.

Getting Started with Membership Extras

If you’re confident that you know your way around a git repo and can install, manage and update your own extensions, then you’ll need both of the following extensions for the full functionality above:

Membership Extras

Direct Debit for Membership Extras

Do pay special attention to the fact that Membership Extras needs a specific version of CiviCRM installed, which you can find on the Compuco Github here.

If you’re not a technical whiz, then the easiest way to get access to all of these amazing membership features is to consider switching to CiviPlus.

CiviPlus brings together all the very best features of the amazing CiviCRM platform from all around the community and combines it with our Compuco know-how to give you the best possible CiviCRM experience. Migrating to CiviPlus is easy using our automated CiviCRM migration tool.

With enterprise grade hosting, scalability and security, CiviPlus will support your organisation to grow and thrive safely in the knowledge that we have you covered.

CiviPlus is CiviCRM plus a whole lot more.

Comments

Hi Petednz,

Due to the complex nature of Membership Extras it is designed and tested to work with a specific and patched version of CiviCRM that Compuco host via our Github. Using Membership Extras with an earlier or newer version of CiviCRM may lead to unexpected issues.

In the extension info.xml file, see the “comments” field where we specify the currently supported version of CiviCRM and have a download link to the correct version: See here:

https://github.com/compucorp/uk.co.compucorp.membershipextras/blob/a0f3…

Currently (at the time of writing) this is a patched version of CiviCRM 5.51.3, which can be found here: https://github.com/compucorp/civicrm-core/releases

This patched version maybe earlier than the latest version of CiviCRM but includes all security patches.

Unfortunately CiviCRM extension listing pages don't allow you to make clear that a version of an extension only works with a specific version of CiviCRM. It assumes that its anything after that version that works, which is not always the case.

I've tried to update all the places that we list the extension to mention this but if you spot anywhere else then do let me know and I'll update!

Best

Jamie

Do you intend to submit PR's to core to make membershipextras work on standard CiviCRM?

Hi @ayduns,

The "patched" nature of our version of CiviCRM, is less about needing patches to make membership extras "work", but more about the fact that we pin all our extensions to specific CiviCRM versions in order to ensure ongoing compatibility and maintenance. There is a huge amount of testing around each version we release to ensure that they are extremely stable.

As such, that would mean that we work with an older version of CiviCRM for a time (sometimes this is the ESR), which without the patches would not have all the security fixes of the latest CiviCRM version.

As such we patch our version in order to keep it up to date with those security patches, and other bugs we might find along the way. I would have thought you could use a vanilla version of the CiviCRM version that we use and it would work correctly, however it of course would be preferable to use our exact version which has additional back-ported fixes and security patches. Looking at the PR history on our repo: https://github.com/compucorp/civicrm-core/pulls?q=is%3Apr+is%3Aclosed you can see more details.

Some examples of PR's we have made to fix finance issues that are in our version of CiviCRM:

Our PR: https://github.com/compucorp/civicrm-core/pull/112
Pr to core: https://github.com/civicrm/civicrm-core/pull/26982

Our PR: https://github.com/compucorp/civicrm-core/pull/116
PRr to core: https://github.com/civicrm/civicrm-core/pull/27975

We always submit PR's to core and extension maintainers when we find issues and offer support to debug problems.

Best

Jamie

Jamie, thank you. I will be mention this extension in upcoming videos.