Before You Start
Practifi customers (advisor firm) must first contact their Schwab Account Representative of their intention to use their integration with Practifi. This will start the process off within Schwab to allow API access by Practifi to the customer's client data in Schwab. In particular, the advisor firm will need to have its Firm Administrator contact their Schwab representatives to enable Digital Account Opening on Schwab Advisor Center in order for its users to use the integration.
Customers should also advise Practifi if they have been set up with Schwab to always require the use of a One Time Password (OTP), in addition to UserID and Password, to access Schwab systems. This is an important item in the integration configuration. It also has significance in whether to configure the overnight synching of Alerts from Schwab (see below).
Integration Summary
The Schwab Adviser Enrollment and Digital Account Opening (DAO) enhancement to Practifi allows customers who use Schwab for Custodial services for their clients to initiate Schwab account opening processes for their client individuals directly from Practifi rather than from within Schwab.
Practifi customers can now
- Transfer Contacts from Practifi Client records to Schwab, without rekeying
- Initiate the Digital Account Opening (DAO) wizard from within Practifi
- Monitor Alerts received from Schwab, particularly those relating to Account Opening
Advisors will still need to complete details for the account opening (missing details, or not quite right) within the DAO wizard, and await the receipt of e-signed paperwork from the end-client before the account is actually opened.
Data Mapping
The following table details the mapping of Practifi Contact and Client (Account) fields to those required by Schwab.
Practifi UI field |
From |
Direction (Daily) |
Schwab Contact field |
Rule |
|
Contact |
π |
Email Address |
Not from any of the other email fields |
First Name |
Contact |
π |
First Name |
|
Middle Names |
Contact |
π |
Middle Name |
|
Last Name |
Contact |
π |
Last Name |
|
Suffix |
Contact |
π |
Suffix |
|
Tax Number |
Contact |
π |
SSN |
|
Location Shipping |
Account |
π |
Address Line 1 |
If supplied, passed in as an Address in Schwab |
Location Shipping City |
Account |
π |
City |
|
Location Shipping PostalCode |
Account |
π |
ZIP |
|
Location Shipping State |
Account |
π |
State |
|
Location Shipping Country |
Account |
π |
Country |
|
|
Account |
π |
International |
If Country=βUSβ then T, else F |
Postal Billing Street |
Account |
π |
Address Line 1 |
If supplied, passed in as an Address in Schwab |
Postal Billing City |
Account |
π |
City |
|
Postal Billing PostalCode |
Account |
π |
ZIP |
|
Postal Billing State |
Account |
π |
State |
|
Postal Billing Country |
Account |
π |
Country |
|
|
Account |
π |
International |
If Country=βUSβ then T, else F |
Job Title |
Contact |
π |
Job Title |
|
Employer Name |
Contact |
π |
Employer |
|
Home Phone, Work Phone, Mobile Phone |
Contact |
π |
Line |
All Phone Number Types are transferred |
|
|
|
Area Code |
Extracted from Line |
|
|
|
Country Code |
Extracted from Line |
|
|
|
International |
If CountryCode=β+1β then F, else T |
DOB |
Contact |
π |
DOB |
|
Employer Name |
Contact |
π |
Employer |
|
|
Contact |
π |
Is Director |
If EmploymentStatus = DIRECTOR then T, else F |
|
Contact |
π |
Employed by Broker or Exchange |
Not set as not recorded by Practifi |
|
Contact |
π |
Business Owner or Self Employed |
If EmploymentStatus = BUSINESSOWNER or SELF-EMPLOYED then T, else F |
Occupation |
Contact |
π |
Occupation |
|
Employment Status |
Contact |
π |
Employed |
Mapped in Data Feed Mapping |
Country |
Contact |
π |
Country of Residence |
Presently only "US" and "AU" listed. Others can be added under Data Feed Mapping. |
Country of Citizenship |
Contact |
π |
Is US Citizen |
If Country of Citizenship=βUSβ then T, else F |
Country of Residence |
Contact |
π |
Is US Resident |
If Country of Residence=βUSβ then T, else F |
Type |
Referenced Documents |
π |
ID Type |
βPassportβ and βDrivers Licenceβ are supported. Others can be added under Data Mapping. |
IDNumber |
Referenced Documents |
π |
Document Number |
|
Issue Date |
Referenced Documents |
π |
Issue Date |
|
Expiry Date |
Referenced Documents |
π |
Expiry Date |
|
Birth Place |
Contact |
π |
Country of Birth |
|
Issuer |
Referenced Documents |
π |
Passport Issued Country |
|
Type |
Referenced Documents |
π |
Drivers Licence Issued State |
Type= DRIVERSLICENCE and Issuer=State |
Govt Issued ID |
Referenced Documents |
π |
Govt ID Issued State |
Type= GOVTISSUEDID and Issuer=State |
Enabling the Integration
Enabling the Schwab integration with Practifi requires setting up the following configurations:
Configuration |
Where |
1. Upload and Import a Certificate |
Salesforce Setting |
2. Create Remote Site |
Salesforce Settings |
3. Enable Schwab Integration |
Salesforce Settings |
4. Set Up Scheduled Jobs |
Salesforce Settings |
5. Set Up Data Feed Mapping |
Practifi Settings |
6. Enable Practifi Triggers |
Salesforce Settings |
7. Add Picklist Item |
Salesforce Settings |
8. Enable Menu Items |
Practifi Settings |
1. Upload Authentication Certificate to Keystore
Download the Certificates from Bitbucket
The Keystore certificate file for production access to Schwab has already been prepared, and is held in Bitbucket. One JKS file contains the two certificates need to be downloaded to local disk for uploading into Keystore. The certificates are:
- Production Enrollment Certificate
- Production SSL Certificate
Download the single JKS file from Bitbucket with the following URL:
The user will need Bitbucket permission to download. If the permission is not set call one of the Bitbucket admins to create a new user and assign the permission. Save it to local disk.
Import from a Keystore
Go to Salesforce Setup under the userβs avatar/picture icon in the top right
In Salesforce Setup, go to the Quick Find/Search bar, search for and click on Certificate and Key Management
Click on Import from Keystore
In Salesforce Setup, go to the Quick Find/Search bar, search for and click on Certificate and Key Management
Click on Import from Keystore
Select the prod.jks file from where it was downloaded earlier. Click Save.
The certificates uploaded in the JKS file will have the following names:
- sii_practifi_enrollment_prod
- sii_practifi_ssl_prod
Viewing the list of certificates will show the following:
2. Create Remote Site
In Salesforce Setup, go to the Quick Find/Search bar, search for and click on Remote Site
Click on New Remote Site
Only one remote site needs to be configured, as this supplies the URL Root for the API and SSL calls.
Supply the following:
- Remote Site Name: suggest schwab_prod
- Remote Site URL: https://restgateway.schwab.com/
3. Enable Schwab Integration
In Practifi, click your avatar in the top-right corner to view the Settings menu and select Salesforce Setup.
In Salesforce Setup, go to the Quick Find/Search bar, search for and click on Custom Settings.
Click Manage next to Schwab Integration Settings.
If this is a new install the the Schwab Integration Settings list will be empty. At this point create a new Organization Level group of settings by clicking on the first New button on the panel. Else continue to the next screen (the system will already have had Organizational Level settings for Schwab).
Complete the details per the panel below.
Supply the following:
- Enabled: Ticked
- Enrollment Endpoint: https://hitweb.schwab.com/SII/Enrollment/TnCEnrollment.aspx
- Enrollment Certificate: sii_practifi_enrollment_prod
- API Endpoint: https://restgateway.schwab.com/inbound/api
- SSO Endpoint: https://si2.schwabinstitutional.com/SI2/SecAdmin/LogonSSO.aspx
- SSL Certificate: sii_practifi_ssl_prod
- Client Channel: NE
- Verbose Logging: Ticked
- Provider Channel: I4 (as in capital letter "i" for "ink" 4)
- API Version: 1.0
- Is Production: Ticked
- Alert Last Days: 90
- Account Mask Pattern: doNotMask
- Max User: 5
- Include Archived Alerts: Ticked
- Alert Types: <blank>
- Auto Map Account: Ticked
- Map Account Batch Size: <blank>
- Superuser: <blank>
- Throw Exception: <blank>
- Ready for Review Alert Subject: Digital Envelope Ready for Review
- Ready for Review Alert Type: DAO
- New Account Open Subject: New Digital Account: OPENED
- New Account Open Alert Type: NEW-ACCT
- Send Notifications: Ticked
- Enable OTP: Ticked, if client uses One Time Password (OTP) for logons to Schwab. Example of password generator:
Important Note:
If your Advisor firm requires the use of One Time Passwords the overnight synch of Alerts from Schwab should not be configured. See further on this at the next step.
4. Set Up Scheduled Jobs
If your Advisor firm requires the use of One Time Passwords the overnight synch of Alerts from Schwab should not be configured. This is because when the overnight job tries to start (at, say, 3am) there is no-one physically able to enter the OTP code. The user will need to go to the Schwab Alerts panel, and click the Schwab Synch Alerts button to start the process off, supplying the OTP if required. This can be done at any time during the day.
To set up the scheduled job, in Salesforce, go to the userβs dropdown and select Developer Console.
Under Debug, open an Open Execute Anonymous Window
Paste in following code into the window, and Execute.
cloupra.SchwabIntegrationInvocable schwab = new cloupra.SchwabIntegrationInvocable('syncalertforall');
String hourly = '0 0 * * * ?';
String jobID = System.schedule('Schwab Sync Alert', hourly, schwab);
5. Set Up Data Feed Mapping
Under Settings, open Data Feeds tab
Open the Schwab OpenView Gateway collection
Ensure the following list of field mappings are listed to ensure field mappings operate correctly between Practifiβs terms and Schwab. See the csv attachment (at end of document), and use the Data Loader to upload.
6. Enable Practifi Triggers
Activate the Schwab Alerts trigger setting, which monitors for new Alerts from Schwab and adds rows to the list of Schwab Alerts.
In Salesforce Setup, go to the Quick Find/Search bar, search for and click on Custom Settings.
Click Manage next to Practifi Trigger Settings.
Scroll to the end of the list of settings, and tick the trigger for Schwab Alert, and Save.
7. Add Picklist Item
Add Picklist Value
Go to the Quick Find/Search bar, search for and click on Picklist Value Sets
Click on Menu Item Tabs (not Edit)
Check if the word schwab is not there. If not, click on New
Add the word schwab, lower case, to the field, and click Save
8. Enable Menu Items
From Practifi, go to the User menu in the top-right corner and select Settings.
Select the Menu Items page.
Schwab Alerts
Schwab Alerts appear on the Team Member contact as a new tab.
Complete the new row as follows
- Applies to: Organization
- Context: teammember
- Code: SBTEASCHWABALERTS
- Tab: schwab
- Label: Schwab Alerts
- Icon: sensor-alert
- Order: 14.00 (TBA)
- Display Options: Pages
- Sidebar?: Ticked
- Default: Unticked
- Active: Ticked
Schwab Accounts
Schwab Accounts appear under the Data Management tab.
Complete the new row as follows
- Applies to: Organization
- Context: datamanagement
- Code: SBDATASCHWAB
- Tab: schwab
- Label: Schwab Accounts
- Icon: times
- Order: 19.02 (TBA)
- Display Options: Pages
- Sidebar?: Ticked
- Default: Unticked
- Active: Ticked
Comments
Please sign in to leave a comment.