Blog

Software tips, techniques, and news.

DIY: Migrating from Salesforce NPSP to NPC

The Salesforce Nonprofit Success Pack (NPSP) is a longstanding managed package with a user-friendly constituent management application and fundraising tool. From nonprofit fundraising to program management to outcome management, NPSP has all the key features, reports, tools, and settings to help nonprofit organizations manage all their CRM data. However, Salesforce is pivoting nonprofit organizations to utilize the Nonprofit Cloud (NPC), a built-in solution for some Salesforce platforms.

NPC offers nonprofit fundraising support, program management, and outcome management, just like NPSP, but it also includes other new features, such as outcome management. If you are a nonprofit organization looking to utilize Salesforce's test and most excellent features, you will need an upgrade plan to transition from NPSP to an NPC org. We at DB Services are here to give you some pointers.

youtube-preview

Nonprofit Cloud Setup

NPC has some prerequisite steps that need to be taken before being fully utilized. These steps are well documented, so please take the time to review the setup. A better understanding of NPC will also help you plan your migration.

Planning

To smooth the transition from NPSP to NPC, take a step back, view your NPSP data holistically, and figure out the right time to migrate your data into your new NPC org. Look at the objects in NPSP and compare them to those in NPC to better understand what changes you need to make so that your data meshes with the NPC data model. Consider the data dependencies that your data depends on so that you import it into your NPC org in the correct order. This is also an excellent opportunity to look for redundancies or legacy processes that must be cleaned up and removed from the data migration process.

Remember to consider user-related components, like profiles and permission sets. Some settings, such as the account object and its fields, may be very 1-to-1 when converting them to NPC, but make sure to update profiles and permissions for NPC so that users do not lose functionality.

Exporting Your Data

There is no one-size-fits-all method of moving your NPSP data into NPC. You will likely have to modify your data to get it working with NPC's data models. This usually requires you to extract your data from your NPSP org so that it can be readily transformed. Consider what objects and fields you will continue to use with NPC. Furthermore, the criteria that records must meet for the upgrade must be considered. Usually, you want to bring over all your documents, so don't miss the opportunity to clean up your new NPC org by only bringing relevant data. This is an upgrade, so optimizing your data should not be overlooked.

Once you have determined the data that needs to be moved, there are many ways to extract that data from your org. One such method is uSalesforce'sLoader. Data Loader allows you to define SOQL queries to determine which records and fields you want to export. After transforming your data to work with NPC's model, you can also use Data Loader to import your data into your NPC org.

Another tool for extracting data is the Salesforce Inspector Reloaded Chrome extension. In addition to being a great utility tool for any Salesforce developer, the Salesforce Inspector also allows you to export your data with SOQL queries and reimport it as a CSV in a different org.

migrating NPSP to NPC export query.

Exporting Your Components

You spent enough time with your NPSP org to understand what changes or updates need to be made to get the most out of it. You may not want to give up on some of the changes you implemented too quickly. Ideally, NPC has enough features and tools to address your custom implementations with your old org, but that is not always the case.

Fortunately, there are multiple methods of retrieving your org's settings, components, and metadata so that you can migrate them to another org.

One such method is installing the Salesforce extension pack into Visual Studio Code. The extension lets you connect your Visual Studio to your old Salesforce org. You can export practically any metadata that makes your org unique, from flows, email templates, apex, LWCs, apps, reports, and more. From here, you can review the exported components, update them as necessary for your new org, and then connect and deploy them to your NPC org. Remember that this process is supposed to be an upgrade, not a 1-to-1 transfer to NPC. Be sure to update your layouts and processes to work with NPC's data model.

Migrating NPSP to NPC Lead Record Page.

Differences Between NPSP and NPC

To better understand the work you'll have to perform for this upgrade, it is essential to understand the differences between NPSP and NPC. Some of these differences can be different named objects with the same functionality, while others can be different data models.

Person Accounts

Unlike NPSP, NPC can work with the person model for accounts. Older account models, such as households, focus on an account record representing a collection of individuals with contact records representing those individuals. Person accounts merge fields from both the account and the contact to represent a single individual, all while having the functionality of an account.

Migrating NPSP to NPC Person Account.

