Wednesday, June 29, 2011 - 18:17
Written by

Update 2: Based on some thoughtful input, we've integrated the requirement for multiple membership blocks INTO the price set functionality. Each price set field option can be linked to a membership type - opening up all the power and flexibility of price sets to both online and backoffice membership signup. You can read the details here in the issue tracker.


Update: This 'Make it Happen' has been fulfilled and we are beginning development. You can review detailed specifications:

  1. Membership Price Sets
  2. Multiple Membership Blocks

Thanks to the sponsors for making it happen!

  • International Society for Bayesian Analysis - Merlise Clyde
  • Green Party of NSW Australia
  • Fuzion - Peter Davis and Eileen McNaughton
  • Lighthouse Consulting and Design - Brian Shaugnessy
  • Bristol Exploration Club - Henry Bennett
  • Anon (field for recognition not filled out)


We have had quite a lot of requests for the ability to configure price sets for memberships.  We are in the midst of a last ditched effort to Make-it-Happen for a 3.4.x /4.0.x release which will be available to users of the old & the new CMS versions (Drupal 6 and Drupal 7, Joomla! whatever-the-versions-are-called). It's looking pretty good as we have pledges for $7250 of the $7500 required for this component and a multiple membership component requested by the main sponsor -  International Society for Bayesian Analysis 


So, what will this feature do if we Make-it-Happen?


The price-sets for memberships will allow a more detailed price on a membership sign-up page. For example, the Green Party of NSW

  • - offers one type of membership but several different prices depending on whether people are waged, low income or concession
  • - uses a fixed term membership but the amount changes depending on the time of year.
  • - allows people to select an additional optional e-magazine membership.

At the moment we are using a custom module with some extra code of our own to do this - you can see how it looks here


NSW Greens Price Set for Membership

In this case the membership is set to $0 and the fee is entirely made up of the price-set entries. Price sets support fairly compulsory fee structures - with the ability to make some fees available only for some date ranges and to have a mixture of compulsory and optional items and even negative amounts or discounts. Thus it is possible to have a different price for early bird payments or payments in different months. In the case of the NSW they would set up different time options depending on the time of year.


Although the NSW Greens already have a working approximation of what this intitiative will achieve they anticipate that the cost of maintaining this over upgrades will quickly mount up. This combined with their commitment to supporting CiviCRM means they are spending the money now on this MIH rather than waiting to pay for the custom code to be updated each time they upgrade.

Note that we expect that it will still be possible to set the 'minimum_fee' to something other than $0 and the amount calculated will be the total of the price-set + the minimum fee.  On our wish list would be the ability to have different price-sets for renewals than for new registrations & being able to change the price set by hook.


The second part of the initiative is to have more than one membership block per page and to have the ability to select whether they are compulsory or optional. For example a page may require that people sign-up for a Regional body membership but also have an optional block for national body membership and one for international body membership. A separate membership record would be created for each.


Note that any custom fields applying to memberships in profiles on the form would either have to be applied to all memberships on the page or just the first - rules need to be determined.


In all the examples above the result would be a single contribution created. However, if sufficient funding is acheived on the CiviAccounts Make-it-Happen we hope to see the ability to assign Contribution codes by line items which wil help track membership payments vs donations vs purchases.


If this sounds like something of use to you - You can help Make-it-Happen here.


Filed under