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 theDonationFinalized__eplatform event, via theDonationFinalizedSubscribertrigger. 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 forDonationFinalized__eat all — it runs synchronously, post-commit, insideRecurringDonationService.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.
Related#
-
Settings & integrations
Where the NPSP toggles sit in the three-tier settings model.
-
Recurring giving
What a Recurring Donation record represents before it's ever synced anywhere.