While NPC still has access to older account models like the household, consider converting your NPSP contacts into person accounts for NPC, as this will open them up to more advanced features and dynamic relationships between one another. For instance, with NPSP, a contact can only belong to one household. Using Party Role Relationships in NPC, you can have a person belonging to one or many collections of individuals, such as a child being associated with two families due to separated parents.

Party Role Relationships

As previously referenced, the party role relationship model allows you to establish dynamic relationships between your accounts and contacts. Party role relationships can be used to build connections for account-to-account, contact-to-contact, and account-to-contact relationships. You can set up any type of relationship, such as mentor-to-mentee for contacts, neighbor-to-neighbor for persons, or Parent Company-to-Child Company for accounts. When converting your NPSP contacts for NPC, it is essential to consider the types of relationships you want to see between individuals beforehand, especially if you plan on turning them into Person accounts.

Migrating NPSP to NPC Contact to Contact.

Address Management

NPSP utilizes the Address object to help users classify, track, update, and verify the addresses of accounts and contacts. It also includes seasonal addresses for contacts that change addresses throughout the year. Unfortunately, NPC does not offer the same support for addresses. Identify the primary address of your contacts as a starting point for your addresses in NPC. If you were using NPSP for address verification or seasonal addresses, you would have to consider a different approach to track seasonal changes.

Migrating to NPSP to NPC Address Management.

Volunteers for Salesforce

NPSP offers the Volunteers for Salesforce (V4S) app, which enables easy volunteer management of programs, such as tracking shifts, events, and participation. Unfortunately, NPC does not include the V4S app. If your organization has a strong focus on volunteer work that you want to track and manage, you will have to consider other methods of volunteer management in your NPC org.

Donations and Fundraising

Opportunities are a standard Salesforce object used to track deals in progress, such as the accounts they're targeting, the amount of value, and high-priority contacts related to the opportunity. The Donation Management package in NPSP utilizes the opportunity object for donor management, grants, revenue, and record types to differentiate between the different kinds of opportunities. NPC also offers ways to monitor donations and track fundraising efforts, utilizing a completely different data model.

Instead of using opportunities, NPC's fundraising campaign uses a collection of gift objects. For example, NPC has the Gift Designation object representing funds designated for a specific purpose. The Gift Commitment object represents the promise of a donation, be it a one-time, recurring, or multi-payment grant. Gift Transactions represent the installments made towards a gift commitment. We highly recommend reading up on the objects and features of fundraising in NPC. Not only will this help when translating your data to fit into NPC's model, but you will learn about all the amazing fundraising features that come with NPC, such as the Gift Entry window or Data Processing Engines.

Migrating  NPSP to NPC Recurring Donation.

Program Management

One managed package that integrates with NPSP is the Program Management Module. This helpful tool for planning, delivering, and tracking your organization's programs also appears in NPC. This will make it easier to transfer your program data, but there are some differences between the program management tools in NPSP and NPC to consider.

For instance, the Program object exists in both NPSP and NPC. Both objects include your program's name, status, summary, and date. However, the benefit object in NPC has more fields than its NPSP counterpart, which is services. When considering the additional fields, mapping and transforming services to benefits may take longer. Furthermore, the Program Cohort object in NPSP does not have a counterpart in NPC, so you may have to consider a custom solution for your NPC org to maintain cohort functionality. We recommend familiarizing yourself with program data management in NPC to understand better what transformations must be performed on your program data for migration.

migrating npsp to npc program management.

Case Management

Nonprofit Cloud Case Management is another managed package you may have integrated into your NPSP org. Much like program management, case management was too valuable to keep in NPSP. While still focused on helping case managers offer quality service to participants in your nonprofit organization, case management has some differences to consider in NPC.

Both instances have similar counterparts, like case plans in NPSP and care plans in NPC, but the workflow follows a different line of objects that should be noted. For example, NPSP starts with the referral object, gets assigned to programs, and tracks their goals with a Case Plan. NPC begins with a referral, which generates a case, which is used to formulate a care plan, wherein the participant is assigned to programs.

migrating from NPSP to NPC case management.

These differences sound minuscule, but one should take the time to understand the new workflow and objects to avoid any headaches once you migrate the data and start testing its functionality.

