Opportunities in a Contact-centric Salesforce database

Last Updated on Thursday, 11 May 2006 10:20 Written by Steve Thursday, 11 May 2006 10:18

Salesforce uses an object called Opportunity to represent the chance for money to come into your organization. Hence the name. People ask me to rename Opportunity to something more nonprofit specific, but I don’t like to. I can’t think of a good name for something that can represent these many things a nonprofit choose to record in Salesforce:

  • Donations
  • Membership Dues
  • Grants
  • Ticket purchases
  • Retail item purchases
  • Volunteering

So I like to leave it as Opportunity. All these things can be seen as an opportunity for revenue–in the case of volunteering it’s an in-kind gift of time.

Opportunities have a real issue in Salesforce, though. They are not connected to a Contact but only to an Account. That means that if you create a Gift, it has to be tied to an Account, but doesn’t have to be connected to an individual. That’s a drag when 80% of the Contacts in my database are members of an “Individual” Account, which only exists as a generic holder for unaffiliated Contacts. It’s also a drag when most of the Opportunites in the database are payments directly from individuals, on behalf of themselves, and not on behalf of a company.

Some Salesforce users have gotten around this by creating an Account for each Contact. So each person has a fake company that they are associated with. Then Opportunities can be tied to that Account and that Account has a 1-to-1 relationship with the Contact. This solves the problem, but is a bit hard to explain to users that they have to enter a Contact for each person and then an Account as well.

Salesforce has some other functionality we can use, however, to deal with this issue in a fully Contact-centric way. Individual Contacts can be related to an Opportunity by creating an Opportunity Contact Role for them. I can associate a donor with a gift via a Contact Role called “Individual Donor”. I can then look at all the Opportunities and all the people connected to them with a Role of “Individual Donor” to give hard credits, or tax receipts. I can add other Contacts to Opportunities as well. Some that I use are:

  • Individual Donor – Household Member (this is a soft credit for everyone who is a member of the donor’s household)
  • Organizational Donor (this is to designate when the Opportunity is in the name of a business, like a business sponsoring an event)
  • In Honor Of (this allows you to report on Opportunites that are made in tribute to someone)
  • Grant Manger (designates the primary contact for a grant Opportunity)
  • Board Solicitor (identifies board members who are assigned to work a prospect donoation)

Salesforce isn’t built to support organizations that work directly with individuals, but as I’ve come to expect, it proves itself flexible enough to get the job done. By using contact roles on Opportunities you can tie them directly to individuals, and successfully use Salesforce in a Contact-centric fashion.


5 Comments

  1. Tucker   |  Friday, 12 May 2006 at 11:02 am

    When we spoke of using Contact Roles previously, one of the challenges identified was in reporting, where you could not doa summary report by Contact Fullname. However, this can be resolved by creating a custom formula field on the contact for full name – {!LastName} & “, ” – and using this field for your summary report.

  2. Steve   |  Friday, 12 May 2006 at 5:03 pm

    Right. It’s better than nothing but will cause problems is more than one Contact has the exact same first and last name. I’ve thought about concatenating the first and last like you do and then putting the id inside parentheses at the end. Then it would be unique.

  3. Gideon   |  Tuesday, 16 May 2006 at 10:28 am

    This is very useful, Steve, and definitely addresses a problem area we’ve seen. Good idea.

    Can you link the donations to events – ie. donations for silent auction, or $$ sponsorship, or $$ for advertising in the event materials?

  4. Steve   |  Tuesday, 16 May 2006 at 7:37 pm

    Gideon, use the Campaign relationship on the Opportunity to do that. That field isn’t on the Opportunity layout by default, so you may have to show it first.

  5. kkkkoaaa   |  Friday, 26 May 2006 at 8:19 am

    Keep a good job up!

Leave a Reply