Account and Contact Merge Administration

  • Online

The Veeva CRM application extends the Salesforce.com Account merge processing to include specific core business objects within the merge. The special processing within the Veeva CRM merge exists on the following objects:

  • Account_Territory _Loader_vod
  • Address_vod
  • Affiliation_vod
  • Call2_vod
  • Child_Account_vod
  • Pricing_Rule_vod
  • MC_Cycle_Plan_Target_vod
  • Sample_Limit_vod
  • Sample_Limit_Transaction_vod
  • TSF_vod

Customers can choose whether to use Veeva CRM’s Account merge functionality or whether they would like to implement their own solution. If a customer implements a custom merge process that varies from the Veeva CRM merge process, they can opt out of the Veeva CRM merge process. For more information, see this Salesforce article.

Enabling Account Merge

Ensure initial configuration is complete to use this functionality.

To enable Veeva CRM Account merge: 

1. Open the DISABLE_VEEVA_MERGE_vod custom label in edit mode.

2. Type "false" in the Value field.

When merging accounts with different hierarchies, the losing account's hierarchy is removed.

Opting Out of Account Merge

Customers can choose whether to use Veeva CRM’s Account merge functionality or whether they would like to implement their own solution. The default behavior of the Veeva CRM application is to use the Salesforce Account merge functionality. Afterwards, Veeva Account merge removes any Veeva-specific child objects, such as Address, Affiliation, and Child Accounts.

To disable the Veeva CRM Account merge logic: 

  1. Open the DISABLE_VEEVA_MERGE_vod custom label in edit mode.
  1. Type "true" in the Value field.

For more information on standard Salesforce.com Account Merge behavior, see the Salesforce online help.

Merging Territory Specific Fields

Customized logic is used to enforce the unique combination of an Account and Territory for Territory Specific Field records specifically for merging accounts.

  • If a TSF record exists for the losing account where the TSF record does not exist based upon the Territory on the winning Account, then the losing Account’s TSF record will be copied to the winning Account
  • If a TSF record exists for the losing account where the TSF record exists based upon the Territory on the winning Account, then the losing Account’s TSF record will be deleted

This feature is non-configurable if using the Veeva Account Merge processing.

Account Territory Loader in Account Merges

Account merges are executed in the Account Territory Loader, where the winning account is aligned to all territories defined in the ATL of the loser accounts. The ATL record of the “loser” account is subsequently deleted.

Merge changes should not impact any custom code built to replicate the same fix, since the Veeva ATL Merge simply cleans up any duplication that occurred during of the regular Veeva Merge process. Since the Veeva ATL Merge fix is executed at the same time that the Merge happens, these duplicates should no longer exist on the ATL object. Any post process that then searches for duplicates within the ATL object, will find that the data is already cleaned up, with nothing left to modify. The Veeva ATL Merge runs as part of the Veeva Merge process.

To disable Veeva specific merge handling, enable the DISABLE_VEEVA_MERGE_vod Custom Label.

Address Merge Processing Options

When using the Veeva Account Merge process, customers can configure how they would like to process Address Merges. This feature is configurable by the following Custom Label: ACCOUNT_ADDRESS_MERGE_BEHAVIOR.

To edit the custom label: 

  1. Select Setup.
  2. Expand Create, and select Custom Labels.

There are three settings for this label: ASIS, INACTIVE, and ACTIVE.

  • The ASIS setting follows default Salesforce.com behavior in that addresses are copied to the winning account without modification of the Inactive flag
  • The INACTIVE setting merges all addresses from the losing account and sets them as inactive. This sets the value of the Inactive flag = true for these records.
  • The ACTIVE setting merges all addresses from the losing account and sets them as active. This sets the value of the Inactive flag = false for these records.

Call Merge Processing

The Veeva CRM merge processing for Accounts allows the losing Account to be deleted in the case when a Call Report record exists for the losing Account. In this case, the Call Report reference is migrated to the winning Account.

Configuring Call Merge Processing for Offline Devices

Veeva CRM allows offline device users to sync Call Reports linked to Accounts removed from the system due to a merge. When syncing, Call Reports associated with the losing Account are migrated to the winning Account. To configure this feature:

  1. Ensure the user has Read permission to the Account_Merge_History_vod object.
  2. Ensure the user has an active VMobile Object Configuration (VMOC) for the Account_Merge_History_vodobject for their respective device.

Sample Limit Merge

When two Accounts with Sample Limits are merged via the Account Merge process, the Sample Limits and the associated Sample Limit Transactions of the two Accounts are also merged. This merge allows the existing Sample Limits and its associated transactions on the losing Account to be tracked after the merge with the winning Account.

Tracking involves the following fields:

Veeva Object Veeva Field
Sample Limit_vod Merged_vod
Original_Account_Id_vod
Merge_Conflict_Id_vod
Sample_Limit_Transaction_vod Merged_vod

These fields allow Sample Limits and Sample Limit Transactions to be traced to the losing Account.

The System Administrator user profile automatically has FLS read permission granted to these fields for tracking purposes.

When two Accounts are merged, the Sample Limit records on the losing Account are compared to the Sample Limit records of the same Limit Type on the winning Account.

If the date range on existing Sample Limits for the losing Account does not conflict with a date range for the Sample Limits on the winning Account, the following process occurs:

  • The Original_Account_Id_vod field on the Sample Limit is set to the Losing Account ID
  • The Sample Limit and the associated Sample Limit Transactions are reparented under the Winning Account
  • The Merge_vod check box on the Sample Limit and its associated Sample Limit Transactions is set to True
  • The Group_Id_vod field on the Sample Limit is updated with the Account ID of the winning Account

If existing Sample Limits for the losing Account conflict with a date range for Sample Limits on the winning Account, the following process occurs:

  • The Merge_Conflict_vod field on the Sample Limit is set to the ID of the conflicting Sample Limit on the winning Account
  • The Merged_vod check box on the Sample Limit is set to selected
  • If there are Sample Limit Transactions associated with the losing Sample Limit where the Call Date is within the range of a Sample Limit on the winning Account:

  • The Merged_vod check box on the Sample Limit Transaction is set to True
  • The Sample Limit Transaction is reparented under the appropriate winning Sample Limit
  • The Sample_Limit_Id_vod, Sample_Limit_Name_vod, and Sample_Limit_vod fields on the Transaction are updated to match the Sample Limit Transaction’s newly parented Sample Limit
  • If there are existing Sample Limit Transactions for losing Sample Limits that do not have a Call Date within the date range of any Sample Limit on the Winning Account, the Merged_vod field on the Sample Limit Transaction is set to True and the Sample Limit Transaction remains nested under the Sample Limit of the Losing Account

After all Sample Limits and Sample Limit Transactions have been reorganized using the above methods, the Disbursed and Remaining fields of the winning Sample Limits are updated to account for the reparented Sample Limit Transactions.

There is no way to enforce Sample Limit violations while performing an Account Merge.

Contact Merge Administration

Veeva CRM's Salesforce.com contact merge processing to include special processing related to the call object.

The Veeva CRM merge processing for contacts, allows the losing contact to be deleted if a Call Report record exists against the contact. Otherwise, the reference is migrated to the winning Contact.