Design Using Modern Tools

Upgrades from NPSP to NPC are an excellent opportunity to upgrade other aspects of your current Salesforce org. While unrelated to NPC, various components can be converted to more modern components.

Processes, Workflows, and Flows

Processes and workflows are an older feature of Salesforce that can automate follow-up tasks after taking specific actions in your Salesforce org. They were discontinued in Winter '23, allowing you to maintain and update existing processes and workflows but preventing you from creating new ones. Salesforce recommends using flows instead, a more modern feature that automates follow-up actions, such as emailing users, updating related records, and creating to-do tasks.

migrating NPSP to NPC process builder.

You should eliminate this technical debt instead of maintaining discontinued processes and workflows. Luckily, Salesforce has added a 'Migrate to Flow' tool that makes the conversion process a piece of cake. Select a migration process or workflow, review any required changes before converting, and activate your new flow.

migrating NPSP to NPC migrate to flow.

Generally speaking, your new Nonprofit Cloud org will not have any processes or workflows. However, suppose your current NPSP org has processes and workflows that perform essential actions. In that case, we strongly recommend converting them into flows to be easily deployed to the new org.

Page Layouts and Lightning Pages

Page layouts are a relatively standard and accepted way of displaying information for your records. They allow you to display fields, add buttons, and customize lists of related objects. However, they are not as dynamic as Lightning Pages.

Migrating NPSP to NPC Page Layouts.

Lightning Pages are very similar to page layouts. Most start out being built from page layouts. However, since each field or component is a Lightning component, Lightning Pages have great flexibility with easy drag-and-drop controls. Furthermore, if you upgrade your Lightning Page to dynamic forms, you can drag-and-drop fields on the layout, including fields from parent records, and dynamically hide them based on criteria you define. On top of that, Lightning Pages can be assigned as the default page for specific apps, specific record types, and particular profiles, allowing for highly dynamic views. You may already be using Lightning Pages in your NPSP org, but if not, consider implementing them in your NPC org.

migrating NPSP to NPC NPSP Lightening Page.

Omnistudio

NPC orgs include access to Salesforce's Omnistudio. OmniStudio is a suite of services, components, and data model objects designed to help businesses create and automate personalized, dynamic, and engaging customer experiences across multiple channels. If you need to provide a dynamic customer interaction, you don't have time for LWCs, and flows don't work, then Omnistudio is the go-to solution since it offers a quick drag-and-drop designer for all of its components. It is also built on LWC to be readily integrated into existing LWCs or Lightning Pages.

If you have any existing screenflows or LWCs, you probably don't need to create Omnistudio counterpoints when upgrading. However, since your NPC org already has access to them, consider utilizing the feature to build a dynamic menu or a stylized, guided workflow.

Sandbox

Once you have determined all the data you want to import into NPC and have done the proper transformations, you will need an environment for testing. While it is tempting to push your data to a production environment so that you can get up and running sooner, the risk of something going wrong can lead to a lot of technical debt in the future.

Luckily, Salesforce offers sandboxes to build, update, and test all the features you'll be using with NPC. With templates like developer sandboxes, partial copy sandboxes, and full sandboxes, you can test your features with varying degrees of real data. Once you have imported your data to a sandbox and performed rigorous testing, you'll be glad to know that you can import your data into a production environment with no issues or errors. Once you've thoroughly tested your components in the sandbox, you're ready to seamlessly migrate your data to the production environment of your NPC org.

Conclusion

Your move from NPSP to NPC is more than just a migration—it's a step towards deeper insights, greater efficiency, and a more substantial impact on your business's mission. We hope this guide has provided valuable insights and confidence as you prepare for your upgrade journey. If you're ready to unlock the full potential of Salesforce Nonprofit Cloud, have any questions, or need support with your NPC migration, don't hesitate to contact the DB Services team for expert assistance.

Need help with your Salesforce digital transformation? Contact us to discuss Salesforce consulting, implementation, development, and support!

jason swan headshot.
Jason Swan

Jason is a reliable developer with a systematic approach. He focuses on consistently delivering accurate and precise results and setting clear expectations. With an unwavering commitment to quality, he consistently contributes to his team's success, providing support and valuable insights that elevate each project.