Horus Eye · NPSP → Agentforce Nonprofit

Where NPSP migrations go wrong — and what prevents each one

Most NPSP migration problems are not exotic. They are the same dozen issues, landing in org after org, each preventable by a decision made early enough. This page lists them the way an architect would: the issue, why it happens, and the practical move that prevents it — with a link to the decision that owns it.[2][4]

Request an Assessment The admin checklist

Estimated effortXS hours S a day or two M about a week L weeks XL a workstreamIndicative, relative sizes for a typical mid-size org — your org’s evidence decides. Dates and estimates belong to your implementation partner.

Giving history mis-classified or counted twice

Why it happensOpportunity record types mean different things in each org

The fix  MClassify every record type deliberately (MD-2); settle the gift grain (AD-3); reconcile amounts by type and year against a closed period

The target org is decided late

Why it happensThe target-org question is left open while environments get provisioned — and Person Accounts are irreversible once enabled

The fix  SApprove the target-org strategy (AD-1) in discovery, before any environment exists

Field mappings unapproved when the loads are built

Why it happensHundreds of fields have no direct target, and nobody owns the long tail

The fix  XLApprove every in-scope mapping before the data-migration stage; document source, destination and transformation in a mapping workbook[1] (MD-5)

Recurring gifts stop or double after cut-over

Why it happensProcessor schedules move without vendor support, or legacy vs Enhanced Recurring Donations was never settled

The fix  LRecord the collection method for every active recurring donation (MD-3) and the legacy path (AD-2); at cut-over, check each active commitment’s next date and amount, with exactly one pending installment

Single-member households balloon the record count

Why it happensNPSP creates a household account for every contact

The fix  SConsider keeping households only where people share one (MD-1) — and count one-member households before deciding

Duplicate constituents merge wrongly

Why it happensShared e-mail addresses — spouses, family accounts — look like duplicates to a matching rule

The fix  MResolve each shared-e-mail group before the load: same person, or different people. Keep duplicate rules off for the migration user, on afterwards (AD-7)

Orphaned and incomplete records fail to load

Why it happensMissing parents and required values that NPSP tolerated and the target does not

The fix  MWork the fix lists before migration: repair orphans, complete required values, or record the decision to exclude

Automation silently stops

Why it happensTriggers, TDTM handlers, Flows and rollups[3] bound to NPSP objects have nothing to fire on

The fix  XLInventory the automation that touches NPSP, rebuild it on the target objects, and regression-test before the trial loads

Reports and dashboards break

Why it happensReport types built on NPSP objects and NPSP-calculated totals

The fix  LRe-point report types and fields, rebuild dashboards, and prove the numbers against a closed period (MD-6)

Integrations write to objects that no longer exist

Why it happensVendors were never asked to confirm Agentforce Nonprofit compatibility

The fix  LConfirm, replace or retire each package and connected app (MD-4), and smoke-test the kept ones against the target

Totals don’t match the board pack

Why it happensRollups are recalculated in the target, never copied

The fix  MReconcile a closed period and get finance sign-off before go-live (MD-6)

“Ready” without proof

Why it happensReadiness judged from metadata alone, or from optimism

The fix  SOpt in to counts-only profiling so data-dependent checks can run; validate each migration step on your own sandbox before claiming readiness

The decision codes point into the sixteen migration decisions, where each is written up with its options and owner. None of these fixes is heroic — each is a question answered before the stage that needed it.

Top risks and key decisions page from a generated sponsor deliverable
How the risks read in a generated sponsor deliverable (example data).

About the figures on this page: counts and percentages describe Horus Eye’s own test orgs, which hold seeded example data. They are examples of what an assessment reports — never typical results and never a benchmark for your org.

Sources & further reading

References

Protected AI — the Trust Layer

Every AI read in Horus Eye is metadata-first: built from an allowlist, sanitized by pattern, made through one audited gateway and checked by an output firewall on the way back — and AI is off by default, per org. Every request carries an audit id and an AI Data Scope manifest you can open.

See the Trust Layer

Which of these twelve are live in your org right now?

Horus Eye

A read-only assessment tells you with evidence, finding by finding — before the project plan is built on assumptions.

Try Horus Eye Free Request an Assessment All Horus Eye pages

Free start · 250 credits for 60 days · no card required · scans are free