MuleSoft Accelerator for Financial Services icon

MuleSoft Accelerator for Financial Services

(1 review)

Prerequisites

This page provides guidance on configuring the various systems and products required to implement the use cases provided by this solution.

Salesforce Financial Services Cloud

This section describes how to configure an existing Salesforce Financial Services Cloud (FSC) instance to support the default MuleSoft Accelerator for Financial Services functionality. These instructions assume that the required FSC packages have been deployed to the target Salesforce instance and that the appropriate permissions have already been assigned.

Record types

The following record type must be created in the corresponding object.

Salesforce ObjectRecord Type
FinServ__FinancialAccount__cMoneyMarket
FinServ__FinancialAccountTransaction__cFinancial Account Transfer Transaction

To create the Money Market record type in the Financial Account object, first create a page layout for it based on an existing account layout.

  1. Click the Salesforce Setup icon.
  2. Select Object Manager tab from the Setup home page.
  3. Select the FinServ__FinancialAccount__c object.
  4. Select Page Layouts from the left nav and click New.
  5. Select an existing page layout (e.g., "Financial Account (Savings Account) Layout").
  6. Set the Page Layout Name field to "Financial Account (Money Market Account) Layout".
  7. Click Save to create the new layout.

Now create the new record type:

  1. Select Record Types from the left nav and click New.
  2. Select an existing record type (e.g., "Savings Account").
  3. Fill out the following fields as indicated.
    • Record Type Label -> "Money Market".
    • Record Type Name -> "Money_Market".
    • Description -> "Represents a money market account".
  4. Enable the Active checkbox.
  5. In the list of profiles, check the Make available option the profile assigned to the target API service account (at a minimum).
  6. Click Next and select the option Apply one layout to all profiles.
  7. Select the page layout "Financial Account (Money Market Account) Layout".
  8. Click Save.

The new record type should now be available in the Records Types section. You can verify that the new record type is also available to the target user profile as follows:

  1. Click the Salesforce Setup icon.
  2. Navigate to Users -> Profiles.
  3. Select the target profile.
  4. Navigate to Object Settings -> Financial Accounts and click the Edit link.
  5. Verify that the new record type is listed under Record Types and Page Layout Assignments.

Repeat the above steps to create Financial Account Transfer Transaction record type.
The OOTB record type Financial Account Transaction supports the following transaction types: DebitTransaction and CreditTranction.
The Financial Account Transfer Transaction record type supports following transaction types: TransferTransaction and PaymentTransaction.

Custom fields

The following fields must be created in the corresponding objects.

Salesforce ObjectField NameData TypeLengthUniqueExternalId
AccountFinServ__Status__cPicklist-NN
AccountGlobal_Customer_Id__cText36YY
AccountGlobal_EmailAddress_Id__cText36YY
AccountGlobal_PostalAddress_Id__cText36YY
AccountGlobal_PhoneNumber_Id__cText36YY
ContactGlobal_EmailAddress_Id__cText36YY
ContactGlobal_Individual_Id__cText36YY
ContactGlobal_PostalAddress_Id__cText36YY
ContactGlobal_PhoneNumber_Id__cText36YY
FinServ__Card__cCard_Type__cPicklist-NN
FinServ__Card__cCardholder_Name__cText100NN
FinServ__Card__cCredit_Card_Type__cPicklist-NN
FinServ__Card__cGlobal_Card_Id__cText36YY
FinServ__FinancialAccount__cGlobal_Account_Id__cText36YY
FinServ__FinancialAccount__cInitial_Transaction_Id__cText36NN
FinServ__FinancialAccount__cLastStatementDate__cDate-NN
FinServ__FinancialAccount__cLastTransactionAmount__cCurrency(16,2)NN
FinServ__FinancialAccount__cLastPaymentDate__cDate-NN
FinServ__FinancialAccount__cLastPaymentAmount__cCurrency(16,2)NN
FinServ__FinancialAccount__cLastTransactionType__cPicklist-NN
FinServ__FinancialAccount__cLast_Transaction_Id__cText36NN
FinServ__FinancialAccount__cMonthly_Withdrawal_Limit__cNumber(16,2)NN
FinServ__FinancialAccount__cMaximum_Monthly_Withdrawals__cNumber18NN
FinServ__FinancialAccountTransaction__cCredit_Financial_Account__cLookup---
FinServ__FinancialAccountTransaction__cDebit_Financial_Account__cLookup---
FinServ__FinancialAccountTransaction__cGlobal_Transaction_Id__cText36YY
FinServ__FinancialAccountTransaction__cOriginator_Id__cText36YN

Note:

  • The Card_Type__c picklist values are DebitCard and CreditCard.
  • The Credit_Card_Type__c picklist values are Amex, Discover, Mastercard, Visa, and Other.
  • The LastTransactionType__c picklist values are CreditTransaction, DebitTransaction, TransferTransaction, and PaymentTransaction.
  • The field FinServStatusc is added as part of the Financial Services Cloud package and must be added as a custom field if the package is not used in the Salesforce Org. The picklist values are Prospect, Closed, Deceased, Delinquent, Dormant, Inactive, Onboarding, and Active.
  • The Debit_Financial_Account__c and Credit_Financial_Account__c fields looks up respective Financial Accounts.

