Skip to content

Membership Package Documentation

DebbieN-SF edited this page May 5, 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

If you're unfamiliar with Metecho:

  1. Click into the Epic for this Sprint
  2. Click on the task you are assigned to
  3. Click on Create a Scratch Org for the task

Assign Permission Set

Org-Wide Email Address

Update Process Automation Settings

  • Set the “Automated Process User Email Address” to reflect your newly created Organization-Wide Email address in the step above (Setup > Process Automation Settings)
  • Resource: Emails from the Automated Process User

(placeholder - flow schedule update(s))

Customize Products object

  • Add custom fields to the Product page layout where desired: “Custom fields available for membership Products include Renewal Option, Term, Term Unit, Grace Period (Days), Downgrade Path, and Upgrade Path.”
  • Resource: Customizing Page Layouts
  • Add Product Family picklist values if desired/needed
  • Resource: Manage PIcklist Values

Set up Products (App Launcher > Products) for memberships.

  • Sample Product Names:
  • Individual Membership
  • Dual Membership
  • Family Membership
  • Corporate Business Partner
  • You may add additional fields to the Product object if you need to track additional information about the product itself (e.g. max number of members or number of membership cards to print)

Set Up Price Books (App Launcher > Price Books) for your overarching Membership Program

Add Products to Pricebooks

Optional

  • Go to Setup > Object Manager > Membership Contact Role and add values to the Type picklist if desired/needed

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.