Source: https://vaultcrmhelp.veeva.com/doc/Content/CRM_topics/Accounts/AcctConfig.htm

## Configuring Accounts

If users are unable to access record detail pages, verify the country\_\_v field on the user's user\_\_sys object is populated. The country\_\_v field is required for all users.

[![Closed](../../../Skins/Default/Stylesheets/Images/transparent.gif)
Components](#)

The Accounts module incorporates objects covering account creation, modification, and tracking.

**Account Details**

* account\_\_v – The initial object for creating and working with an account
* address\_\_v – This object stores all addresses for account profiles. It also stores physicians’ DEA and state license information.
* affiliation\_\_v – This object stores affiliations between person accounts and business accounts visualized in the Sphere of Influence module
* child\_account\_\_v - This object stores the hierarchy relations between person accounts and business accounts in a Parent-Child, HCO-HCO, or HCO-HCP manner. These relationships are displayed in the Account Hierarchy.

**Account Territory Management**

* tsf\_\_v – This object stores territory-specific fields for an account

**Account Change Management**

* data\_change\_request\_\_v – This object stores information for the data change request header
* data\_change\_request\_line\_\_v – This object stores information for data change request lines
* dcr\_field\_type\_\_v – This object indicates DCR-controlled fields and which changes need to be sent to Veeva Network

**My Accounts**

* account\_list\_\_v – This object stores a list of accounts
* account\_list\_item\_\_v – This object’s records represent individual accounts in lists on the account\_list\_\_v object
* view\_\_v - This object stores information about [Account Views](MyAccounts/Account_Lists_and_Views.htm)

#### Accounts Object Types

Object types are used on the Accounts object.

The table below contains the standard Veeva object types and their respective icons.

| Standard Object Types | iOS Icon | Browser Icon |
| --- | --- | --- |
| board\_\_v |  |  |
| business\_professional\_\_v |  |  |
| distributor\_\_v distributor\_branch\_\_v |  |  |
| employer\_\_v |  |  |
| extended\_care\_\_v |  |  |
| Generic Business |  |  |
| Generic Person |  |  |
| government\_agency\_\_v |  |  |
| hospital\_\_v |  |  |
| hospital\_department\_\_v |  |  |
| institution\_\_v |  |  |
| kol\_\_v |  |  |
| laboratory\_\_v |  |  |
| mco\_plan\_\_v  mco\_\_v |  |  |
| organization\_\_v |  |  |
| pharmacy\_\_v |  |  |
| practice\_\_v |  |  |
| professional\_\_v |  |  |
| publication\_\_v |  |  |
| wholesaler\_\_v |  |  |

Account object types must have unique translated labels. If a Vault contains two or more account object types with the same translated label, they may not all display in the New Account Wizard.

For information on mapping standard account object type icons to custom object types, see [Assigning Account Icons to Custom Object Types](MyAccounts/ConfigMyAccountsDisplay.htm#Assigning).

### Configuring Accounts for

[![Closed](../../../Skins/Default/Stylesheets/Images/transparent.gif)
All Users](#)

To configure this feature:

1. Verify established territories exist. Displaying [My Accounts](MyAccounts/MyAccountsOverview.htm) requires an established [Territory Hierarchy](../TerritoryManagement/Overview.htm) with users and accounts assigned to territories.
2. Navigate to **Admin > Users & Groups > Permission Sets**.
3. Select the appropriate permission set.
4. Navigate to **Objects**.
5. Grant the following permissions:

   | Object | Object Permission | Object Types | Fields | Field Permission |
   | --- | --- | --- | --- | --- |
   | account\_\_v | CRED | All object types | account\_class\_\_v  account\_group\_\_v  account\_identifier\_\_v  account\_search\_business\_\_v  account\_search\_firstlast\_\_v  account\_search\_lastfirst\_\_v  alternate\_name\_\_v  approved\_email\_opt\_type\_\_v  business\_professional\_person\_\_v  call\_reminder\_\_v  career\_status\_\_v  clm\_opt\_type\_\_v  color\_\_v  country\_\_v  country\_code\_\_v  credentials\_\_v  customer\_master\_status\_\_v  default\_inventory\_monitoring\_type\_\_v  default\_order\_type\_\_v  do\_not\_call\_\_v  do\_not\_create\_child\_account\_\_v  do\_not\_sync\_sales\_data\_\_v  enable\_restricted\_products\_\_v  exclude\_from\_zip\_to\_terr\_processing\_\_v  external\_id\_\_v  formatted\_name\_\_v  furigana\_\_v  gender\_\_v  hospital\_type\_\_v  id\_\_v  id2\_\_v  inventory\_monitoring\_type\_\_v  investigator\_cda\_\_v  kol\_cda\_\_v  language\_\_v  master\_align\_id\_\_v  matchid\_\_v  me\_\_v  middle\_name\_cda\_\_v  national\_company\_id\_\_v  nhid\_cda\_\_v  no\_orders\_\_v  npi\_\_v  order\_type\_\_v - ownerid\_\_v  payer\_id\_\_v  pdrp\_opt\_out\_\_v  pdrp\_opt\_out\_date\_\_v  photo\_\_v  practice\_at\_hospital\_\_v  practice\_near\_hospital\_\_v  preferred\_name\_\_v  restricted\_products\_\_v - salutation\_\_v  sample\_default\_\_v  segmentations\_\_v  speaker\_cda\_\_v  specialty\_1\_\_v  group\_specialty\_1\_\_v  group\_specialty\_2\_\_v  specialty\_2\_\_v  spend\_amount\_\_c  spend\_status\_\_v  spend\_status\_value\_\_v  status\_cda\_\_v  suffix\_cda\_\_v  target\_cda\_\_v  type\_\_v  vl\_link\_\_v  vl\_url\_\_v | Read |
   | mobile\_id\_\_v  primary\_parent\_\_v  territory\_test\_\_v | Edit |
   | account\_list\_\_v | CRED | n/a | n/a | n/a |
   | account\_list\_item\_\_v | CRED | n/a | n/a | n/a |
   | account\_overview\_layout\_\_v | R | n/a | n/a | n/a |
   | address\_\_v | CRE | All object types | * account\_\_v * street\_address\_2\_cda\_\_v * appt\_required\_\_v * billing\_cda\_\_v * brick\_\_v * business\_cda\_\_v * city\_cda\_\_v * comment\_\_v * controlled\_address\_\_v * controlling\_address\_\_v * country\_\_v * created\_date\_\_v * customer\_master\_status\_\_v * entity\_reference\_id\_\_v * external\_id\_\_v * fax\_cda\_\_v * fax\_2\_\_v * home\_cda\_\_v * inactive\_\_v * include\_in\_territory\_assignment\_\_v * latitude\_cda\_\_v * license\_\_v * license\_expiration\_date\_\_v * license\_status\_\_v * license\_valid\_to\_sample\_\_v * lock\_\_v * longitude\_cda\_\_v * mailing\_\_v * map\_\_v * master\_align\_id\_\_v * mobile\_id\_\_v * network\_cds\_entity\_id\_\_v * network\_dea\_entity\_id\_\_v * network\_distributor\_entity\_id\_\_v * network\_license\_entity\_id\_\_v * network\_rxa\_eligible\_\_v * no\_address\_copy\_\_v * office\_notes\_\_v * phone\_cda\_\_v * phone\_2\_\_v * network\_comp\_sample\_eligibility\_\_v * sample\_send\_status\_\_v * sample\_status\_\_v * shipping\_cda\_\_v * source\_\_v * staff\_notes\_\_v * state\_\_v * zip\_4\_\_v | Read |
   | * best\_times\_\_v * primary\_cda\_\_v | Edit |
   | address\_coordinates\_\_v | CRED | ios\_\_v | * address\_\_v * geocode\_fail\_\_v * last\_geocode\_date\_\_v * latitude\_\_v * longitude\_\_v * user\_detail\_\_v | Edit |
   | affiliation\_\_v | CRE | n/a | * role\_\_v * to\_account\_name\_\_v * to\_account\_record\_type\_\_v | Read |
   | child\_account\_\_v | CRED | n/a | * alternate\_name\_\_v * best\_times\_\_v * child\_account\_\_v * child\_account\_identifier\_\_v * child\_account\_search\_lastfirst\_\_v * child\_affiliation\_count\_\_v * child\_name\_\_v * child\_record\_type\_\_v * copy\_address\_\_v * customer\_master\_status\_\_v * external\_id\_\_v * external\_key\_\_v * hierarchy\_type\_\_v * location\_identifier\_\_v * mobile\_id\_\_v * network\_primary\_\_v * parent\_account\_\_v * parent\_account\_identifier\_\_v * parent\_affiliation\_count\_\_v * parent\_child\_formatted\_name\_\_v * parent\_child\_name\_\_v * parent\_name\_\_v * parent\_record\_type\_\_v * primary\_\_v | Read |
   | preferences\_\_v | RED | n/a | * last\_account\_type\_\_v * last\_account\_view\_used\_\_v * last\_view\_used\_\_v | Read |
   | product\_metrics\_\_v | at least R | n/a | n/a | n/a |
   | territory\_\_v | R | n/a | n/a | n/a |
   | tsf\_\_v | at least CRE | All object types  Should match the object types for the account\_\_v object | * territory\_name\_\_v | Read |
   | * external\_id\_\_v * territory\_\_v | Edit |
   | user\_\_sys | R | n/a | application\_profile\_\_v | Read |
   | user\_territory\_\_v | R | n/a | * territory\_\_v * user\_\_v | Read |
   | view\_\_v | CRED | n/a | n/a | n/a |
   | vmobile\_object\_configuration\_\_v | R | n/a | security\_profile\_\_v | Read |
6. Navigate to **Pages**.
7. Grant View access to the following pages:
   * My Accounts
   * View
8. Navigate to **Tabs**.
9. Grant View access to the **My Accounts** tab.
10. Navigate to **Business Admin > Objects > Veeva Settings**.
11. Populate the **Person Account Object Types** Veeva Setting by selecting the account\_\_v object types corresponding to person accounts. For example, Person Account, Professional, KOL.

#### Layout

For users managing the account hierarchy, add the **Members** or **Member Of** related list to the corresponding Account or PersonAccount layouts.

#### Veeva Messages

Enter a comma-delimited list of column names in the **ACCOUNT\_LIST\_COLS** Veeva Message to display different account, address, or TSF-related information for each account in an account list. Use the following format: Object\_API\_Name.Field\_API\_Name.

For example, account\_\_v.name\_\_v,address\_\_v.name\_\_v,address\_\_v.city\_cda\_\_v

To add a column to the account list, include the column name in the ACCOUNT\_LIST\_COLS Veeva Message. Verify users have at least read field permission to all of the fields defined in the ACCOUNT\_LIST\_COLS Veeva Message.

If the ACCOUNT\_LISTS\_COLS Veeva Setting does not point to the ACCOUNT\_LIST\_COLS Veeva Message, either update the Veeva Setting to point to the Veeva Message, or enter columns in the Veeva Setting.

#### VMOCs

Ensure VMOCs are activated for all objects in the permissions table above (except vmobile\_object\_configuration\_\_v).

#### Creating Custom Account Object Types

In addition to the standard object types, admins can create custom object types for accounts to tailor the data model and user experience to specific business needs. Consider the following information when creating custom account object types.

##### Configuring Product Metrics for Custom Account Object Types

If you create new object types, add them to the applies\_to\_\_v picklist on the metric\_configuration\_\_v object so users can apply Product Metrics to accounts with the new object type. For more information on updating the applies\_to\_\_v picklist, see [Using Product Metrics with Detail Groups and Topics](../Products/ProdMetrics/DisplayProductMetrics.htm).

##### Configuring Territory Field Layouts for Custom Account Object Types

If you add a custom account type, you should also create a custom TSF object type. For more information, see [Defining Territory Field Layouts by Account Type](ManagingAccountInfo/WorkingwithTerritoryFields.htm#Defining).

##### Mapping Icons to Custom Account Object Types

To provide a visual identifier for custom account object types, admins can map standard account icons to custom account object types.

To map a standard account icon to a custom account object type, populate the account\_record\_type\_icon\_map\_\_v Veeva Setting with a semicolon-delimited string in the following format:

<standard\_type\_1>:<custom\_type\_a>,<custom\_type\_b>;<standard\_type\_2>:<custom\_type\_c>,<custom\_type\_d>

* <standard\_type> is the name of one of the standard Veeva object types.
* <custom\_type> is the label of the custom object type to map to the standard object type
* To map one standard icon to multiple custom object types, separate the custom object type names with commas. For example, professional:mycustom1,mycustom2;hospital:mycustom3
* Separate icon mapping lists with a semicolon. For example, professional\_\_v:mycustom1,mycustom2;hospital\_\_v:mycustom3

##### Configuring a Data Source for Custom Object Types

Admins must configure data\_source\_\_v field for all custom object types. For more information, see [Record Data Sources for Account, Child Account, and Address](ManagingAccountInfo/RecordDataSource.htm).

##### Configuring Custom Object Types for Match ID Stamping

To allow [Match ID Stamping in Vault CRM](../General/MatchIdStamping.htm) on custom object types:

1. Navigate to **Admin > Configuration > Objects > account\_\_v**.
2. Select the **Object Types** tab.
3. Select **Edit Object Type Fields**.
4. Navigate to the page containing the **Match ID** field.
5. Select the **Match ID** checkbox for all custom object types.

   ![](../../Resources/Images/MatchID/MatchID.png)
6. Select **Save**.
7. Create and assign a [User Role](https://platform.veevavault.help/en/gr/69197/) to the Core CRM System User to grant Edit permission to the custom object types. This allows the Match ID value to be updated. The permissions provided in the User Role are additive with the permissions from the Core CRM Integration Security Profile.

   The Core CRM System User is assigned to the Core CRM Integration Security Profile, which uses the standard Core CRM Permission Set that Admins cannot modify.

   To create and assign a User Role to the Core CRM System User, do the following:

   * Ensure a Permission Set exists that grants Edit access to each custom Account object type. To create a new Permission Set:
   * Navigate to **Admin > Users & Groups > Permission Sets**
   * Select **Create**
   * Enter a **Name** for the permission set. For example, Accounts Custom Object Type Permissions.
   * Select **Save**
   * Select **Objects Tab > Accounts**
   * Select **Edit**
   * Grant **Edit** access to all custom object types on the account object
   * Select **Save**
   * Create an Application Role:
   * Select **Admin > Users & Groups > Application Roles**
   * Select **Create**
   * Enter a **Label**
   * Enter a **Name**
   * Select the appropriate **Permission Set**
   * Select **Save**
   * Add a [related object section](https://platform.veevavault.help/en/gr/26387/#sections) for the User Role object to the User object detail layout
   * Add the appropriate User Role to the Core CRM User:
   * Navigate to the **Core CRM User** detail page
   * Find the User Role related object section
   * Select the **Add** button
   * Select the **Application Role** created above
   * Select **OK**

     ![](../../Resources/Images/Accounts/Config/AddUserRole.png)

#### Configuring Custom Sharing Rules for Match ID Stamping

If [Custom Sharing Rules](https://platform.veevavault.help/en/lr/25494/) are configured on the account object, the Core CRM System User must be provided access to update all Account records for [Match ID Stamping](../General/MatchIdStamping.htm).

If a Custom Sharing Rule does not exist, Admins must create a Custom Sharing Rule. To create and assign a Custom Sharing Rule:

1. Create a Custom Sharing Rule for the Core CRM User:

   * Navigate to **Admin > Configuration > Objects > account\_\_v > Sharing Rules** tab
   * Select **Create**
   * Create the new sharing rule using the information below:

     | Attribute | Value |
     | --- | --- |
     | Label | Core CRM System User Full Account Access |
     | Name | core\_crm\_system\_user\_full\_access\_\_c |
     | Active | True |
     | Criteria |  |
     | Role | Editor |
     | Members | User.application-core\_crm\_int@<insert\_customer\_vault\_domain>.com |

     \* Criteria should not have a populated Value
2. Assign the Core System User to the Custom Sharing Rule:

   * System users cannot be manually assigned through the UI. Instead, admins must run MDL using the [Vault Postman Collection](https://developer.veevavault.com/docs/#developer-community):

     Using the Execute MDL Script Post action execute the following MDL. Be sure to replace the placeholder text with the appropriate vault domain.

     [Copy](javascript:void(0);)

     ```
         RECREATE Sharingrule core_crm_system_user_full_access__c (
             label('Core CRM System User Full Account Access'),
             active(true),
             object('account__v'),
             criteria([]),
             Sharingrole editor__v (
                 members('User.application-core_crm_int@<insert_customer_vault_domain>.com')
             )
         );
     ```
   * Admins can verify the Core System User is assigned to the correct Editor Role by viewing the Roles section of the Custom Sharing Rule:

     ![](../../Resources/Images/Accounts/Config/CoreSystemAccountFullAccess.png)

### Related Topics

[Accounts Overview](AcctOverview.htm)

[My Accounts Overview](MyAccounts/MyAccountsOverview.htm)

[Account Profiling Flightpath](https://vaultcrmflightpath.veeva.com/doc/Content/Accounts/AccountProfiling/1.Intro.htm)