To create each of these custom fields and enable visibility for them on page layouts:

  1. Click the Salesforce Setup icon.
  2. Select Object Manager tab from the Setup home page.
  3. Find and select the target Salesforce object.
  4. Select the Fields & Relationships page.
  5. Click the New button and create the field as specified above.
  6. Once the field has been created, click the Set Field-Level Security button.
  7. Enable for desired profile, or tick the master checkbox next to Visible to enable visibility for all profiles.

Repeat these steps for each custom field in the above list.

Enable Financial Accounts in Sales

When the Financial Services Cloud feature is added to the Salesforce instance, the Commercial and Retail Banking apps are provided to work with financial accounts. If you want to enable the Financial Accounts tab on the Sales app, follow these steps:

  1. Navigate to the Sales app home page.
  2. Click the pencil icon on the right corner of the navigation pane, which opens the Edit Sales App Navigation Items dialog box.
  3. Click Add More Items.
  4. Navigate to All under the Available Items menu.
  5. Search for Financial Accounts and Select it.
  6. Click Add 1 Nav Item and then click Save.

Enable transaction status

The default implementation of the solution requires the enablement of transaction statuses in the existing picklist in the target FSC instance. This can be done as follows:

  1. Click the Salesforce Setup icon.
  2. Select Object Manager tab from the Setup home page.
  3. Find and select the FinServ__FinancialAccountTransaction__c Salesforce object.
  4. Navigate to Fields and Relationships and select the FinServ__TransactionStatus__c picklist field.
  5. Add the new transaction status - Cancelled and Initial.
  6. Click Save.

Enable transaction types

The default implementation of the solution requires the enablement of transaction types in the existing picklist in the target FSC instance. This can be done as follows:

  1. Click the Salesforce Setup icon.
  2. Select Object Manager tab from the Setup home page.
  3. Find and select the FinServ__FinancialAccountTransaction__c Salesforce object.
  4. Navigate to Fields and Relationships and select the FinServ__TransactionType__c picklist field.
  5. Add the new transaction types - Payment and Transfer.
  6. Click Save.

Workflow Rules

