A stock Salesforce org is geared toward B2B companies, but I work in Higher Ed and we're B2C-focused. There seem to be three main B2C options available:

  1. Person Accounts
  2. Nonprofit Starter Pack (NPSP) 1-to-1 model
  3. NPSP bucket model

Why would I choose one option over the other?


2 Answers 2


Edit: In NPSP 3.0 and beyond, there is yet another option that they consider the default - the Household model. They suggest this as the best option.

To start, Person Accounts are a native option for B2C users, but they must be enabled by Salesforce; this is a permanent change. The two Nonprofit Starter Pack (NPSP) options are packages available on AppExchange and maintained by the Salesforce Foundation.

Person Accounts

What are Person Accounts? Person Accounts (PAs) provide one method for organizations needing to track “Business to Consumer” (B2C) relationships in Salesforce.com. Person Accounts allow you to utilize the existing Account object to model the relationship side-by-side with the standard “Business to Business” (B2B) Salesforce model. Person Accounts introduce a new ‘Account Record Type’ to your Salesforce.com instance. This record type (called ‘Person Account’) provides new fields on the Account object that wouldn’t otherwise be accessible to your organization. Person Accounts are not enabled by default, and instead need to be provisioned by Salesforce.com Support by logging a case. When a new Person Account is created, a ‘matching’ Contact is created, but is not accessible to the user or Person Account.


  • Simple data import with Contact fields
  • Supports Contracts
  • Information shows on Account and Contact reports
  • Contact fields directly accessible via Apex through single Account instance
  • Person Accounts support Opportunities


  • Not always supported by 3rd party applications
  • Must leave Company field blank during Lead conversion or a regular Account will be created
  • Formula fields at Account level cannot reference Contact fields (you can work around this by using a trigger to populate a custom lookup field from Account to Contact whenever a Person Account is created (Note: This was delivered in Summer '13)
  • Only show in searches for Accounts and not Contacts
  • Can only be merged with another Person Account
  • DML operations do not activate Contact triggers or workflows
  • Requires two objects for storage (one Account and Contact per Person Account)
  • Cannot be disabled; can only be hidden
  • Outlook Sync needs additional configuration
  • Campaign Member functionality is restricted; Add to Campaign will not appear for Custom Report Types that relate a custom object to a Person Account
  • More difficult to package components that reference Person Accounts in a package from a developer org

NPSP 1-to-1

What is the 1-to-1 model? The NPSP 1-to-1 model is a package available on the AppExchange, maintained by the Salesforce Foundation. It represents an individual by maintaining a link between an Account and Contact for that person. Since it is a package, unlike Person Accounts, this can be removed at any time.


  • Can be removed
  • Roll-up summary fields to Contact from Opportunity using Cross-Object formulas
  • Preferred contact information (email, phone, address fields)
  • Has Affiliations that connect individuals to companies
  • Uses standard SFDC objects


  • Requires two objects for storage (one Account and Contact per individual)
  • Validation rules and required fields can restrict Account creation

NPSP Bucket Model

What is the Bucket Model? Similar to the 1-to-1 model, this is a package maintained by the Salesforce Foundation that represents individuals by linking Contacts to Accounts. Where they differ is that the bucket model links many Contacts to a single Account whereas the 1-to-1 model maintains one Account per Contact. This does conserve space, but impacts reporting capabilities.


  • Maintains standard SFDC schema
  • Uses less storage than either Person Accounts or the NPSP 1-to-1 model


  • Opportunity reports need to be created differently for B2C vs. B2B Accounts
  • At large data volumes multiple buckets need to be created to support reporting (reporting breaks down after 10,000 entries are added to one bucket)
  • Having used the NPSP with 1 to 1 account model I think it is the way to go for most orgs that deal with individuals. It works very well. Yes the doubling up on the data may become an issue later down the track but the advantages as listed, outweigh that.
    – JodieM
    Commented Aug 10, 2012 at 9:57

I am currently administrating and developing for an organization that uses Person Accounts. I would weigh this decision very heavily before enabling Person Accounts for the following reasons:

  • The change cannot be undone
  • Person Accounts often lag behind regular Accounts as far as updates/bug fixes are concerned
  • Person Accounts often get very screwy when using cross-object formulas because some of the fields technically reside on the Account object, and some of them reside on the Contact object
  • Person Accounts also get screwy when using Campaigns, which work with Contacts, despite the fact that you will, in general, being using the Account object
  • Makes it more difficult to use apps from the App Exchange
  • It makes writing test classes for triggers more complicated because of the weigh you need to link the Accounts and the Contacts when creating test cases

I am currently working with a consultant to try to get my company to move away from Person Accounts, despite the fact that this will require us to migrate to a completely new org.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .