Skip to main content

#SprintIdea0 debatiendo

I'm looking for input toward a comprehensive resource for helping organizations clean up their donation coding and keeping it clean going forward - particularly in regard to Organizational Giving. I'll post here all the resources I've found, and the pieces I've begun to create. (These NPSP practices are in many cases *adding* records, rather than changing data.)

 

One of the needs that prompted this inquiry is: an easy way to filter for all givers, whether they give directly or through an Organization (such as via a Donor Advised Fund) in a list view so we can use "Send List Email."

 

I'm interested in knowing how you have approached all of this with the NPSP:

  • What "Account Record Types" do you have?
  • What "Related Opportunity Contact Roles" do you have on Affiliation Records?
  • What "Roles" do yo have on Affiliation records?
  • Do you use a consistent Household Account model or a hybrid and why?
  • What automation or other measures have you put in place to keep things consistent?
  • What is important to your development staff in terms of constituent and donation coding?

 

Here are some steps to consider:

 

  • Considering whether to use a strict or hybrid Household Account model: Salesforce/NPSP recommends a consistent practice of putting ALL Contacts in their own Household Accounts, and using Affiliations to connect them to Organizations. Many nonprofits use a "hybrid" model, where those Contact that they have a personal relationship with as individuals are in their own Household, whereas Contacts that they only have a relationship with through their organization live directly on the Organization Account. (The relationship between Contact and Account is shown in the attached diagram in fuscia - Contacts can be directly related either to a Household Account OR an Organization Account). Here are pros and cons as I currently see them:
    • Argument FOR strict Household Model: Consistency is probably good. Organizational givers are found in one way (via Affiliation/Contact Role), rather than two (Contacts who are directly related to Organization Account and Contacts in Households via Affiliation/Contact Role).
    • Possible arguments FOR hybrid model: if we only know someone because of their connection to an Organization, it's more intuitive to add them directly to the Organization account. In order to use a consistent Household model, staff need to be trained and/or systems need to be in place so that all Contacts are created in Households and Affiliated to Organization Accounts. When a Contact is no longer affiliated with an Organization account (e.g., leaves that job or leaves that board of directors), decide whether to remove the Affiliation (and specify the former relationship somehow?) or remove the Contact/Household from Salesforce altogether.

 

  • Deciding on the best way to establish the relationship between Contacts who give via a vehicle such as a Donor Advised Fund. Should the Accounts have Account Record Type=Organization and Type=Donor Advised Fund? What should the Opportunity Contact Role be (Decision Maker? Other?) Changing coding on Account, Contact, Opportunity, Affiliation, and Opportunity Contact Roles accordingly.

 

  • Adding a "Primary Affiliation" on each Contact's record as appropriate (only one, which is also added as an Organization Affiliation record)

 

  • Adding any additional Affiliation records (can be > 1) in the Affiliation object, which connect Contacts to Organizations - we need to add these for both partners in a household, if we want both partners to come up in lists for emailing.

 

  • Specifying the "Related Opportunity Contact Role" in the Affiliation records - then the Contact will automatically have that Contact Role (Soft Credit, if applicable) whenever a Opportunity is entered on the Organization

 

  • Making sure there is a Primary Contact on each Organization, whenever possible. This enables:
    • any new Opportunity created on the Organization to automatically have the Organization's Primary Contact as the Opportunity's Primary Contact
    • Contacts in Households to automatically get a soft credit for new Opportunities created on the Organization Account

 

  • Standardizing whether opportunities are entered on Household Contacts or Household Accounts?

 

  • For existing Opportunities, making sure all relevant Contacts have "Opportunity Contact Role" records, as appropriate. These records connect Opportunities to Contacts and give soft credit to Contacts if the Opportunity Contact Role is specified in NPSP settings to be given soft credit.

 

  • Enabling Customizable Rollups, which allows us to create additional useful rollups, including rolling up all soft credits from all Contacts in a Household up to the Household Account.

Resources:

 

NPSP Videos: Here are some short NPSP videos on these topics:

 

(notes that "Primary Contact" person on an Organization is unrelated to the "Primary"

checkbox on an Affiliation record)

(create Contact Roles to give soft credit, rollups are calculated overnight in a batch)

