Upgrade to Epic! Upgrading the NPSP: Technical Best Practices

by Justin Barss Intro:

Let’s just say it out loud- the NPSP3 Converter Utility is the nicest thing we have seen this side of Mr. Belvedere.  It does all of the “heavy” lifting of moving your donor contacts out of old One-to-One Accounts and old Household objects and places them (and their Donations!) into the newly created Household Accounts.  That being said - it’s a power tool - and like any good power tool in your garage, or house - you need to adjust to it.  Take a peek at these reports below as a way to review and prepare your data in Salesforce to confirm you are ready to use that sweet Converter to power through your old One-to-One Accounts and move your Contacts and Donations into a sweetly unified Household Account.  

#SafeHarbor - all knowledge used to make this article was gathered from a point in time and Kevin Bromer’s Development Team sometimes fixes more things with the Utility than we can keep track of.  

The Converter is primarily using the Household object to reference all of these other objects / records.  So the only records it will evaluate are those connected directly/indirectly to a Household record.  

i.e. Contacts that are “in” a Household.  

Any Opportunities connected via Contact Role to a Contact in a Household

Any Opportunities connected via standard Opportunity_Account lookup field that is a one-to-one account connected to a Contact in a Household.

Run Before:

What:  Contacts, Accounts, Opportunities, Tasks owned by Inactive Users.  This will typically block the converter from completing if there are records that it is trying to edit that are owned by Inactive Users.  This means you’ll need to locate and take one of two actions:

  1. If you have additional Salesforce Licenses available - you may be able to “re-activate” those users - in Salesforce - as the simplest work around to this issue.  
  2. The other option is transferring these records from the Inactive Owner - to a current Active User.  You can do that via the Setup-->Mass Transfer Records option or by using a data tool like Apsona. 

Screenshot showing Oppts owned by Inactive Users.

1 What:  Opportunities without Contact Roles.  This is a useful report to run to check that the Donations/Opportunities you expect to see attributed to specific people / accounts have converted correctly.  


What:  Contacts without Households.  

If no household, will not convert.  The Household is the magical record that the converter uses to create the new Household Account.  Hence - if your Contacts don’t have the Household Lookup field populated, they are not “in” a Household, and will not be pulled out of their one-to-one accounts and placed in a newly created Household Account.  


Whew!  So you pulled an all nighter (hopefully not) but you did put in a fair amount of hours cleaning up odd records and are now on the other side of the conversion process.  You even ran the converter a few extra times to confirm that it correctly ran and adjusted all of the data in question.  Now its time to clean up your Salesforce data to get it in ship shape condition.  

Run After:  

What:  Cases attached to One-to-One Accounts

If using Cases in your instance, the Case would be directly related to the One-to-One Account for those Contacts.  The Conversion Utility does not move Cases - so after the Converter is completed, those cases still reference those One-to-One Accounts.  

Run this report to identify which case these are.  

Cases WITH Accounts WHERE Record Type = One-to-One Account.


(The easiest way I found to solve this was when there were Cases that had the Contact Name field updated.)  If you clear the value of the Account Name field to null, then the case references the Contact and uses the Account that that Contact is in and updates the field that way.  If you are using a data management tool like Apsona, I was able to run a filter view of these cases, bulk update them all so that Account Name equals null and the case-auto updated with the correct (newly created Account).  

What:  Oppts attached to One-to-One Accounts.  

This includes the same scenario as above- but with the understanding that some Opportunities may have not been captured and adjusted by the converter.  This may be because the Contact in the Contact Role didn’t have a Household, or there were two Primary Contact Roles on the Opportunity, or the Opportunity was directly linked to an orphaned One-to-One Account (the Donation was logged to a person’s One-to-One Account even after you moved the Contact to a different Account).

Run an Opportunities report where you are sorting on the Organization Record Type or _SYSTEM: AccountType field.  Use the filters in the screenshot as a tip and see if there are any Opportunities in your Org that did not get moved correctly.  


Bonus:  What:  Tasks, Events, Notes, Custom Objects you may be using connected to the Household or One-to-One Account object.  

If your staff (current or past) were relying on the Household custom object or the One-to-One Account to record specific records to it, you will want to be sure you move these records to the newly created Household Accounts.  

Cross Filter Report - any Tasks, Events, Notes, under Household.  

Cross Filter report - any Tasks, Events, Oppts under One-to-One Account