Documentation Version
Winter '16 (API version 35.0)
  • Winter '16 (API version 35.0) 35.0
  • Summer '15 (API version 34.0) 34.0
  • Spring '15 (API version 33.0) 33.0
  • Winter '15 (API version 32.0) 32.0
  • Summer '14 (API version 31.0) 31.0
  • Spring '14 (API version 30.0) 30.0
  • Winter '14 (API version 29.0) 29.0
  • English

Person Account Record Types

Beginning with API version 8.0, a new family of record types on Account objects is available: “person account” record types. The person account record types enable specialized business-to-consumer functionality for those who sell to or do business with individuals. For example, a doctor, hairdresser, or real estate agent whose clients are individuals. For more information about person accounts, see “What Is a Person Account?” and “Person Account Behaviors” in the Salesforce online help.

Record types are person account record types if the Account field IsPersonAccount is set to true. Salesforce provides one default person account record type, PersonAccount, but an administrator can create additional person account record types. Conversely, record types with the Account field IsPersonAccount set to false are “business account” record types, which are traditional business-to-business (B2B) Salesforce accounts.

When a person account is created (or an existing business account is changed to a person account), a corresponding contact record is also created. This contact record is referred to as a “person contact.” The person contact enables the person account to function simultaneously as both an account and a contact. This is the one and only contact record that can be associated directly with the person account. Also, the ID of the corresponding person contact record is stored in the PersonContactId field on the person account.

Review this list of facts about person account record types before working with them.

  • You may need to contact your account representative to enable the person account feature.
  • You can use a query similar to the following example to find all records with a person account record type:
    SELECT Name, SobjectType,IsPersonType 
    FROM RecordType 
    WHERE SobjectType='Account' AND IsPersonType=True
  • If you issue a query() call against an account, the results return the root object type in the SojbectType field. This means that the value returned will always be Account.
  • A person contact can be modified, but cannot be created or deleted. Since these kinds of contacts do not have their own record detail page, clients should redirect users to the corresponding person account (Account) page. SOSL results will not include any of the contact fields enabled when IsPersonAccount is set to true. The contact ReportsToId field is not visible.
  • If you delete the account, the contact is also deleted. You cannot directly delete the contact; you must delete the account.
  • You can change the record type of an account across record type families (typically performed when migrating business accounts to person accounts, but the reverse operation is also supported). When you change the record type from a business account to a person account, the person contact is created. When you change the record type from a person account to a business account, the person fields are set to null, and the person contact becomes a regular contact with the same parent account it had before the change.


    You cannot change record types across record type families in the Salesforce user interface.

  • If you change the record type of a business account to a person account using either update() or upsert(), you cannot make any other changes to fields in that account in the same call; if attempted, the fault INVALID_FIELD_FOR_INSERT_UPDATE will result. However, you can change record type values from one person account record type to another, or from one business account record type to another, in the same call with other changes.
  • When converting a business account to a person account, there must be a one-to-one relationship between each business account record and its corresponding contact record. Furthermore, fields common to both records such as Owner and Currency must have identical values.
  • Workflow and validation formulas do not fire during a change in record types from or to person accounts.
  • When you change a business account to a person account, valid records will be changed and invalid records will show an error in the results array.
  • When you change a person account to a business account, no validation is performed.
  • describeLayout() for version 7.0 and below will return the default business account record type as the default record type even if the tab default is a person account record type. In version 8.0 and after, it will always be the tab default.
  • describeLayout() for version 7.0 and below will not return any person account record types.
  • describeSObject() for version 7.0 and below will show Account objects as not createable if the profile does not have access to any business record types.
  • After conversion, the new person accounts will have unique one-to-one relationships with the contact records that formed them. As is true for all person accounts, no other contacts can be associated to a person account.
  • After conversion, any existing account field history information remains on the person accounts. Any existing contact field history information is retained on the contact, but is not added to the person accounts field history.

For more information about person accounts, see the Salesforce online help.