Skip to content

Membership Package Documentation

Erin Ramirez edited this page Mar 30, 2023 · 16 revisions

Current Functionality

Membership Dates & Status

[What does the package currently do]?

Membership Contact Roles

[What does the package currently do]?

Setup Steps

  • Create a new scratch org. If installing for your organization, be sure to test in a sandbox first
  • Note that NPSP/ Nonprofit Cloud will be required to take advantage of the NPSP Payment object, General Accounting Units, GAU Allocations, etc.
  • Resource - AppExchange Basics

  • Automated reminder users will need to add a org-wide email address, specific that address for the Automated Process User in Automation settings, and schedule the Flow

Getting Started

  • Start by adding standard membership(s) to Products. Custom fields available for membership Products include Renewal Option, Term, Term Unit, Grace Period (Days), Downgrade Path, and Upgrade Path. (NOTE: A Product type for memberships has not been added at this time since Products cannot be deleted, only archived. Therefore, if a Product with a Membership Type was archived, this would prevent the org from being able to remove the managed package in the future. Alternatively, users can add Membership as a Product type themselves if they would like a different Page Layout for Membership Type Products.)

Configuration & Technical

Data Model

The Membership Schema uses a mix of Standard and Custom objects. It has been designed so that NPSP is not a dependency - you can use this model on its own. NPSP can be incorporated to make use of the Payment object along with the General Accounting Unit and GAU Allocation objects.

Behold: Object Model

Custom Objects

  • Membership: This is the main object in the model and represents the membership for this account and/or contact.
  • Membership Contact Role: This is similar to an Opportunity Contact Role and connects contacts to the membership. One membership may have many membership contact roles (e.g. family members).

Automation/Code

  • Contact Trigger:
  • Trigger Handler Class: Starting point to handle complex logic set into a trigger.
  • ConfigurationService Class:
  • Contact Handler Class:
  • MembershipContactRoleService Class:
  • Flow

Other Configuration

  • Permission Set: "Manage Memberships" - will need to assign when creating a new scratch org to access previous work

Data Dictionary This working document shows existing fields in the package. The data dictionary was updated during the March 2023 Community Sprint.

Clone this wiki locally