Enabling the Addepar Integration

Follow
Some of the functionality described in this article is available as part of our Pinot Blanc release and will not be available if your Practifi instance is not upgraded to this release. 
Please note: This content is intended for Practifi System Administrators and is technical in nature. The steps described in this article may not be able to be completed without System Administrator permissions. Please discuss your integration installation plans with your Practifi Customer Support Team for their assistance.

Overview

Our integration with Addepar enables a list of client Assets and Holdings registered in Addepar to appear under the list of Assets recorded in Practifi without data reentry. Values of Assets and Holdings are updated regularly through an overnight data synch job. The projected fee revenues accruing to the firm from billings for managing the Assets are also shown as part of the client record.

This article outlines the steps to enable the Addepar integration in your organization. For more information about the Addepar integration, please consult our Using the Addepar Integration article.

Before You Begin

Contact your Practifi Customer Success Manager and Addepar's Support team to let them know your firm's plans to integrate the two systems. The information required for the integration is as follows:

  1. URL for the Remote Site setting
  2. URLs for Authorize Endpoint and Token Endpoints setting 
  3. Obtain from the Practifi Customer Support team the Consumer Key and Secret Credentials established between Practifi and Addepar for this integration 
  4. URL for the Named Credential 
  5. The username and password for a user who is an Admin at the firm for the Addepar system 
  6. The Firm ID, which is necessary for connecting the two systems 
  7. Obtain from the Practifi Customer Support team the practifi__External_Id_[x]__c data field names which may be used for linking Addepar Assets and Holdings (one for each of Assets and Holdings), and which do not conflict with any other integration already installed on the system. There are five such fields available on each. 

Reference Currency

There may be cases where your firm needs to show Asset and Holding currency figures other than USD. To do this, ensure the Addepar portal has its firm-wide Reference Currency set to the required currency (e.g., CAD, SGP). Otherwise, the currency figures will be shown in Practifi in USD and will not match the figures that otherwise appear in the Addepar portal for those same Assets and Holdings.

Installation 

Create Remote Site Settings

  1. In Salesforce Setup, use the Quick Find search bar to search for and select Remote Site Settings.
  2. Select the New Remote Site button.

    mceclip7.png

  3. Supply the following:

  4. Once the information is entered, select Save.

 

Create Auth Provider

Under OAuth 2.0, the Authentication Provider is set up between Addepar and Practifi for all Client Organizations. It is the same reference for all Client Organizations and is only set up once by Practifi. When you are ready to complete this step, please contact Practifi Support. 

  1. Go to Salesforce Setup under the user’s avatar/picture icon in the top-right of the page.

    mceclip2.png

  2. Use the Quick Find search bar to search for and select Auth. Providers.

    mceclip3.png

  3. On the Auth. Provider page, select the New button.

    mceclip1.png

  4. Complete the details on the new Auth Provider panel as follows:
    • Provider Type - StaticOAuthProvider

    • Name - Suggest using "Addepar OAuth"

      • Please note: The name should be chosen carefully.  Once the name has been created, please do not delete it and try to recreate it. Salesforce still retains a reference to the original name and will have trouble authenticating with Addepar again after the change

    • URL Suffix - Follow the default
    • Consumer Key - <Please contact your Practifi Account Manager to obtain the Consumer Key.>

    • Consumer Secret - <Please contact your Practifi Account Manager to obtain the Consumer Secret.>

    • Authorize Endpoint URL -  https://<client_prefix>.addepar.com/oauth2/authorize

    • Token Endpoint URL - https://<client_prefix>.addepar.com/api/public/oauth2/token

    • Default Scopes - portfolio files

    • Send Access Token in Header - Checked

      mceclip2.png

      AddOAuthProv1.png

Create Named Credential

