The last year I have been working with the Socialistic Party to implement CiviCRM for their membership administration. Whilst doing that we developed some small extensions which makes life easier for them with their membership administration. In this blog post I want to give an overview of the extensions we have developed and what they do.
We have developed more extension for the Socialistic Party so please take a look around at https://github.com/SPnl.
This extension adds a drop down to the contribution edit form to add a contribution to a membership. Or unlink a contribution from a membership
The socialistic party had a structure where members pay per quarter (1st of Januari, 1st of March, 1st of July, 1st of October). The payment is payed by direct debit. So as soon as a membership becomes active we want to create contributions for each remaining quarter of the current year. That is what this extension does. It does so by injecting a checkbox on the membership type screen when the membership type is set to a period of a year and a fixed period.
This extension adds a link to change membership payments details for contributions which are linked to the membership and which are in the future. This was needed because sometimes a member changes their bank account details or the amount they want to pay for their memebership (which is a voluntarly amount at the Socialistic Party).
This extensions cancels all future contributions of a membership as soon as a membership gets cancelled. This functionality was needed because as soon as member cancels his or her membership we dont want to receive money from their bank account in the future anymore.
This extension was not used for the implementation of CiviCRM at the Socialistic Party. However if we had known this extension existed we would probably used this extension.
So far it can automatically attach existing contributions to memberships, and automatically extend existing memberships if the appropriate contributions have been made according to the membership fee and the expected payment date.