Skip to content

Opportunity and Product Automation

stephenpstanley edited this page Nov 18, 2021 · 8 revisions

Standard recurrence (monthly, annual memberships) use NPSP recurring donations, or whatever means you choose (not in this package) Installment memberships (single opportunity with payments) Opportunity amount paid > 0 triggers update to the membership end date. Trigger on Opportunity that loops through OLI and updates memberships.

Package provides a single checkbox - trigger membership updates, can be triggered off of NPSP amount paid field, or whatever else using a flow template. Clone flow - adapt to your business rules.

Opp Trigger Collect OLI's Loop and identify Membership products, and contact/account pairs Query for set of active membership for contact/account pairs Work Queue for transactions to resolve is dissociated OLI's Ranking of upgrade/downgrade is simple decimal number on the product End date upgrade/downgrade renewal behavior (2 fields, one for upgrade, one downgrade)

  • Immediate - start date to today, extend end date by new term
  • Append - start date to end of current membership, extend end date
  • Prorate - [there be dragons here], you can override price with your own automation Renewal - always append Grace periods -
  • setting +/- days from end date

Product upgrade rule picklist

  • Add to approval queue - approved checkbox - triggers customer generated automation
  • Update existing membership
  • Create duplicate membership

Product Fields added

  • Available for new memberships (Boolean: is_For_New_Memberships__c)
  • Is Renewable (Boolean: isRenewable__c)
  • Successor Product (Lookup to Product2, filter by not the same product Id and Successor Product has isActive = TRUE)

Product Validation Rule Added If isActive = FALSE AND isRenewable = TRUE then there must be a Successor Product

Renewals Engine If isRenewable && isActive - renew to same product If isRenewable && !isActive - renew to Successor Product If !isRenewable - do not generate renewal

Linking process

  • Contact, Account match
  • Product family alignment is required - only link products within the same family
  • Identify if new membership is upgrade or downgrade (sort by number sequence, if equal, simple renewal)
  • Apply appropriate renewal rules from product to update identify membership record

Include a memberships completed flag once automation has run. Check if product is a membership product, if it is, automate memberships, need contact/account lookup on OLI to identify where membership is going...

Checkbox enable GAU/GAU Allocation linkage to product.

Opportunity Fields:

  • Membership_Ready_To_Be_Created__C - When set to true, will kick off the membership creation process, based on the opportunity product line records.
  • Membership_Process_Completed__c - Set once the Membership creation process is done, to prevent the creation process being run again.

Opportunity Product Line Fields:

  • Account: Lookup to account record
  • Contact: Lookup to contact record
Clone this wiki locally