Create a Named Credential to access the Addepar client system. The step will require the Client to supply an Admin user's name within the Client for their Addepar system, who will authenticate the connection to Practifi through this Named Credential.

  1. In Salesforce Setup, use the Quick Find search bar to search for and select Named Credentials.
  2. Select the New Named Credential button.

    mceclip5.png

  3. Supply the following:

    • Label - Suggest using Addepar OAuth Prod for a Production system

    • Name - <follow default>

    • URL -  https://<client_prefix>.addepar.com/api/v1

    • Identity Type - Named Principal

    • Authentication Protocol -  OAuth 2.0

    • Authentication Provider - Addepar_UAT, per the Auth. Provider set up above

    • Scope - portfolio files

    • Start Authentication on Save - Checked. Upon selecting Save, this will take the user to the Addepar login page, on which the Admin user that is an Admin user within the Client for their Addepar system logs in with their username and password. The integration is then authenticated to link the two systems, and the Authentication Status field changes to Authenticated. If the named credential is not updated to a status of Authenticated, the user should first login to their Addepar Portal in the same browser session and then repeat the process of attempting to authenticate the named credentials.

    • Generate Authorization Header - Checked

      mceclip0.png

 

Activate Addepar Integration

  1. In Salesforce Setup, use the Quick Find search bar to search for and select Custom Settings.
  2. Select Manage next to Addepar Integration Settings.

    mceclip9.png

  3. Select Edit and supply the following:
    • Annualize Days - 365. This is the daily fee earnings figure for the assets in Addepar multiplied by 365.
      • Please note: This figure is typically derived from the most recent daily fee earnings generated by Addepar, then multiplied by 365 to approximate a projected fee earnings figure. The Annualized Revenue figure uses the last full day of fees calculated by Addepar in its system. It is essential that the Annualize Days parameter exactly matches the equivalent revenue calculation time period set in Addepar, i.e., for quarterly revenues set in Addepar, use "4" for Annualize Days in Practifi. For half-yearly revenues set in Addepar, use "2" in Practifi; for annual revenues set in Addepar, use "1" in Practifi. The Annualize Days parameter multiplies the Addepar-generated revenue figure to derive an annual representation in Practifi.
    • Asset Default Category - Managed funds are the default if this setting is left blank. This is the Asset Category name the Asset will receive when it is first received in an integration. 
      • Please note: The spelling and case must be the same as that defined in the list of Default Asset Categories. Please consult the Alternate Default Asset Category Codes instructions below
    •  Asset Default Under Advice Status - Check this box if new incoming Assets should be set as Under Advice when first received in an integration.
    • Credentials - Name of the Named Credential set up previously.
    • Enabled - Checked.
    • External Id Asset Liability -practifi__External_Id_2__c Be sure to obtain the next available Id on the Client's system.
    • External Id Holding - practifi__External_Id__c Be sure to obtain the next available Id on the Client's system.
    • Firm Id - Addepar will allocate a Firm Id for its clients.
    • Is Test Env - Unchecked. Only check this field if performing tests with Addepar, as the integration will use a different Addepar-provided URL path.
    • Request Per Batch - 2. The number of Addepar Async Job requests per Apex batch.
    • Time Between Batch - 5. The time in minutes between each Apex batch job.
    • Portfolio Per Request - Number of Client Portfolios requested per Batch. The default is 10.
    • Verbose Logging - Unchecked.
  4. Once this information is provided, select Save.

    mceclip0.png

Alternate Asset Default Category Codes

The codes available for use as the Asset Default Category can be found in Salesforce Setup under the Object Manager. Then select Asset/Liability > Fields & Relationships > Category.

mceclip0.png

Towards the end of the page is the list of available Asset Categories. Read off the name, which should be the default to be applied as the Asset Category. Be sure to type the name exactly, including capitals.

If the firm prefers to use a new Asset Category, select New and add to the existing list. After this step, the newly added value must be made visible to users for selection. From the Asset/Liability Object Manager view, select Record Type, and select the Asset record type.

mceclip2.png

Select Fields & Relationships and Category, and Edit alongside the Category label.

mceclip3.png

