A community-owned, open-source Salesforce package for nonprofit organizations — built on the Nonprofit Success Pack (NPSP) codebase.
NPPatch consolidates the open-source Nonprofit Success Pack into a single, namespaced, unlocked second-generation package (2GP) that the nonprofit community can install, extend, and maintain independently. The original NPSP was distributed as Salesforce-controlled managed packages — NPPatch changes that. The community — not Salesforce — controls what gets built, what gets fixed, and when new versions ship.
Salesforce has announced end of innovation for NPSP, with no further feature development planned. This has left many organizations — particularly smaller nonprofits and the consultants who serve them — without a clear path forward. NPPatch exists to ensure that continuing on a community-maintained version of the platform they already know remains a viable option.
NPPatch includes the full NPSP feature set, consolidated from the original five managed packages into a single codebase:
- Household and Organization Account Management — automatic household creation, account naming, address management
- Recurring Donations — schedule management, change tracking, and forecasting
- Gift Entry and Batch Data Import — form-based gift entry with template support, plus batch import tools
- Customizable Rollups — flexible rollup calculations across Accounts, Contacts, Households, and GAUs
- GAU Allocations — allocation of donations across General Accounting Units for fund accounting
- Relationships and Affiliations — contact-to-contact relationships with reciprocal tracking, plus organizational affiliations
- Engagement Plans — task-based engagement workflows triggered by donor activity
- Payment Management — payment scheduling, tracking, and write-off support
- Levels — automated donor level assignment based on giving history
- Error Logging — centralized error capture and admin notification
| Detail | Value |
|---|---|
| Package Type | Namespaced Unlocked 2GP |
| Namespace | nppatch |
| Salesforce API Version | 63.0 |
| Build Tool | CumulusCI 4.6+ |
| Architecture | Apex Enterprise Patterns (fflib) with TDTM trigger framework |
| Custom Objects | 30+ |
| Custom Settings | 21 hierarchy settings for configuration |
| Apex Classes | 800+ |
| Lightning Web Components | 99 |
| Test Coverage Target | 75%+ |
For guidance on when NPPatch makes sense and what to consider, start with the Getting Started Overview.
- Package Installation — install the package into a Salesforce org using an install link
- Source Deployment — clone the repository and deploy from source using CumulusCI
- Post-Install Configuration — settings to review after installation
Full documentation is available at nppatch.readthedocs.io.
To work on this project in a scratch org:
- Set up CumulusCI
- Run
cci flow run dev_org --org devto deploy this project. - Run
cci org browser devto open the org in your browser.
This project is licensed under the BSD 3-Clause License.
NPPatch is built on the open-source code from the Salesforce.org Nonprofit Success Pack repositories. The original NPSP code was released under the same BSD-3-Clause license, and NPPatch follows those terms. The five original packages have been consolidated into a single repository and package — the code, objects, and automation are functionally equivalent; what's changed is the packaging and distribution model.
For questions, feedback, or to get involved: admin@nppatch.com