Connect Funding to Programs in One Easy Object

Kevin Zeigler
Mission: Impactful
Published in
2 min readFeb 16, 2022

It’s no secret that I LOVE the Program Management Module (PMM). One of the most common requests that I get when talking about program management to my customers is how to connect the upstream grant/fundraising processes with downstream program management work. The answer can be simpler than you think.

First, a quick overview of what we’re trying to do here.

Donation flow in NPSP connected to various example programs.

When a donation/grant comes into NPSP [1], it’s allocated to one or more General Accounting Units (GAU, think Funds) via the GAU Allocation object [2]. The total of these rolls up to the GAU itself into several currency fields that come out of the box with NPSP [3]. Our goal is now to create a place where we can indicate that Program A and Program B are funded by one or more GAUs [4].

Here’s what we are going to create. One object that I called “Program GAU” that sits between the Program (from PMM) and GAU (from NPSP).

Program GAU junction object to connect the Program and General Accounting Unit objects.

You could, in theory, connect the GAU directly to the Program via a lookup/master detail. However, we want the ability to add multiple GAUs to one Program and split GAUs amongst more than one program, essentially a M:M relationship.

Check out the video below for a quick how-to, and you’ll be up and running in no time!

Helpful links and information:

Field details for the Program GAU object:

Percent Contribution Formula Field (as shown above):

Allocated_Amount__c /Program__r.Funding_Amount__c

NOTE: Please note that the information in this blog post is not intended to be Salesforce implementation advice. As a Solution Engineer, I build solution demos that highlight what you can do with Salesforce, not necessarily what you should do in your production environment. You should always solicit the advice of an experienced, certified Salesforce partner when making implementation decisions.

--

--