Select the value required from the left side in the Available Values list. Use the Add button to move it to the right side of the Selected Values list and select Save.

mceclip4.png

Schedule Sync Job

Importing Addepar Assets, Holdings and Annualized Revenue figures occurs once a day at the end of the processing day for Addepar. Remember that Addepar is located in the USA, so the time of day chosen should be in the post-end-of-day processing hours for a USA business.

  1. In Salesforce Setup, use the Quick Find search bar to search for and select Apex Classes.
  2. Click on Schedule Apex.

    mceclip12.png

  3. Look up AddeparScheduleSync and select it as the Apex Class.

    mceclip13.png

  4. Apply the required schedule, bearing in mind the end-of-day completion jobs on the Addepar system.

    mceclip14.png

  5. Once the schedule is set, select Save.

Add Addepar as a New Source Value

Adding Addepar as a new Source in the Source list will distinguish Assets from Addepar from another system. To add this value, navigate to the Object Manager and select the Asset/Liability object. Once in the object, select the  Fields & Relationships tab on the left-hand side and select the Source field.

mceclip5.png

Towards the end of the page is the list of available Sources. To add a new Source (Addepar), select New and add Addepar to the existing list. 

mceclip0.png

After this step, the newly added value must be made visible to users for selection. From the Asset/Liability Object Manager, select Record Type and the Asset record type.

mceclip2.png

Select Fields & Relationships and then locate the Source picklist. Select Edit alongside the Source field.

mceclip6.png

Select the Addepar value from the left side in the Available Values list and use the Add button to move it to the right side in the Selected Values list. Once this change is made, click Save.

mceclip7.png

Assign Addepar Permission Set

  1. Assign the Practifi - Integrations - Addepar User permission set to the users who need access to the Addepar Integration.
  2. Navigate to Salesforce Setup, search and click Permission Sets
  3. Select the Practifi - Integrations - Addepar User permission set. 

    mceclip0.png

  4. Select the Manage Assignments button.

    mceclip1.png

  5. Select the Add Assignments button.

    mceclip2.png

  6. Select the users who will need access to Addepar and click Assign.

    mceclip3.png

Create Lookup Rollup Summary

  1. Navigate to the Settings App by selecting Settings from the App Launcher.

    mceclip0.png

  2. Select Lookup Rollup Summaries from the Navigation menu.

    mceclip0.png

  3. Click New and enter the details as per the screenshot below.

    mceclip0.png

  4. Select Save at the lower right of the panel. This rollup totals the Annualized Revenue figures from Addepar for each Portfolio and displays it at the Practifi Client level. 

Enable Addepar Triggers

Triggers for changes in Addepar data ensure that totals are carried forward for each Client record. 

  1. Navigate to the Custom Settings panel in Salesforce Setup.

    mceclip1.png

  2. Locate the Practifi Trigger Settings line, select Manage and then Edit.
  3. Check the boxes for "Addepar Portfolio Rollups" and "Addepar Portfolio."

    mceclip0.png

 

 

Dynamic Query Support (Optional)

Additional flexibility has been implemented in the Addepar integration to retrieve the currency of the money values in a currency other than the Reference Currency configured in Addepar. This involves adding Custom Metadata Types to the Salesforce configuration for Addepar.  

After installation, the Addepar integration queries the Addepar system using the following query settings. This is the default query:

mceclip1.png


Below is an example of completing the rows in this panel with money values being received from Addepar into Practifi as a specific currency rather than the default currency in Addepar, in this example, Japanese Yen. The currency conversion is handled within Addepar.

mceclip2.png

To configure this adjustment, navigate to the Custom Metadata Types setting and click on Manage Records for the row for Addepar Query Columns row:

mceclip6.png

mceclip4.png

Click New, and enter the required values. The only adjustment we should seek is changing the ref_currency to another explicit currency. All the rows in the Default Query (above) should be repeated in this table.

mceclip5.png

 

mceclip3.png

Click Save or Save & New to continue.

