Building A CRM Demo For Financial Services (Part 2)

Good Vibrations…

Following on from my previous post Building A CRM Demo For Financial Services (Part 1), I thought I’d spend a bit of time looking at a specific piece of functionality related to customer on-boarding.

Whether it be for retail banking, wholesale banking or wealth management, at the very least some kind of credit decisioning is required to determine a customer’s suitability for a specific credit product or service. In some cases additional checks are required such as regulatory blacklists/whitelists, legal & AML checks. In many firms, a number of people/teams may be responsible for managing different aspects of the on-boarding process, and it can be difficult for a client Relationship Manager to understand who is doing what, when they are doing it, and at what stage of the process they have reached.

The solution I have built provides an example of how Microsoft Dynamics CRM can be configured to support a fairly simple on-boarding process. I created a custom entity that allows teams from Compliance, Credit, Legal and Operations to manage their piece of the on-boarding process. Although I haven’t done so, you could easily configure role-based forms and/or field-level security to only show the data that is relevant to the particular user. For example, someone from the credit team might only need to see the fields related to the credit decisioning part of the on-boarding process.


Each team has its own tab on the entity form, tracking such information as last “Modified By” and last “Modified On” date, as well as the current “Stage” of the particular process. In this example, each stage starts at “New”, moves to “In Progress” and then can be “Approved” or “Rejected”. Occasionally an “In Progress” stage may move to “On Hold”, and then back to “In Progress” at a later date.

On-Boarding Process 1

In order to prevent users from moving to an invalid stage, for example from “New” to “Approved”, I created an HTML web resource with four buttons. This web resource contains some JScript which examines the “Stage” field and enables/disables the buttons as appropriate. As you can see from the screenshot below, the web resources is only one row high, and contains CSS styles to blend into the look and feel of the rest of the form.

On-Boarding Buttons

After pressing one of the buttons, JScript updates the stage field and saves the form. This kicks off a C# plug-in that does the following:

  1. Update the “Modified By” and “Modified On” fields with details of the user who just made the change.
  2. Update the RAG Rating field based upon the “Stage”. As you can see from the diagram above, if the compliance stage is “In Progress” or “Approved”, the compliance RAG rating is green, whereas it is amber for “On Hold” and red for “Rejected”.
  3. Roll-up the compliance RAG Rating to the parent Account entity, which also has a compliance RAG Rating field.

The final piece of the solution involves some custom ribbon buttons being used to show the RAG KPIs. As you can see in the screenshot below, I have configured a new Ribbon Tab called “On-Boarding”, which contains one button for each of the Compliance, Credit, Legal and Operations processes. The buttons don’t actually do anything, but the button icons change based on the RAG Rating. For example, if the Credit stage is “In Progress”, then the icon show a green tick, whereas if it is “Rejected”, then the icon shows a red cross.

On-Boarding Ribbon

So how did I do this? Well, for starters, I downloaded the the Visual Ribbon Editor for Microsoft Dynamics 2011 from the Microsoft Codeplex web site -  For each RAG Rating, I configured 4 different icons (one greyed out, one with a green tick, one with an amber warning and one with a red cross). Using standard ribbon “Display Rules” and “Enable Rules”, and with no code whatsoever I was able to hide 3 out of the 4 buttons depending on the value of the RAG Rating.

On-Boarding Visual Ribbon Editor

I used the same principle on both the On-Boarding entity ribbon and the Account entity ribbon, thus enabling client Relationship Managers to see “at a glance” if there are any on-boarding related issues that they need to be aware of.

Although not particularly complex, having this particular piece of functionality as a core part of this demo enables me to demonstrate that we can deliver more than just standard CRM activity, pipeline management and customer service capabilities.

This posting is provided "AS IS" with no warranties, and confers no rights.

When not working with Microsoft Dynamics CRM, Simon can be found singing with The Chain Gang. Berkshire’s leading live Soul, Funk, Disco and Motown function band.