I'm helping our food coop transition from a home grown membership system to CiviCRM. We have a number of unique requirements and am wondering whether any members have a model configuration to share for coop membership. Some of the uniqueness includes:

  • Equity for membership is paid in different amounts and over different periods of time for individual versus family memberships. During the equity period one is still an active member and must also pay a yearly fee.

  • There is also an option for sweat equity for those who cannot pay the equity fee. This also needs to be tracked for completion.

I'm currently struggling with the using membership types versus membership status to track the above.

  • The coop has varying discount levels based on the amount of hours volunteered. This can change on a monthly basis and the monthly discount rate needs to be tracked. A separate PHP/MySQL based system tracks the actual hours posted.

Realizing that this is a very broad subject and request, I am hoping there are some members here who have a similar system they've set up for their coop and could share some insights and even some configuration info.

2 Answers 2


Firstly, props for the work you're doing!

Secondly, the first two bullet points I'm fairly sure you can do out of the box just with config - you can have two membership types with different fees, and you can definitely offer discounts.

The last point is the most interesting. I wonder if a combination of one of either CiviPoints (a brilliant extension written by DaveFF) or CiviVolunteer (a brilliant extension written by Ginkgo Street Labs) with CiviRules (a brilliant extension written by CiviCoop) with perhaps some custom jiggery would help you with the latter.

CiviPoints lets you collect "points" that people have accumulated through different means. CiviVolunteer lets you track Volunteers' hours and shift allocation. CiviRules lets you perform actions when conditions are met. I.e. people who donate time, money, or food could then trigger CiviPoints to be awarded and tracked, and when enough points made you could adjust a value that says what discount memberships are allowed.

I know that all of the extensions' authors would be happy to be contacted :)


IN case this helps and since there have been no answers yet.

You can have multiple memberships for a contact, but i think this is easiest if the membership types 'belong' to different organisations (ie i think civi has a built in 'only one membership per owning organisation')

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.