Please note: The Label and Addepar Query Column Name columns do not affect the final result but must be filled. This setting will override the Default Query (shown above). Even one metadata record in this table will override the entire Default Query. A wrong setting for one field will cause the whole integration to fail. Discuss your plans with a Practifi Customer Support Engineer. Refer to Addepar documentation for more information about Query Settings:
https://developers.addepar.com/docs/query

Data Field Mapping

The following table details the mapping of values from Addepar across to Practifi Assets and Holdings.

Practifi

Sync 

Addepar

Notes

Client

(Name)

   

Daily

Top Level Owner

(Addepar Client Name)

Mapped through Data Management page

 Asset

(Description)

(Revenue)

(Current Value (total of Holding))

(Category)

(Stage)

(Under Advice)

  

Daily

 

 

 

 

 

Direct Owner

(Name)

(Billing Fees)

 

Category: Default set under Settings

Stage: OWNED, or DISPOSED*

Under Advice: Default set under Settings

 Holding

(Holding)

(Classification)

(Product Code)

(Balance)

(Unitised (Unit Value))

(Unitised (Units))

(As At)

(Value)

(Stage)

   

Daily

 

 

 

 

 

 

 

 

 

Position

(Name)

(Asset Class)

(Product Code/Ticker)

(Value)

(Unit Price)

(Units)

(Valuation Date)

Value: Unit Price x Units

Stage: OWNED, or DISPOSED*

* The values of OWNED or DISPOSED are set at the Asset and Holding levels when the synchronization from Addepar is processed. When an Asset or Holding first appears and continues to appear between synchronizations, it is marked as OWNED. If the Asset or Holding no longer appears after synchronization, it is marked as DISPOSED. This indicates to the Advisor that the asset is no longer recorded in Addepar. The Advisor may manually delete the Asset or Holding directly within Practifi. 


Expanded Sync with Addepar

As part of our Albariño release, additional fields in our enhanced data model for portfolio management have been included in our sync with Addepar where the two systems overlap. More fields were added with the Pinot Blanc release.

Asset/Liability sync fields

Where relevant, time periods used in Addepar are included.

Practifi Label

Addepar Field Name

Practifi Field Name

