Lead conversion is a core process for nearly all companies using Sales Cloud, as is data quality. However after spending weeks in workshops to ensure data quality through the use of multiple validation rules on Account, Contact and Opportunities. We get to Lead. While it is 'dirty data' the options are either enforce and or don't enforce. Which can be problematic for many companies, especially those with a fluid lead process. Where the focus is on getting them from Lead to Closed-Won as quickly as possible.
Why is this a issue
Salesforce provides the option to either enforce or ignore validation rules when converting leads which can prove to be very rigid The need for Salesforce to offer better customisation options for lead conversion are highlighted by this Idea
Why is this important
Whilst some organisations will have a detailed lead process in place (whereby they qualify and routinely update the lead details) there are many companies that don't have such processes. For them the issue is do you enforce data quality at the lead level also ? if yes you might not necessarily want to enforce for all the fields because if the user is not able to find the details, the time to process or convert the lead can be impacted. Also the UX for when a validation rule error occurs on lead conversion is horrible.
The sweet spot is warning users up front where validation will fail and by configuring the solution so that your customer is able to decide which rules should fire upon lead conversion rather than the all or nothing approach which salesforce.com currently supports
Using workflows and field updates, custom formula fields we can get to a pretty robust and user friendly solution.
Implementation details of a solution
I have broken down the solution into 2 parts
Part 1 - Inform user of lead conversion status
Using a custom field on the lead to indicate the conformance of the record against the applicable validation rules that could impact the conversion process
Example VR in action
Below you can see how this validation rule works and the error message received on the account record.
Lead Record and attempted conversion
When a user goes to convert the record, it can be frustrating there is no context for the user to see what needs correcting.
A better approach would be to highlight to the user before converting which validation rules are likely to fire.
Custom formula field on Lead
Another custom field on Lead, this time to provide information to the user based on your specific business rules.
Lead detail record should look something like this now
Part 2 - Workflow and Field Update
Use config to control which validation rules are fired upon conversion
Create two formula fields
One on Lead and another on Account, pay close attention to the default value for each.
Don't forget to map these custom fields on Lead, so that the default value on Lead is copied to Account
Workflow rule on Account
Used to catch any Accounts created by the lead conversion process
To set the flag as per the default on Account.
Update any validation rules you want to exclude from the lead conversion, to check for the flag passed from lead
There you have it. You should now have two options when discussing with clients options around lead conversion and related validation rules.
Check out this follow up post to understand why this works.