I'm using the NPSP Data Import advanced mapping to load a custom object as a child of the Account1 object group.

I am uploading a spreadsheet like this:

Account Name | Custom Object Name
Acct1        | CusObj1
Acct1        | CusObj1

Issue is, I am getting two CusObj1 records instead of 1. I see I can define matching for Accounts, Contacts, and Donations, does anyone know how to define matching logic for custom objects?

I see the class BDI_ObjectMappingLogic has the comment

Virtual class containing the standard logic for mapping fields between source and target objects. Can be overriden by clients who need custom mapping logic

except it's public virtual so I cannot override it with apex.

I implemented BDI_IMatchDonations but it isn't called when I load the data above... assuming it only gets called if I have Opportunities and Payments.

Any suggestions?

1 Answer 1


I spoke with the team lead that built this feature. Currently, there is not a way to do what you're aiming to do with the Advanced Mapping feature. As you observe, the BDI_ObjectMappingLogic class cannot be overridden because it is public.

The comment in the class reflects a design objective that is not currently exposed to end users and historically has not drawn a lot of interest or use cases. If you're interested in making use of this feature, please do post in the Power of Us Hub where NPSP product leadership can see it. (You could post an Idea and discuss the need in one of the Nonprofit-oriented groups).

Feedback from users helps make a case for exposing new global Apex functionality, which is a big decision in the context of a managed package like NPSP.

  • Thanks David, good to know it's not currently possible. Going to skip installing NPSP as unmanaged for now as that will cause me more headaches, and will chain some queueables to do from NPSP Data Import to the objects I need. I'll be sure to reach out to the NPSP dev team and mention my need for this feature. Commented Mar 31, 2020 at 17:13
  • The Product Manager is Alison Meyer. You can find her on the Hub if you'd like to have a conversation! Definitely recommend not installing NPSP unmanaged, so I think you're on the right track.
    – David Reed
    Commented Mar 31, 2020 at 17:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .