What is the error?
Soapbox Engage admins have reported the following error appearing on confirmation pages in Soapbox:
Salesforce Error: sbxd.sbx_DonationsCampaignMember: execution of AfterInsert caused by: System.DmlException: ConvertLead failed. First exception on row 0; first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, Validation error on Account: DML not allowed on abstract class SObject with mixed entities:  (sbxd)
This error can affect Soapbox Donations, Soapbox Events and Soapbox Shop, with the "sbx_DonationsCampaignMember" portion at the beginning of the message altered depending on which app is involved.
In addition to the error being displayed on the confirmation page, the Lead record created in Salesforce for the transaction fails to be associated with the selected Campaign as a Campaign Member and does not convert but is left as a Lead. This Lead does not have its Match Review checkbox ticked.
When does the error happen?
This error occurs when the following conditions are true:
- The Salesforce account Soapbox Engage is writing to is using the Nonprofit Success Pack v3
- Address management is enabled in the Nonprofit Success Pack
- The Lead record created by Soapbox matches an existing Contact in Salesforce
- The Contact or Account the Lead matches has an address that is incomplete in some way, either because no address is provided at all or because a portion of the address has not been entered
Why does this error occur?
The error results from a conflict between the Address management functionality within the Nonprofit Success Pack and the standard Lead conversion process used by the Soapbox packages.
What can be done to resolve this error?
As a short term fix, we recommend that you disable Address management in the Nonprofit Success Pack for Household and Organizational Accounts. This can be done by editing the General Address Settings under NPSP Settings > People > Addresses in Salesforce. Doing so will remove the error and allow Leads to convert as expected.
Update Note: If the above solutions gives you the following error when you attempt to save, "Settings not saved: Attempt to de-refrence a null object," you can instead edit the custom setting directly at Setup > Develop > Custom Settings. Click "Manage" next to Contacts and Orgs Settings. ~Brad
We are currently investigating a long term solution to resolve this conflict. We will update this knowledge base thread and post details to the Soapbox CMS & Soapbox Engage Updates and Alerts forum when this solution is available.