Skip to content

Integrations

NPSP#

The Nonprofit Success Pack is entirely optional. The core package works identically with or without it, and detects its presence at runtime rather than depending on it.

Detection, not dependency#

Pledgivo never compiles against NPSP objects directly — there's no hard package dependency, so installing Pledgivo doesn't require installing NPSP first, and an org without NPSP is fully functional. Presence is checked with schema introspection (Schema.getGlobalDescribe(), keyed on NPSP's core recurring-donation object), and all reads/writes to NPSP objects go through dynamic SObject/DML in NpspSyncService rather than a compile-time reference — this is what lets the same package Apex deploy cleanly whether or not NPSP is installed.

What syncs, and what it maps to#

Pledgivo object NPSP object Gated by
Recurring_Donation__c npe03__Recurring_Donation__c Settings__c.NPSP_Sync_Enabled__c
Designation__c (via Donation_Designation__c) npsp__Allocation__c (GAU Allocation) Settings__c.NPSP_GAU_Sync_Enabled__c

Both toggles default to off. Turning either on doesn't backfill historical records — it takes effect for donations processed going forward.

What triggers a sync#

The two syncs fire at different points, not from a single shared trigger:

  • GAU allocation sync (NpspSyncService.syncAllocations) runs off the DonationFinalized__e platform event, via the DonationFinalizedSubscriber trigger. This keeps it out of the critical path of confirming a payment: if the sync fails or is slow, it doesn't affect whether a donor's payment is finalized.
  • Recurring donation mirror sync (NpspSyncService.syncRecurringDonations) does not listen for DonationFinalized__e at all — it runs synchronously, post-commit, inside RecurringDonationService.activateRecurringStaging() at the moment a donor's recurring schedule is first created (gift #1's staging row still resolves through the normal reconciliation path independently).

Both are self-guarding no-ops when NPSP isn't installed or their sub-toggle is off, so neither path can affect whether a donation or recurring schedule is created in Pledgivo's own objects.

Enabling it#

Settings → General → Organization (or wherever your Settings console currently surfaces NPSP toggles — see Setup assistant for the full panel map) exposes NPSP_Sync_Enabled__c and NPSP_GAU_Sync_Enabled__c. Both only appear as meaningful choices if NPSP is actually detected in the org — there's nothing to turn on if NPSP isn't installed.

What Pledgivo does not do#

Pledgivo doesn't replace NPSP's own Opportunity rollups, Contact/Account fields, or reporting. The sync is additive and one-directional (Pledgivo → NPSP) — recurring donation and designation data flows into NPSP's objects; nothing flows back from NPSP into Pledgivo's own fields.

  • Settings & integrations


    Where the NPSP toggles sit in the three-tier settings model.

    Read more →

  • Recurring giving


    What a Recurring Donation record represents before it's ever synced anywhere.

    Read more →