The core Salesforce entities are Accounts and Contacts, and, by design, the platform divides fields and capabilities between the two entities. For example, you can schedule a meeting with a Contact, but not with an Account.

To better support Business to Consumer solutions, in 2006, Salesforce introduced Person Accounts as a standard option. Person Accounts seamlessly combine an Account and a Contact, so that you have all the capabilities you need when working directly with individuals.

Following its continuous improvement model, Salesforce has brought Person Accounts deeper and deeper into the platform, so that core native features like Formulas, Merge, and Search “just work”. Best of all, you don’t have to choose. Some of your customers can be companies, and others can be individuals, and all the core platform features are available to all your customers equally.

Although Person Accounts are a standard feature, some people still prefer to implement their own Business-to-Consumer support as a proprietary workaround. To help customers make an informed decision, this page presents the pros and cons of the common B2C approaches, starting wth Person Accounts.

Person Account Model

Person Accounts are represented as a native Salesforce record type. When an Account is added for the Person Account record type, the platform automatically creates the PersonAccount and PersonContact records, and binds them together, so that you use all of the capabilities and fields for Accounts and Contacts, in a natural, transparent way.

Person Account Pros

  • Elegant, native implementation supported by Salesforce.
  • Salesforce is committed to maintaining and improving Person Accounts.
  • Supports core features from Activities to Workflows, including Campaigns, Cases, Chatter, Communities, Contact Roles, Contracts, Cross-Object Formulas, Custom Fields, * Custom Objects, Outlook, Connect Offline, DataLoader, Email, ExactTarget, Import Wizard, List Views, Mobile, Opportunities, Packaging, Page Layouts, Pardot, Partner related list, Process Builder, Salesforce1, Search, Self-Service Portal, Social Networking, Visual Workflow, Workflow Rules, and more.
  • Supported by popular AppExchange apps.
  • Automatic conversion of Leads to Person Accounts when company name is left blank.
  • Creating or editing a Person Account triggers only the Account workflow rules.
  • During a search, people do not show up for both the Account and Contact records.
  • Allows standard fields for both the Account and Contact to be placed on a single layout and saved in a single DML transaction.
  • Can be hidden if not used.
  • Information shows on Account and Contact reports
  • Contact fields directly accessible via Apex through single Account instance.
  • An organization can use both Person Accounts and Business Accounts at the same time.

Person Account Cons

  • In some cases, native support may trail the initial release of new capabilities by a release cycle or two.
  • Outlook Sync, Pardot, and ExactTarget need additional configuration.
  • Some AppExchange packages might not be able to use person accounts effectively.
  • Person accounts can only be merged with person accounts.
  • Person accounts can’t have relationships with contacts.

By design

  • Must leave Company field blank during Lead conversion or a regular Account will be created.
  • Creating or editing a Person Account do not trigger contact workflow rules.
    May be under consideration (Safe Harbor)
  • Native duplicate management can only be used with business accounts.
  • Counts as two objects for storage (one Account and Contact per Person Account)
  • Cannot be disabled; can only be hidden.

Obsolete - Already Delivered

  • More difficult to package components that reference Person Accounts in a package from a developer org. (Delivered in Winter’15)
  • 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. (Delivered in Spring ‘13)
  • Only show in searches for Accounts and not Contacts. (Delivered in Summer ‘16)

Deprecated Option

  • -Person Account users cannot self-register for a Customer Portal. (Customer Portal replaced by Communities.)

Platform Issue

  • Campaign Member functionality is restricted; Add to Campaign will not appear for Custom Report Types that relate a custom object to a Person Account. (This is a general issue with any Contact)

B2C 1:1 Model

The B2C 1-to-1 represents an individual by maintaining a link between an Account and Contact for that person.

1:1 Pros

  • Doesn’t affect sharing model.
  • Roll-up summary fields to Contact from Opportunity using Cross-Object formulas.
  • Preferred contact information (email, phone, address fields).
  • Uses standard SFDC objects.

1:1 Cons

  • Unsupported, proprietary workaround that may need to be updated for new features.
  • Requires two objects for storage (one Account and Contact per individual).
  • Validation rules and required fields can restrict Account creation.
  • Searching returns two records for each person - the Account and the Contact.
  • Data shared between Account and Contact must be kept in sync.
  • Requires multiple DML transactions to update both records.
  • Triggers must be designed to save either Account or Contact information.
  • Cannot use standard Account/Contact Add.
  • It can be difficult to determine if an account is B2B or B2C because a B2B account with a single contact resembles a 1:1 B2C account.
  • Merging Contact records with’s standard Contact merge doesn’t currently work.
  • Lead conversion works but does not allow you to merge to an existing Contact or create an Opportunity upon Lead conversion.

B2C Bucket Model

The Bucket Model 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.

Bucket Pros

  • Doesn’t affect sharing model.
  • Maintains standard SFDC schema.
  • Uses less storage than either Person Accounts or the 1-to-1 model.

Bucket Cons

  • Unsupported, proprietary workaround that may need to be updated for new features.
  • 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).
  • Standard account fields and capabilities must be replicated for B2C Contacts.
  • May complicate lead conversion as prospects must be steered to correct bucket.
  • Cannot easily group related Contacts and Activities.
  • Difficult to explain to users.
  • Contacts may inadvertently inherit fields from the bucket.

Household Model

  • The Household model creates a bucket to group together one or more family members, and has similar same Pros and Cons.

Return to Best Practices for Enterprise Development on