I’ve been spending some time lately overriding the Lead qualification process, using a Dialog (or a series or Dialogs). All went fine, but I was missing one small piece of he puzzle, resulting in an error about the Customer.
Finally, the fix is pretty simple. If you create your Contact and Account in the same dialog, assign that back to the Lead’s Potential Customer, and use that field when creating the Opportunity. If you’re not creating them in the process, give the user an option to select the Account (do a Query CRM for Accounts), and assign the selected value back to the Lead’s Potential Customer.
Do not forget to update the Potential Customer on the Lead, as by default it’s null and the creation of Opportunity will fail when referencing that field.
Here’s an example:
Hope this saves you some time.