In my experience with Salesforce there have been few things that I have completely regretted, the decision to use person accounts was one of them. My personal simple answer to person accounts: don’t do it.
While there are many reasons for why not to use them, let me list a few of the most obvious ones:
- Salesforce has changed their stance on person accounts, initially when the person account decision was made, Salesforce told me they would officially support them. This isn’t the case anymore,
- Most AppExchange apps don’t fully support person accounts.
- Once enabled in your org, like a disease they can never really go away. Although record types can be changed and the ability to use the person account record type be taken away, person accounts are still active in the org.
- You lose the benefit of having the contact separate from the account, every time a contact is updated it always fired off the account execution thread at the same time.
- General Search feels ‘weird’, when you search for a contact record the record shows up under both account and contact, you can select either and it will take you to the same place, but end users still don’t understand.
- Business teams are usually confused on which records to report on – account or contact?
- Users often get confused with the definition of the account ‘__pc’ fields and the proper use of them.
- All contact fields that are replicated on the account (__pc), data storage is doubled for those records.
- Lastly – with a bit of custom code you are able to manage the one-to-one relationship just fine, without using person accounts.
After going through a hefty re-factor process, we came to a resting place with a person-account-like solution by doing the following:
- Using a bit of code to create the one-to-one relationship between an account and contact when a specific record type is created. (bucket accounts just wasn’t doing it for us.)
- Look-up field from the account to the contact allowing us to reference the contact while working with the account.
While this is like using person accounts we don’t encounter any limitations of using AppExchange apps, and limit the severity of our headache dealing with end users on why ‘Salesforce is confusing.’