Home: NPSF > Nonprofit Starter Pack

There are two data model options for dealing with individuals:

  • One-to-One Accounts
  • Bucket (Individual) Account

In Salesforce.com, each Contact needs to be related to an Account. If you're dealing with businesses and their employees, this requirement makes sense. If you're dealing with unaffiliated individuals--people where your primary relationship with them doesn't have anything to do with where they work--it doesn't work as well.

Here is a brief description from the NPSF blog about why there are two options and why this was necessary:

"We started with the assumption that when an organization is the primary constituent then the nonprofit needs to operate in a business to business schema with that organization but, when an individual is the primary constituent, the nonprofit must be able to manage the relationship directly with that individual and not via a proxy organization record. We managed this by writing some code that creates a "phantom" account whenever a contact is saved without an organization explicitly defined. That account is of a special one-to-one type that can never be "visited". Whenever a link to that account is clicked, the user is taken to the associated contact. There are also routines that manage the deletion (and protection) of these accounts and their associated donations when contacts are deleted."

The two data models are two different strategies for dealing with this requirement.


One-to-One Accounts

In this model each individual is represented by a Contact and an Account that are linked together. The standard Account lookup on Contact is used for an Account that has the same name as the Contact. In this way, the Account and/or the Contact can be used to related other objects to an individual. Alternately, Contacts can be related to any standard Account, that is, one representing a business.

  • Pros
    • If you relate Opportunities to the individual's Account, you can create Rollup Summary fields that total Opportunities to the Account
  • Cons
    • There are two records created for each individual--a Contact and an Account

Bucket (Individual) Account

In this model each individual is represented by a Contact. Those Contacts that are not affiliated with a company are all related to a single Account. This "Individual" Account is meaningless, but helps unaffiliated Contacts function correctly in Salesforce.com. If desired, the Contact's employment would be tracked via the standard Account lookup, and they would no longer be attached to the "Individual" Account.

  • Pros
    • this model has less impact on the standard functioning of Salesforce.com
    • Contact merge and Lead conversion work normally
  • Cons
    • Opportunities can't be rolled up to Contacts via Rollup Summary fields, but donation rollups are available through NPSP code.

Which one should I choose?

Check out the criteria above and make sure you understand the pros and cons. If you decide along the way that you want to change models, it's possible. You will likely have data migration tasks to accomplish, though, because you'll want all the existing data to be flagged for the new model.

How does the Nonprofit Starter Pack to know which model to use?

In version 2.x and above of Contacts & Organizations, the NPSP uses Custom Settings. These can be found under the 'Contact Settings' tab in your system.

For older versions, there is a field on Contact called SYSTEM:AccountProcessor. Click on Setup/Customize/Contacts. Scroll down to the field:SYSTEM:AccountProcessor. This field is a picklist with two options:

  • One-to-One
  • Individual

At the bottom, you will see the two pick list options. Set the default value to match the model you want to use and the Nonprofit Starter Pack will behave that way. To change the default value, click on Edit next to the choice you want to make and click the checkbox that says "Make this the default value."