SfSkills Domains Docs GitHub

Home / architect / nonprofit-cloud-vs-npsp-migration

nonprofit-cloud-vs-npsp-migration

Nonprofit Cloud vs NPSP decision and migration: choose NPSP (managed package) or Nonprofit Cloud (native), plan data migration, Account Model differences, Program Management, fundraising. NOT for the go/stay decision alone, with no migration to plan - use architect/npsp-vs-nonprofit-cloud-decision. NOT for designing the NPC module and platform architecture - use architect/nonprofit-platform-architecture.

Open the skill folder on GitHub


Nonprofit Cloud vs NPSP Migration

Activate when choosing between NPSP (the managed-package Nonprofit Success Pack) and Nonprofit Cloud (the native platform product), or when planning an NPSP → Nonprofit Cloud migration. This is an architect decision with a long tail: the choice determines the data model, the upgrade cadence, and the integration contract for a decade.

Before Starting

Questions to Ask Before Configuring

Each question traces to a gotcha in references/gotchas.md.

QuestionWhy it mattersWhat a good answer addsWhat proper configuration adds over just doing it
"Which NPSP modules and add-ons are installed: Recurring Donations, Allocations, Customizable Rollups, PMM, Outbound Funds?"Each package namespace is rework, and each module maps to a different target model (Gotchas 4, 9)A namespace inventory with counts per metadata typeAn estimate built on the customisation layer, not on record counts
"How do you report households today, and who is the primary contact used for?"Households become PartyRelationshipGroup records with no primary-contact field (Gotcha 5)A household representation rule and the reports that depend on itHousehold reports and salutations rebuilt in the pilot, not after cutover
"Which totals do fundraisers trust: lifetime giving, last gift, soft-credit totals?"Rollups are rebuilt as Record Rollup Definitions, and soft credits are converted (Gotchas 3, 6)A reconciliation list by donor, campaign, designation, and periodFundraising signs off totals that match, so donor recognition does not change at go-live
"What edition and API version will the target org run, and where will you prototype Program Management?"Objects arrive per API version, and Program Management is not in Developer Edition (Gotcha 2)The edition, the API version, and a pilot sandbox on that editionNo lost week prototyping in an org that cannot hold the objects
"Which users and systems touch gifts: payment processor, email, portal, finance?"Fundraising objects need the Fundraising Access licence and Fundraising User permission (Gotcha 7)A list of integration users and their permission set groupsIntegrations work on cutover day instead of failing on object access
"Can the NPSP org be frozen for data changes during the final extraction?"Package triggers keep changing data while it is reconciled (Gotcha 8)A freeze window and a rule for unavoidable loadsA reconciliation baseline that holds still

What proper configuration adds over "just moving the data": a mapping whose target names exist, totals that reconcile before fundraising relies on them, and integrations that keep taking gifts through cutover.

Core Concepts

NPSP (Nonprofit Success Pack)

Managed package on top of Sales Cloud. Uses Account (Household), Contact, Opportunity (gift), and custom objects like npsp__General_Accounting_Unit__c, npsp__Allocation__c, npsp__Partial_Soft_Credit__c, and npe03__Recurring_Donation__c (names from the Salesforce.org NPSP package source). Rich community, many AppExchange integrations.

Nonprofit Cloud (native)

Built on Industries stack. Uses native standard objects with no __c suffix: GiftTransaction, GiftCommitment, GiftCommitmentSchedule, GiftSoftCredit, and GiftDesignation for fundraising; Program, ProgramEnrollment, and the Benefit family for programs; PartyRelationshipGroup with AccountContactRelation for households; CarePlan and Case for services. (Corrected: the earlier text named Gift__c and ProgramEngagement, which are not Nonprofit Cloud objects; see references/gotchas.md Gotcha 1.) UNVERIFIED (2026-10-03): the "Industries Data Kit" name and the Person Account prerequisite are not stated in the NPC Guide; its field descriptions do refer to person accounts for individual donors.