To display a specific page layout based on the record type, a Workflow rule is created. To ensure the page layout changes based on the record type Financial Account Transfer Transaction, follow the below steps:

  1. Click the Salesforce Setup icon.
  2. Navigate to Process Automation -> Workflow Rules.
  3. Select New Rule.
  4. Select FinServ__FinancialAccountTransaction__c from the Object dropdown.
  5. Enter Rule Name as Transfer Transaction Type and description as Defines a transaction that represents a generic transfer from one account to another.
  6. Set Evaluation Criteria as created, and any time its edited to subsequently meet criteria`.
  7. In the Rule Criteria section, select criteria are met.
  8. In the first row, select the field as Financial Account Transaction: Transaction Type, operator as equals, and value as Transfer.
  9. In the second row, select the field as Financial Account Transaction: Transaction Type, operator as equals, and value as Payment.
  10. Set filter logic 1 OR 2. Click Save.
  11. In Workflow Actions, under Immediate Actions, select New Field Update.
  12. Set Name as Transfer Transaction Type.
  13. In Field to Update, select Record Type.
  14. In Specify New Field Value, select Financial Account Transfer Transaction from the record type dropdown.
  15. Click Save.

Enable multiple currencies

The default implementation of the solution requires the enablement of multiple currency support in the target FSC instance. This can be done as follows:

  1. Click the Salesforce Setup icon.
  2. Navigate to Company Settings -> Company Information.
  3. Click Edit and enable the Activate Multiple Currencies option.
  4. Click Save.

If desired, click the Currency Setup button to add support for additional currency codes (e.g., EUR).

Create PushTopics

The following PushTopics must be created in order to capture updates from Salesforce. The apex scripts to create these PushTopics are located in the fins-salesforce-topic-listener integration template.

Salesforce ObjectApex script locationPushTopic name
Account/src/test/resources/scripts/accounts-push-topic.apxcAccounts
Contact/src/test/resources/scripts/contacts-push-topic.apxcContacts
FinServ__FinancialAccount__c/src/test/resources/scripts/financial-accounts-push-topic.apxcFinancialAccounts
FinServ__FinancialAccountTransaction__c/src/test/resources/scripts/transactions-push-topic.apxcTransactions
FinServ__Card__c/src/test/resources/scripts/cards-push-topic.apxcCards

Follow the below steps to create the above PushTopics

  1. Click on Salesforce Setup icon.
  2. Select Developer Console -> Debug-> Open Execute Anonymous Window.
  3. Copy and paste the script from the Apex script location column in the above table and execute.
  4. Repeat above step #3 for all the Salesforce objects in the above table.

Note All the PushTopics created above filters records based on LastModifiedBy <> Service account user Id. This is to filter out updates done by the fins-salesforce-customers-sys-api and fins-salesforce-financial-sys-api to avoid cyclical updates. This can be obatined by running the query SELECT Id FROM User WHERE Username=`` in the Developer Console. Ensure to replace the Id in the apex scripts.

Generating token for a User in Salesforce Org

  1. Login to Salesforce with the Service Account User Id.
  2. Click Username in the top right and select Setup or My Settings from the menu.
  3. Under Personal Setup, click My Personal Information > Reset My Security Token.
  4. Click Reset Security Token.
  5. Check the Service Account User email inbox for the email from Salesforce with the new security token.

Adding MailingAddress to Person Account Details page in Salesforce Org

The following instructions assume you have already Salesforce Org created and PersonAccount is enabled. Perform the following actions to enable MailingAddress on PersonAccount detail page.

  1. Open the Salesforce SetUp -> Object Manager -> Search for PersonAccount and Select.
  2. From the menu on the left Click on Page Layouts -> Select the Page layout that is assigned to the user profile logged in.
  3. Click on Fields tab on the palatte and it shows all the available fields.
  4. Search for MailingAddress. Drag from the palette and drop it in the Address Information section of the layout and click on Save.

Creating Contacts that are not associated with an Account

These instructions assume an Org was created in Salesforce with access to Contact object.

  1. From the object management settings for contacts, go to Page Layouts.
  2. Select the layout you want to edit.
  3. Find the Account Name field on the layout and hover over it. Then, click the wrench icon to show the field properties.
  4. Deselect the Required checkbox and confirm your changes.

Configure Connected App in Salesforce

Follow the below steps to generate Consumer Key and Consumer Secret for Salesforce authentication:

  1. Click the Salesforce Setup icon.
  2. Navigate to Apps -> App Manager.
  3. Select New Connected App.
  4. Enter Connected App Name: Mulesoft Accelerator, API Name: Mulesoft_Accelerator and set your email address.
  5. Under API (Enable OAuth Settings) section, check the box Enable OAuth Settings.
  6. Set the callback URL http://localhost.
  7. From the Selected OAuth Scopes list, select Full access (full).
  8. Click Save.
  9. Copy the Consumer Key and Consumer Secret. These will be updated in the settings.xml file as sfdc.fsc.client-id and sfdc.fsc.client-secret in FSC-BANKING-DEV, FSC-Insurance-DEV and FSC-WEALTH-DEV profiles.
  10. Click Manage -> Edit Policies.
  11. In OAuth Policies section, for Permitted Users select All users may self-authorize and for IP Relaxation select Relax IP restrictions.
  12. Click Save.

Anypoint MQ Configuration

The Anypoint-MQ-Queues-Exchanges postman collection in the fins-common-resources project will pre-create all MQ destinations required by the accelerator components.

The collection will require the "dev" environment template be imported into your Postman workspace and assigned proper values first. The following MQ destinations will be created on successful execution.

Queue NameBound to ExchangeDead Letter Queue Name
fins-customer-update-queuefins-customer-update-exchangefins-customer-update-dl-queue
fins-individual-update-queuefins-individual-update-exchangefins-individual-update-dl-queue
fins-account-update-queuefins-account-update-exchangefins-account-update-dl-queue
fins-transaction-update-queuefins-transaction-update-exchangefins-transaction-update-dl-queue
fins-card-update-queuefins-card-update-exchangefins-card-update-dl-queue

DocuSign Apps and Integration Key Configuration

These instructions assume a DocuSign Sandbox environment was set up.

  1. Click Settings.
  2. Traverse to Apps and Keys.
  3. Create an integration app named Accelerator-FINS and generate an integration key. This integration key is used to generate the JWT token and is passed as the docusign.jwt.issuer deployment property.
  4. Select Authentication type.
  5. Generate RSA keypairs.
  6. Copy the private key in the DocuSignPrivateKey.txt file and the public key in DocuSignPublicKey.txt and save them in the src/main/resources/certs project folder to generate the JWT token for authentication.
  7. Save the app settings.
  8. Click the Profile icon and copy the Account Id. This is passed as the docusign.api.account deployment property.
  9. To use JWT Grant, next you must get your user’s consent for your app to impersonate them. To get this consent, first construct a URI value matching the syntax shown that includes:
    • A base path for the authentication service. For the developer demo environment, the base URI is https://account-d.docusign.com/oauth/auth.
    • A response_type value of code.
    • A space-delimited list of the scopes your app needs. For JWT, this should include the impersonation scope.
    • Your application’s integration key.
    • A redirect URI that matches one of those configured for the application with the specified integration key.

Example URL: https://account-d.docusign.com/oauth/auth?response_type=code&scope=signature%20impersonation&client_id=7c2b8d7e-xxxx-xxxx-xxxx-cda8a50dd73f&state=a39fh23hnf23&redirect_uri=https://client.example.com/callback


Reviews

TypeCustom
OrganizationMuleSoft
Published by
MuleSoft Solutions
Published onApr 29, 2022
Contact nameMuleSoft Solutions
Contact emailsolutions-questions@mulesoft.com
Asset overview

Asset versions for 1.4.x

Asset versions
VersionActions
1.4.0

Categories

Industry Vertical
Financial ServicesBankingNo values left to add
Accelerator
Financial ServicesNo values left to add

Tags