Since I started using CiviCRM about 5 years ago I've thought one of the biggest problem areas was related to tracking and searching for contributions based on household, which is generally how non-profit contributions should be tracked. It's been the source of many struggles at 2 or 3 orgs I have been associated with during this time.

Soft credits have helped to some degree, but require consistent and mistake-free work. A possibly very useful solution occurred to me last night - what if any time an individual makes a contribution it automatically soft-credited the household they are a member of?

Ideally it could be turned off and on and have the ability to control based on financial type.


  • This is great! Thank you. I will install the extension and see if it will work for us. I like the flexibility of rules and actions, but sounds like it's not necessary to pursue for this use case.
    – user3007
    Mar 18, 2016 at 0:11
  • Not sure if "which is generally how non-profit contributions should be tracked" is that much of a general true-ism
    – petednz - fuzion
    Mar 18, 2016 at 3:14
  • Who doesn't track contributions by household? Would you consider a husband a non-contributor if his wife is the one who actually used her credit card for the contribution? Or would you ask one member of a household for $100 in a given fundraising campaign even if the other member regularly gives $10,000? I have worked at several non-profits and none didn't try track donations by family.
    – desierto
    Mar 19, 2016 at 4:44
  • It's important to treat a family as one entity for fundraising purposes... it is the norm.
    – desierto
    Mar 19, 2016 at 4:46

2 Answers 2


Here is an extension that automatically creates a soft credit. I use it with my org and it works great. I'm running 4.7.2 with drupal 7.



It is a great idea. Using CiviRules, you could get a good bit of the way there out of the box. To set the soft credit though, you would need to (or pay someone to) write some code -- you'd have to code the CiviRule action.

For the formula, you'd set the trigger to "Contribution is added."

For the conditions, you could have a couple:

  • "Contribution is (not) of financial type ..." and you could set the type.
  • "Contact (not) in group" and you'd select a Smart group you created for people who are in a household (if you have contacts who are not in a household, you would need this check in the rules).

For the action, you would need to code it such that a soft credit is created for the household that is related to the contact that added the contribution. Or if you wanted to get a bit more flexible with it, you could code it such that the user could select the relationship that determines the soft credit.

CiviRules allows you to enable/disable a Rule as you see fit.

  • Well, frTommy's solution (posted around the same time) looks like the better answer, but I'll leave this here for people who want to go the CiviRules route. Feb 24, 2016 at 21:22

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.