The Humble Volunteer Hour Data Structure

How I have used Volunteers for Salesforce in many unexpected ways

Volunteers for Salesforce (V4SF) is a very nice package. While it’s a separate product from NPSP, it comes with every NPSP organization pre-intstalled product from NPSP, it comes with every NPSP organization pre-installed. I used it constantly.

Automatic Email and Phone Preferences for NPSP

Three workflow rules that infer the value of the NPSP picklist called preferred email and set it. Saves time when moving or deleting email fields.

The NPSP is awesome in that it allows us to have cell phone, home phones, and office phones and emails for our contacts since it’s a B2C type of service. I like that. However, I disliked getting a warning when I saved contacts indicating that I had forgotten to set the preferred email or preferred phone. The worst is when I move the only email address from work to personal (or vice versa) and get a validation error that the preferred email is blank. So I decided to improve the intelligence.

In-kind Giving and Categories of Work using V4SF

If in-kind giving looks more like volunteerism to you, track it with Volunteers for Salesforce rather than opportunities.

I noticed that many of our volunteers bring in-kind gifts with them. And it is true that our in-kind donors usually spend some time behind the scenes collecting, sorting, or delivering their donated items. So it seemed natural to me to record in-kind gifts using Volunteers for Salesforce and to summarize out-of-pocket expenses. In-kind gift receipts and proof for volunteer hours use the same process. We decided to track two types of in-kind hours and several categories to be ready for annual reporting and filing our IRS 990 appendices. You can read more about the solution here. You can access the installation URL for the unmanaged package. No support but you can ask questions (@streethyouth).

Volunteer Shift Notes on Web

Display special notes for volunteer shifts on the web

We wanted to reserve some shifts for specific groups and we wanted to identify certain shifts as full or critical to fill. We added a couple fields and workflow rules to modify the data displayed on the web for volunteer shifts.

As a byproduct of this we were easily able to include how many positions remain available. This feature is now available as a hover popup directly on V4SF so that’s not so critical anymore.

Automatic Donor Statistics

Need a simple way to keep up with who’s giving, who’s stopped, and who’s MPV? These simple fields do all the work. The graphs made possible will not fail to impress.

I don’t have a development manager and we don’t ask donors for pledges. I needed a lightweight way to identify which donors are current, which are not, and what the financial impacts were. The solution involves only formula fields and existing NPSP roll-up information.

The basic idea goes like this: we can know from roll-up data already collected by NPSP first, last, and lifetime giving for an account. We can restate that information into observed average annual giving capacity. It’s just an average but 100% automatic. And we know when someone first donated, last donated, and how many times they have donated. We can restate that into donation frequency information and create a date on which we expect the next donation based on past behavior. Whether they give weekly, monthly, quarterly, annually, biannually, or aperiodically, we get a date until which they are good, i.e., still within their observed statistical pattern. Just a statistical average but also 100% automatic.

From these ideas, you can develop some awesome reports and charts:

  • You can identify current accounts just by filtering expected next donation date to today. And you can sum the annual giving power to know current giving power

 ...  read more

Affiliation Summary Field

Show summary of contact’s organization affiliations in one easy field. Great for list view and reports!

I add a Text field to my contacts called Affiliation Summary. This is denormalized data… that is intentional redundancy introduced to help me. But no fear… it’s automatic. It is a field filled in by a roll-up helper tool. It is a concatenation of the related Affiliation Objects. The roll-up summary is the concatenation of the Organization Name. I filter the rollup on Affiliations that have the status of current. I don’t sort the relationships but one could. I don’t include the Role but one could. So for me in my own database, it looks like “Covenant Presbyterian Church;Street Youth Ministry;AMD;Tensleep Design”. I have done this with both Rollup Helper and Declarative Lookup Rollup Summaries Tool. It can also be done with Process Builder and a flow. I think it would be challenging to do with Process Builder alone.

I have also recently implemented a Relationship Summary field, listing all the people a person is related to in the database.