Package Installation¶
This guide covers installing NPPatch from a published package version into a Salesforce org. This is the recommended path for consultants evaluating the package or deploying it to a client org.
Prerequisites¶
Before installing NPPatch, confirm the following:
Salesforce Edition. NPPatch requires Enterprise Edition, Unlimited Edition, or Developer Edition. It will not install on Professional Edition or Group Edition orgs.
Admin Access. You'll need System Administrator access to the target org to install the package.
Existing NPSP Status. If the target org already has the Salesforce-managed NPSP installed, read the namespace implications section below before proceeding.
Pre-Install Setup: Required Record Types¶
NPPatch depends on specific Account and Opportunity record types that must exist in the org before the package is installed. Without these, installation will fail.
Account Record Types¶
Create two record types on the Account object:
| Record Type API Name | Label | Description |
|---|---|---|
HH_Account |
Household Account | An Account representing a Household containing one or more individuals |
Organization |
Organization | An Account representing an organization |
To create these manually:
- Navigate to Setup > Object Manager > Account > Record Types
- Click New
- Create each record type using the API names and labels above
- Assign them to the appropriate page layouts and profiles
Opportunity Record Type and Business Process¶
Create one business process and one record type on the Opportunity object:
Business Process:
- Navigate to Setup > Object Manager > Opportunity > Business Processes
- Click New
- Name it
NPPatch_Default - Include the standard Opportunity stages (Prospecting, Qualification, Needs Analysis, Value Proposition, Id. Decision Makers, Perception Analysis, Proposal/Price Quote, Negotiation/Review, Closed Won, Closed Lost)
Record Type:
- Navigate to Setup > Object Manager > Opportunity > Record Types
- Click New
- Set the API name to
NPPatch_Defaultand the label toNPPatch Default - Associate it with the NPPatch_Default business process created above
- Assign to the appropriate profiles
Deploy from Source Instead
If you're comfortable with the Salesforce CLI or CumulusCI, you can deploy these record types from the repository instead of creating them manually. Clone the repo and deploy the unpackaged/pre/ directory:
sf project deploy start -d unpackaged/pre/account_record_types -o <your-org-alias>
sf project deploy start -d unpackaged/pre/opportunity_record_types -o <your-org-alias>
Installation Steps¶
Step 1: Get the Install Link¶
Package install links are published on the NPPatch releases page. Each release includes:
- A production/developer install link
- A sandbox install link
- Release notes describing what changed
Start with a Sandbox
Always install in a sandbox or developer org first. Evaluate the package thoroughly before installing in a production environment.
Step 2: Install the Package¶
- Open the install link in a browser where you're logged into the target Salesforce org
- If prompted, log in with System Administrator credentials
- On the installation screen, choose who to install for:
- Install for Admins Only — recommended for initial evaluation
- Install for All Users — appropriate for production deployment after testing
- Install for Specific Profiles — for controlled rollout
- If prompted to approve third-party access, review and approve
- Click Install
Installation typically takes 5-15 minutes depending on the org's complexity. You'll receive an email when installation is complete.
Step 3: Assign Permissions¶
After installation, assign the NPPatch_Admin permission set to users who need full access to NPPatch objects and fields.
- Navigate to Setup > Permission Sets
- Find NPPatch_Admin
- Click Manage Assignments
- Add the appropriate users
The NPPatch_Admin permission set grants read/write access to all NPPatch custom objects and fields. You may want to create additional permission sets with more limited access for non-admin users.
Step 4: Deploy Post-Install Metadata¶
The package itself does not include certain org-level customizations (compact layouts, global quick actions, list views) because they live outside the package namespace. These are provided in the repository's unpackaged/post/ directory and should be deployed after the package is installed.
This metadata includes:
- Account compact layouts for Household and Organization record types
- Global quick actions for creating new Household Accounts and Organizations
- Household Accounts list view on the Account object
To deploy using the Salesforce CLI:
sf project deploy start -d unpackaged/post/first -o <your-org-alias>
If you don't have access to the CLI, these customizations can be created manually in Setup — they improve the user experience but the package will function without them.
Step 5: Configure Settings¶
After installation, NPPatch initializes default settings automatically. However, several settings should be reviewed and adjusted for your organization's needs. See the Post-Install Configuration guide for details.
Installing Alongside Existing NPSP¶
If the target org already has the Salesforce-distributed NPSP managed package installed, be aware of the following:
Different namespaces. NPPatch uses the nppatch namespace while NPSP uses npsp. Both packages can technically coexist in the same org, but this is not a recommended configuration. You would end up with two parallel sets of custom objects, fields, and automation that could conflict.
Not a direct upgrade. Installing NPPatch does not upgrade or replace the existing NPSP installation. They are separate packages with separate namespaces.
Recommended approach for existing NPSP orgs:
- Install NPPatch in a sandbox copy of the production org
- Evaluate whether it meets the organization's needs
- If proceeding, plan a data migration from
npsp__objects and fields tonppatch__equivalents - Uninstall the original NPSP packages only after the migration is complete and validated
Data Migration Required
Moving from NPSP to NPPatch is a migration, not an upgrade. Plan for data mapping, field-level migration, workflow updates, and user retraining around the new namespace.
Verifying the Installation¶
After installation completes:
-
Check installed packages. Navigate to Setup > Installed Packages and confirm NPPatch appears with the expected version number.
-
Check custom objects. Navigate to Setup > Object Manager and verify that NPPatch custom objects are present (they'll be prefixed with
nppatch__), including: Recurring_Donation__c, Address__c, Allocation__c, General_Accounting_Unit__c, Relationship__c, and others. -
Check NPPatch Settings. Navigate to the NPPatch Settings tab (if installed as a tab) or search for "NPPatch Settings" in the App Launcher. The settings page should load and display the current configuration.
-
Run a smoke test. Create a test Contact and verify that a Household Account is automatically created (if household management is enabled in settings).
Troubleshooting¶
Installation fails with dependency errors. The most common cause is missing record types. Confirm that the Account record types (HH_Account, Organization) and the Opportunity record type (NPPatch_Default) exist in the org before installing — see Pre-Install Setup above. Also confirm that no conflicting packages are installed and that the org meets the edition and API version requirements.
Objects or fields are missing after installation. Check that the NPPatch_Admin permission set is assigned. Fields may be present but not visible without the appropriate permissions.
Automation isn't firing. NPPatch's trigger handlers are controlled by the TDTM framework and configured via Trigger_Handler__c records. Navigate to the Trigger Handler tab or query Trigger_Handler__c records to verify the handlers are active. See Trigger Framework for details.
Uninstalling¶
To uninstall NPPatch:
- Navigate to Setup > Installed Packages
- Find NPPatch and click Uninstall
- Follow the prompts to confirm
Uninstalling Deletes Data
Uninstalling the package will delete all data stored in NPPatch custom objects. Export any data you need to preserve before uninstalling.
If you see something that could be improved, please create an issue or email admin@nppatch.com.