(title says "Relationship", but video discusses auto soft credits via both Affiliations and Relationships; shows how the affiliation and "Related Opportunity Contact Role" must be set for each Contact to be soft credited-even if they're in the same household, "Getting all of this right is important. Donors with more complex needs will expect that you are representing their family, businesses, associates, and financial institutions correctly and that your organization is crediting the right people for the donations they help to bring in." Also there is a hierarchy for when a Contact is credited by multiple methods at the same time)

(notes can be used for DAF-bank OR employee giving/matching Opportunities through an aggregator)

 

Documentation:

These articles from the NPSP documentation explain how the NPSP's Household Account model intends for Contacts to be in their own households and Affiliated with Organizations, such as Family Funds.

Trailhead:

This Trailhead Module has useful information: Donation Soft Credit Management with Nonprofit Success Pack: https://trailhead.salesforce.com/en/content/learn/modules/donation-soft-credit-management-with-nonprofit-success-pack/manage-contact-roles-and-soft-credits

The first unit mentions "Customizable Rollups." "If you're using customizable rollups, your admin can add even more soft credit rollups, including rollups that aggregate soft credits for all contacts in a household and roll them up to the household account, as needed."

 

Other articles:

Managing Donations With Multiple Entities In Salesforce by Joel Salazar for Plativ:

https://www.plative.com/ask-an-expert-managing-donations-with-multiple-entities-in-salesforce/

9 respuestas
  1. 15 feb 2023, 16:11

    @Dodi Friedenberg have you heard of the new @Commons: Sprinty's Community Resources project?

     

    They've built an online library of relevant crowdsourced community content to help nonprofits and schools learn from their peers and get the information they need to get the most out of their Salesforce platform. Anyone can submit resources like what you've written above (even the link to this post!), which is then reviewed by members of the volunteer teams, then shared on the library. Check it out!

0/9000

I know this has been discussed before specifically in regards to NPSP's Engagement Plan, but wondering if anyone has a solution they like for "Engagement Plans" in EDA. Working with a customer who could benefit from this and as of now we think we will need to go custom/hybrid open-source, so I thought I'd ask the community!

It would be great if we had engagement plans in EDA!

#sprintidea
5 respuestas
0/9000

Most of our data at the Account and Contact level contains "institutional" data; fields that are populated from other sources (such as first name, last name, email, job title, department id, etc).

What is the best practice for governance around these institutional fields? For example, if an Alumni states they want their name changed on mailings, or during an interaction we discover a job title is inaccurate, but that field is populated via an integration from another university database, how can that be handled?

Looking for creative ideas such as formula fields / page layouts, as well as business process answers regarding how requests to modify institutional data fields are documented and governed.

10 respuestas
0/9000
I'd like to list some Jobs on the Jobs Listings page that don't have associated Shifts. They appear in alphabetical order; is there any way to change the order in which they are sorted?
11 respuestas
  1. 20 mar 2020, 20:00

    On that note @Duncan McGovern​ we fully expect Sprinters to need to pop in and out over the two days. It's perfectly ok. We wouldn't expect that at an in-person Sprint so much, but for this new digital experience and in light of everyone's WFH situation and distractions it's completely understandable. We're hoping that each individual team will schedule tasks/breaks/pop outs on their own allowing for flexibility. 🙂

0/9000

It's almost time for the Atlanta @Salesforce Commons & Sprint Events​ -- Mar 30 - Apr 1, 2020 (Registration is now open, below!) We will have scripting, translation, planning, audio, and other videotastic projects for you to join.

 

If you have a pet piece of NPSP open source documentation you would like to see turned into a short, easy to follow NPSP How-To Video, comment here or reach out to any of the steering committee members. @Bill Florio​ @Kevin Pettitt​ @Katie McFadden​, and me!

 

REGISTRATION:

http://bit.ly/SFDOAtlantaReg

#Sprint Idea​ ##2020 Sprint Planning​ #Community Sprints​ #NPSP Videography​ 

3 respuestas
0/9000

EX. Mr and Mrs. Jones uses Schwab Charitable (DAF) to give through their family foundation known as the Jones Family Foundation. How do you log that as an opportunity? Which account should be used to log the opportunity?

12 respuestas
  1. 14 ene 2020, 17:43

    We have donor advised fund as an opportunity record type, with type options "restricted", "unrestricted" and "unknown" available (most are unrestricted). We set the owner of the DAF as the account on the opportunity and by default the primary contact of the account is the primary contact of the opportunity. We also create an account for the DAF (account record type as "organization" and type as "DAF") which has a parent account of Schwab, Fidelity, etc. This is then entered as the affiliated account. We usually receive the notification and the check together, and the check date is entered as the donation date and the date the check was deposited is entered as the close date. Setting it up this way easily allows us to generate acknowledgement letters along with the others for the household, although our template is slightly different for DAFs, in that it excludes tax verbiage. So in your example our opportunity would look like this:

    Opportunity

    Account: Mr and Mrs. Jones

    Primary Contact: Primary contact on account

    Affiliated Account: Jones Family Foundation (which itself has a parent account of Schwab)

     

    I should mention that we don't fully utilize OCR, so this might not work for an org that does.

0/9000
Can anyone recommend or share templates they use for loading data such as Recurring Donations, Grants, Matching Gifts, and campaigns into NPSP? I will be loading such data and would love to have a spreadsheet similar to the NPSP Data Import that provides all of the fields in NPSP that can be loaded and their names. Thank you!
5 respuestas
0/9000

Here is a late  #SprintIdea.

 

Update how GDPR requirements should be implemented..

- What to do when the new SFDC Individual record preferences are updated, or define needed automations based on the GDPR preferences selected by the constituent

- Define rules for how the Individual record should be handled in the Contact Merge process

1 comentario
  1. 29 mar 2019, 03:24
    @GDPR/CCPA and Personal Data Privacy Chat 
0/9000

Modify Engagement Plan Templates to work backward from a specified future date

 

Hi all—just wanted to share this tip as I know the inability of "stock" Engagement Plan Templates to work backward from a future date is something that kept me from using them for a long time, and I think is an issue other folks on the Hub run into as well. Our need for this feature eventually got to the point where I just decided to think it through, and it was actually pretty easy to set up declaratively and is *almost* as easy to use as the standard process for setting up a plan.

  1. Create a custom date field "Final Date" on the Engagement Plan Template object and add to layout
  2. Create a custom number field "Days Before" on the Engagement Plan Task object and add to layout
  3. Create a (or modify your existing) Process that's triggered when a Task is created *edited to add both sets of criteria so the process won't fail if a non-EP Task is created*
    1. Criteria to meet: Task > Engagement Plan Task is not null, AND Task > Engagement Plan Template is not null
    2. Action to take if met: Update the Task that triggered the process and set the due date to Engagement Plan "Final Date" minus Engagement Plan Task "Days Before" value if there is a "Days Before" value specified. Here's the formula: IF(NOT(ISBLANK([Task].npsp__Engagement_Plan_Task__c.Days_Before__c )),[Task].npsp__Engagement_Plan__c.Finish_Date__c - [Task].npsp__Engagement_Plan_Task__c.Days_Before__c ,

      [Task].ActivityDate )

  4. Set up an Engagement Plan Template as you normally would, and leave "Days After" blank for any Tasks you want to set based on a future date. Once it's done, open up that template's record, and look at the related list for the Engagement Plan Tasks you want to update. Edit these records to add your preferred "Days Before" value. It's one step more complicated than using the visualforce page, but really very straightforward.
  5. Create a new Engagement Plan, and make sure to set a "Finish Date" value.
  6. When the Tasks are automatically created, Process Builder checks to see if they are related to an Engagement Plan Task with a value in "Days Before," and then updates the due date based on that value and the "Finish Date" value of the Engagement Plan

Notes:

  • I haven't thoroughly tested this or played around to see how dependent Tasks are handled
  • I suspect if you use email alerts when the tasks are created they'll have the old value (TODAY if left blank) rather than the value defined in Process Builder
  • This might be a cool #SprintIdea to implement a little more robustly and include a "days before" value in the VF page...
  • #PUBCrawlTip
1 comentario
  1. 19 feb 2019, 15:08
    This is fantastic. Thanks so much for sharing with the community! Would you consider adding this to the Solution Exchange?
0/9000

Will some Outbound Funds folks be at the Portland Sprint in a few weeks?   If so I'm interested in helping out as a developer.  

 

Cheers,

Peter

10 respuestas
  1. 8 oct 2018, 21:50
    I actually could not find the information for the portland sprint after hearing about it. I thought it had been canceled because there were references to it but no actual event page that I could find.
0/9000