top of page
  • Writer's pictureMichael Kolodner

[Hard or Soft] Credit Where Credit is Due, part 2

Last week we defined hard credit and soft credit. How does that look in Salesforce and the Nonprofit Success Pack (NPSP)?

It all comes down to opportunity contact roles (OCRs).

Opportunity Contact Role is a simple junction object that connects a contact to an opportunity. Besides the contact and the opp, there are two more fields: Role (a picklist) and Primary (a checkbox). In the original sales-focused use case of Salesforce, OCRs are used to designate the various people that you might need to talk to about a deal. You could check off one person as the “primary” contact on the deal and you could give everyone roles from a picklist, such as Influencer, Decision Maker, etc. NPSP uses OCRs in basically the same way, extending them a little further to control rollup fields for hard and soft credit.

If someone has the opportunity contact role “Donor” then they are getting hard credit. There is an NPSP lookup field on opportunity called Primary Contact. Whoever is in that field will automatically be given an OCR of Donor (and Primary will be checked). You really don’t need to do very much to ensure that hard credit is assigned.

If a contact is getting hard credit, the NPSP rollup fields for hard credit are getting values from this opportunity. That includes Total Gifts, Total Gifts This Year, etc.

A contact page with values in Total Gifts, and Total Gifts This Year

Most other OCRs confer soft credit. The specific OCRs that count toward soft credit in your org are set by your system admin, so it’s possible for someone to have an OCR on an opportunity and not have any credit (hard or soft) for that opp. But in general, if someone has an OCR connecting them to an opportunity other than Donor, they get soft credit.

If a contact is getting soft credit, that shows up—You guessed it!—in the soft credit rollups. such as Soft Credit Total, Soft Credit This Year, etc.

A contact page with values in Soft Credit Total, and Soft Credit This Year

Remember our donations to Hudson Street Orphanage benefitting Annie and her cohort? Let’s look at a couple of those gifts:

Oliver Warbucks gave $500

This is an opportunity on the Warbucks Household. Oliver is the primary contact and has the OCR “Donor.” Mrs. Warbucks has an OCR for Household Member that was automatically assigned.

A Salesforce opportunity record with the Contact Roles related list opened.

Shoe Fits Fund: $125 DAF gift on behalf of Goody Twoshoes

This opportunity is on the Shoe Fits Fund account. Goody Twoshoes is the primary contact and gets a “Soft Credit” contact role.

A Salesforce opportunity on an organization account, with Goody Twoshoes in the Contact Roles related list with the role Soft Credit.

One more credit: Partial Soft Credit

Since we understand soft credit from last week, let us now introduce the concept of Partial Soft Credit. Whereas last week I only ever talked about giving credit for a whole gift, partial soft credit is giving someone credit for only a portion of a larger gift.

Here’s how it would work. Remember last week when both Oliver Warbucks and Goody Twoshoes both asked Mr. Munitions to donate to the Hudson Street Orphanage? Let’s say that each of them asked him to donate $75 to the orphanage, perhaps in honor of Little Orphan Annie’s birthday. When Mr. Munitions’ $150 check shows up, we could record partial soft credit for Oliver and Goody, each to the tune of $75, rather than giving them both full credit for having influenced the gift.

Makes sense, right? And in that Trailhead module I linked to above, it's relatively easy to enter some partial soft credits in NPSP. But that’s a simple example with just two people to split the gift credit.

I’ll be honest: Basically none of my clients (or former employers) use partial soft credits. The data nerd in me is sad about this. But it’s just rarely worth the effort when you get into things like…

Three Bad Options: Workplace Giving

The situations I find the most difficult to follow are third-party donation setups like payroll deductions or pass-through workplace giving platforms like United Way or Benevity.

Remember the rubric: “Whose check is it?” The check comes from the workplace giving platform, United Way, or Benevity, or…) I think it’s pretty clear that we’re in a soft credit situation for the individual donors.

The craziness comes in when you’re trying to figure out how to parcel out the soft credit (partial soft credit.)

The moment the payroll deduction is made is the actual donation and the donation is to the workplace giving platform, not to your organization, hence a soft credit scenario. The problem arises when the workplace giving platform sends your organization one combined check and a list of the people at Company X whose contributions that represents. Some platforms send the detailed breakdown of how much was from each person, but not always. Some platforms tell you when the employees make their pledges, long before the payroll deductions start or the checks start coming, but you don’t get detail when the actual money arrives. And it’s my understanding that none of the workplace giving platforms actually go back and update you when things might change (like an employee that was doing a payroll deduction leaves the company mid way through the year.)

This is where you really have to start asking yourself how much detail is worth your while.

Imagine that you have a check from United Way and a list of 50 donors that went into it, with their individual amounts.

The technically correct thing to do would be to create an opportunity on United Way account and then to assign partial soft credit to each of the donors. Of course, before you do that, each donor must be in Salesforce as a contact and there’s no way to predict if they already are or if they’re a new name. Then you have to assign the right amounts to each of them on the United Way gift. 🤯

Simpler would be to just assign each of the donors a soft credit contact role, giving them all soft credit for the full value of the gift. You still need each donor to be in Salesforce. And you’ve now done it “wrong,” in the sense that they’re each getting too much credit. But at least they get some kind of credit and you have a way to see the names of everyone that’s donated to you via workplace giving. 😕

The final option is to just record the United Way check and not give any soft credits. Nobody loves this option, but it’s dramatically less work. You have to make a decision for your organization about what you are going to do with soft credit information that would make it worthwhile to put in the up-front effort of all the data entry. 🤷‍♂️

Side Note About Keeping Data Clean:

Corporate Donation/Payment on a Credit Card

I want to call attention to one final scenario that’s really hard to deal with: Organizations using a credit card on your donation platform.

If you’re a nonprofit that has some kind of earned-revenue situation, you might send out an invoice to a company. Depending on how that invoice was sent, it might not be payable by credit card. Or you could even have a case where a business notifies you that they’re going to make a grant/donation to your organization but they don’t do that kind of thing very often so they don’t have a clear process in place. In either of those situations you could have a well-meaning someone at the business who just pulls out their corporate credit card to pay the invoice or the pledge using the Donate Now link on your website. Ugh.

The first thing to do is thank them for their desire to promptly get money into your hands. (The second thing to do is educate them about the realities of credit card fees and how much less money just got into your hands than if they had sent a check.)

Don’t even mention to them that the donation link is not set up for organizational donations–it’s assuming this is an individual gift. Now it looks like a person made a personal donation but the money has actually come from an organization, not from their own bank account. And it’s also going to look like a sudden new donation even though somewhere else a similar amount is in accounts receivable, perhaps in Salesforce or perhaps in some other system…

The technical term for this situation is A Mess.

Realistically, you’re going to have to manually muck about with your database to sort things out. If we’re talking about Salesforce and a donation platform integration, there’s going to be an opportunity on the individual that should really be on the organization account. You could delete that, or modify it. There might also already be an opportunity on the organization account that was the one that’s really just been paid. You have to decide if you modify that one (to add the payment information) or use the newly created one (losing the history from the old one.) Like I said: a mess.

PS: This has nothing to do with soft credit or hard credit. Once you get the information cleaned up, the soft/hard credit should be unchanged.


Recent Posts

See All


bottom of page