Specifications for adding Matching Gift and Soft Credit functionality to CiviContribute. (early draft as of 6/19/2008) |
Use Cases
Soft Credits
- Assign soft credit for a contribution to one existing contact
- Assign to > one contact (split amount)
- View soft credits for a contact (Contributions tab)
- Find soft credits (search) - separate from "hard credits" OR find both
- Find aggregate soft credits (custom search?)
Matching Gifts
- admin enters matching gift - associated with a "giving context" (e.g. contribution page or campaign or ?? )
- constituent contributions are made online or entered offline during matching period (and in the matching gift "context") - remaining match amount is decremented
- match is completed : matching gift period ends or remaining match amount = 0
- matching gift contributor is "billed" for match amount
- matching gift is received and recorded by admin (check or submit cc contribution) - balance due on matching gift is decremented by payment amount
Data Objects
Soft Credit
- Join table contribution -> contact
- Note (join to civicrm_note)
- Custom fields?
Matching Gift
- Contact ID
- Contribution Type ID
- Contribution Page ID OR Project / Campaign ID (if / when we implement Campaigns / Projects)
- Date Created
- Date/time Matching Starts
- Date/time Matching Ends
- Total Amount Comitted (will match up to this amount)
- Match Acknowledge Date
- Match Contribution ID (points to the contribution received for this match commitment - when received)
- Match Status
- Note (join to civicrm_note)
- Custom fields?
Labels:

1 Comment
Hide/Show CommentsNov 12, 2008
Ian Macdonald
I need to implement some sort of soft credits functionality for a client. The sort of thing I'm thinking of is the most basic usage case: There is a contribution of $20 that came from Jack, but I want to track that Jill is the fundraiser that raised the money. So, when I view Jack's contributions listing, I want to see a $20 'hard credit' and when I view the contributions page for Jill I want to see a $20 'soft credit'.
I am willing to work on development of this feature if appropriate.