Annual Revenue _custom_pfi_revenue_ytd_7868  practifi__Annual_Revenue__c 
Asset Type  investment_type  practifi__asset_type__c 
Class Name  asset_class  practifi__Class_Name__c 
Contributions Last Year (Rolling)  _custom_pfi_contributions_1_yr_7859  practifi__Contributions_Last_Year_Rolling__c 
Contributions MTD  _custom_pfi_contributions_mtd_7860  practifi__Contributions_MTD__c 
Contributions QTD  _custom_pfi_contributions_qtd_7861  practifi__Contributions_QTD__c 
Contributions YTD  _custom_pfi_contributions_ytd_7862  practifi__Contributions_YTD__c 
Custodian Name  _custom_custodian_3412  practifi__Custodian_Name__c 
Date Closed  closed_date  practifi__Date_Closed__c 
Exclude from Billing  billing_fee_exclusion  practifi__Exclude_From_Billing__c 
Fee Schedule Description  billing_fee_description  practifi__Fee_Schedule_Description__c 
Initial Value  _custom_pfi_value_at_inception_7370  practifi__Initial_Value__c 
Performance Last 10 Years  _custom_pfi_twr_10_yr_7842  practifi__Performance_Last_10_Years__c 
Performance Last 12 Months  _custom_pfi_twr_1_yr_7838  practifi__Performance_Last_12_Months__c 
Performance Last 36 Months  _custom_pfi_twr_3_yr_7840  practifi__Performance_Last_36_Months__c 
Performance Last 5 Years  _custom_pfi_twr_5_yr_7841  practifi__Performance_Last_5_Years__c 
Performance MTD  _custom_pfi_twr_mtd_7844  practifi__Performance_MTD__c 
Performance QTD  _custom_pfi_twr_qtd_7845  practifi__Performance_QTD__c 
Performance since Inception  _custom_pfi_twr_since_inception_7843  practifi__Performance_Since_Inception__c 
Performance YTD  _custom_pfi_twr_ytd_7846  practifi__Performance_YTD__c 
Realized Gain Last Year  _custom_pfi_realized_gainloss_1_yr_7857  practifi__Realized_Gain_Last_Year__c 
Realized Gain YTD  _custom_pfi_realized_gainloss_ytd_7858  practifi__Realized_Gain_YTD__c 
Revenue Last Year (Rolling)  _custom_pfi_revenue_1_yr_7869  practifi__Revenue_Last_Year_Rolling__c 
Revenue Last Year  Annualized Revenue Previous Year  practifi__Revenue_Previous_Year__c 
Revenue QTD  _custom_pfi_revenue_qtd_7870  practifi__Revenue_QTD__c 
Revenue Since Inception  _custom_pfi_revenue_since_inception_7867  practifi__Revenue_Since_Inception__c 
Total Return Last 10 Years  _custom_pfi_total_return_10_yr_7850  practifi__Total_Return_Last_10_Years__c 
Total Return Last 12 Months  _custom_pfi_total_return_1_yr_7847  practifi__Total_Return_Last_12_Months__c 
Total Return Last 36 Months  _custom_pfi_total_return_3_yr_7848  practifi__Total_Return_Last_36_Months__c 
Total Return Last 5 Years  _custom_pfi_total_return_5_yr_7849  practifi__Total_Return_Last_5_Years__c 
Total Return MTD  _custom_pfi_total_return_mtd_7852  practifi__Total_Return_MTD__c 
Total Return QTD  _custom_pfi_total_return_qtd_7853  practifi__Total_Return_QTD__c 
Total Return since Inception  _custom_pfi_total_return_since_inception_7851  practifi__Total_Return_Since_Inception__c 
Total Return YTD  _custom_pfi_total_return_ytd_7854  practifi__Total_Return_YTD__c 
Unrealized Gain  _custom_pfi_unrealized_gain_7855  practifi__Unrealized_Gain__c 
Value  value  practifi__Value__c 
Withdrawals Last 12 Months  _custom_pfi_withdrawals_1_yr_7863  practifi__Withdrawals_Last_12_Months__c 
Withdrawals MTD  _custom_pfi_withdrawals_mtd_7864  practifi__Withdrawals_MTD__c 
Withdrawals QTD  _custom_pfi_withdrawals_qtd_7865  practifi__Withdrawals_QTD__c 
Withdrawals YTD  _custom_pfi_withdrawals_ytd_7866  practifi__Withdrawals_YTD__c 

 

Holding Object Sync Fields

Practifi Label

Addepar Field Name

Practifi Field Name

Asset Type investment_type

practifi__asset_type__c 

Class Name asset_class

practifi__Class_Name__c

 

Adding the Addepar Performance Widget and Analysis Viewer

Addepar's Performance Widget and Analysis Viewer are Lightning components that let users see performance-related data and financial analysis within Client records in Practifi. Users can also click through to view the data in Addepar.

The Addepar Performance Widget displays balances and trailing return data using a static view.

Screenshot 2024-04-18 at 10.57.33 AM.png

 

Unlike the Performance Widget, the Addepar Analysis Viewer lets users adjust start and end dates. Administrators can build multiple views in Addepar and add them to the Addepar Analysis tab in Practifi.

 

Screenshot 2024-04-18 at 11.18.30 AM.png

 

Please note: The configuration of these features is technical in nature and must be carried out by a Practifi Administrator. Enablement steps include installing widgets from the Salesforce AppExchange, updating Addepar integration settings and editing page layouts. You can find instructions on the Addepar Help site.

If you're interested in setting up Addepar components in your Practifi organization, please contact your Addepar Client Engagement & Success Manager (CESM) for assistance.

1 out of 1 found this helpful

Comments

0 comments

Article is closed for comments.