1

I have designed a functionality to override the Lead Conversion standard functionality. The functionality works as follows :

There is one custom setting which contains information of Lead field Mapping with Account fields during Lead Conversion.

There is a scenario where I am providing the users to Update Existing Account, rather than creating new ones while converting the Lead.

So that whenever I have a Lead whose Company Name already the name of an Existing Account, and I go on to convert the Lead , then the New Account will not be created, rather the existing Account's information will be updated.

lc = new Database.LeadConvert();
lc.setLeadId(objLead.id);
if(updateexitaccount)
{
    if(accmap1.get(comp) != null)
        lc.setaccountid(accmap1.get(comp).id);
    else if(accmap2.get(website) != null)
        lc.setaccountid(accmap2.get(website).id);
}
lc.setOverwriteLeadSource(true);
objLeadConvertResult = Database.convertLead(lc);

However, when I am doing the same, I observed that the Account is not updating the standard field values like that of Industry, Lead Source, Phone Number, etc. On the other hand, it is updating the values for custom fields perfectly. Is there any workaround for this issue?

3

There are no workarounds for updating merge fields in Account and Contact objects, only exception is LeadSource.

Refer Converting Leads documentation:

Merged fields: If data is merged into existing account and contact objects, only empty fields in the target object are overwritten—existing data (including IDs) are not overwritten. The only exception is if you specify setOverwriteLeadSource on the LeadConvert object to true, in which case the LeadSource field in the target contact object is overwritten with the contents of the LeadSource field in the source LeadConvert object.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.