I need to enable Person Accounts in an org that already has plenty of Accounts and Contacts. I see a lot of documentation and blog posts about how to convert Business Accounts to Person Accounts, but that's not really what I'm looking to do. Here are the main outcomes I'm hoping for:

  • The existing Accounts need to be retained as Business Accounts; I don't need to convert them to Person Accounts.
  • The existing Contacts should become Person Accounts. I need to be able to relate them to multiple Business Accounts through the standard AccountContactRelation junction object.

I think the right approach is the following (high-level steps here), but I'm looking for validation and/or any helpful tips from someone who has implemented this before:

  1. Create a new record type for Business Accounts.
  2. Update the existing Accounts to use the new record type.
  3. Enable Person Accounts.
  4. Insert the existing Contact records as new Person Account records.
  5. Insert ACR junction records to relate the new Person Account records with the correct Business Account records.
  6. Delete the Contact records.

1 Answer 1


You can convert a Contact to a Person Account directly. However, since you desire to keep the accounts as business accounts, you can do this with some data loader logic, or even in Apex Code, depending on the volume. You don't need to delete any records.

First, export all of your contacts with their account Id. Next, use that export to create a new Account for every Contact. Then, use the results from that export to set the AccountId for every Contact to their new Account. After that, use the results from the new Account creation to set the RecordTypeId on the Account to the Person Account Record Type Id. Finally, create the new Account Contact Role records using the original Contact export data, mapping the fields appropriately. This will retain all related contact data, such as activities or custom objects.

  • Thank you @sfdcfox - quick follow up question. Why not just create the new Accounts with the PersonAccount RecordTypeId instead of creating the Accounts and then taking a separate step to convert them to that RecordTypeId? I'm guessing it has to do with needing to first relate the Contact correctly so it can carry over all the Contact details including activities? Thank you!
    – AM-KA
    Jun 19, 2023 at 17:01
  • @AM-KA Correct. Following this pattern keeps all of your opportunities, cases, activities, etc.
    – sfdcfox
    Jun 19, 2023 at 21:00

You must log in to answer this question.

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