Account models: NPSP vs Nonprofit Cloud

NPSP offers Household, One-to-One, and Individual (UNVERIFIED (2026-10-03): option names from NPSP documentation; the setting lives on npe01__Contacts_And_Orgs_Settings__c). Nonprofit Cloud uses a person-centric model with households as PartyRelationshipGroup records mastered by an Account. Migrating means deciding how households map (Gotcha 5).

Program Management

NPSP has Program Management Module (PMM, namespace pmdm) with pmdm__Program__c, pmdm__Service__c, pmdm__ProgramEngagement__c, and pmdm__ServiceDelivery__c. Nonprofit Cloud has native equivalents (Program, ProgramEnrollment, Benefit, BenefitAssignment, BenefitDisbursement) but the schema differs: direct field mapping is rarely 1:1.

Common Patterns

Pattern: Greenfield — start on Nonprofit Cloud

New implementations default to Nonprofit Cloud. Use the Nonprofit Cloud Data Kit, set up the Person + Household model on day one. Avoid NPSP unless a specific AppExchange integration is NPSP-only.

Pattern: NPSP in place, augment with Nonprofit Cloud capabilities

Keep NPSP as the transactional system. Use Nonprofit Cloud features (Intelligent Needs Assessment, Care Plans) only in the Service Cloud portion of the org. Pros: no migration. Cons: two data models.

Pattern: Phased NPSP → Nonprofit Cloud migration

Phase 1: inventory NPSP usage. Phase 2: greenfield Nonprofit Cloud in a sandbox, map objects. Phase 3: data migration of constituents, then gifts, then history. Phase 4: flip fundraising workflows. Phase 5: retire NPSP. 9-18 month program for a large nonprofit.

Decision Guidance

SituationRecommended ApproachReason
Greenfield nonprofit, no NPSPNonprofit CloudForward-looking, native
NPSP with heavy customization, low change budgetStay on NPSPMigration risk exceeds value
NPSP with limited customization, growth plansPlan NPSP → Nonprofit CloudFuture-proof the investment
Need Einstein / AI fundraising featuresNonprofit CloudNPSP has limited AI integration
Global multi-country deploymentEvaluate Nonprofit Cloud carefullyLocalization coverage varies
  1. Classify the organization: greenfield, on-NPSP-and-stable, or on-NPSP-and-migrating.
  2. Inventory NPSP customizations if applicable: triggers, validation rules, custom objects, Process Builder, integrations.
  3. Map NPSP objects to Nonprofit Cloud equivalents in a spreadsheet with gaps flagged.
  4. Decide household representation (Person + Account, Person Account, or retained NPSP Household).
  5. Plan data migration: lead objects (Contacts, Accounts), transactional (Opportunities/Gifts), history (soft credits, recurring).
  6. Build a pilot in a sandbox with 1,000 representative constituents; validate reports and dashboards.
  7. Run a cutover rehearsal; measure downtime; document rollback. Record the outcome in a decision record with its release manifest (references/examples.md, Example 3).

Review Checklist

Salesforce-Specific Gotchas

The full list with sources is in references/gotchas.md. The three that most often derail a plan:

GotchaConsequence
NPSP triggers fire on every load through TDTM (Gotcha 8)Loads without handling npsp__Trigger_Handler__c silently change rollups during reconciliation
Soft credits are converted, not copied (Gotcha 3)Two NPSP objects become one GiftSoftCredit object with a restricted Role picklist (corrected: it is a standard object, not "a native relationship")
Households change shape (Gotcha 5)PartyRelationshipGroup has no primary-contact field, so household reports and automation must be rebuilt

Output Artifacts

ArtifactDescription
Decision recordNPSP vs Nonprofit Cloud rationale
Customization inventoryNPSP extensions with migration disposition
Object mapping spreadsheetSource → target field map
Migration runbookPhased plan with cutover + rollback

Package files