Skip to main content

Overview

An Anniversary Subscription Plan lasts a fixed number of months from the date each subscriber starts. Because the term is measured from the individual start date, two subscribers who join on different days renew on different days. Use this plan type when members, donors, or certification holders join at varying times throughout the year. An Anniversary plan is a record of the Subscription_Plan__c object that uses the FC_Anniversary record type (label “Anniversary”). A record type is a Salesforce setting that makes one object behave in more than one way; choosing the Anniversary record type is what makes the plan calculate its term by anniversary. There is no separate “type” picklist to set.

Before You Start

  • You need permission to create Subscription_Plan__c records (the fusionCore Subscriptions permission set or equivalent).
  • Decide the term length in months — for example, 12 for a one-year subscription.

How the Term Is Calculated

At purchase time, fusionCore sets the subscription’s end date from the plan’s Join Term:
So a subscriber who starts on March 15, 2025 with a Join Term (Join_Term__c) of 12 has an end date of March 14, 2026 — twelve months later, minus one day, so the next term begins cleanly on the anniversary.
Join Term (Join_Term__c) is required for an Anniversary plan to work. Without it, the term cannot be calculated and the purchase fails. See Limitations and Common Pitfalls below.

How to Create an Anniversary Subscription Plan

1

Open the Subscription Plans list

Click the App Launcher (the nine dots at the top left of Salesforce) and type Subscription Plan, then open the Subscription Plans list.
The App Launcher search box with Subscription Plan typed in

Searching for Subscription Plan in the App Launcher

2

Create a new plan with the Anniversary record type

At the top right of the list view, click New.
The New button at the top right of the Subscription Plans list view

The New button on the Subscription Plans list view

Select the Anniversary record type, then click Next. This is the step that makes the plan an Anniversary plan.
The record type selection dialog with Anniversary chosen

Selecting the Anniversary record type

3

Fill in the plan fields

Complete the plan’s fields:
  • Name (required)
  • Join Term (Join_Term__c) — required; the term length in months
  • Renewal Days (Renewal_Days__c) — optional; how many days before the end date the nightly renewal job generates the renewal order
  • Grace Period (Grace_Period__c) — optional; extra days after the end date before the subscription lapses
  • Auto Charge (Auto_Charge__c) — optional; whether renewals charge a stored payment method automatically (Disabled, Enabled, or Required)
  • Active (Active__c) — leave checked so the plan can be used; it is checked by default
The new Anniversary Subscription Plan form with the information fields filled in

The Anniversary Subscription Plan information fields

4

Save the plan

Click Save.
After saving, link the plan to a subscription product through a Product_Subscription_Plan__c record, and mark exactly one plan as the default for that product. The product must have Is Subscription checked (and Is Membership for memberships). See Subscription Products.

Key Fields

Limitations and Common Pitfalls

  • Join Term is required, but it is enforced at purchase, not at save. A plan can save without Join Term (Join_Term__c), yet a subscription purchase that uses the plan fails with a validation error (Anniversary_Subscription_Plan_Validation_Failed_V2) when Join Term is missing. Always set it.
  • The plan must be active to be used. If Active (Active__c) is unchecked, the plan is not available for new subscriptions.
  • Renewal Days drives the automatic renewal job. If Renewal Days (Renewal_Days__c) is blank, the nightly renewal job never picks up subscriptions on this plan, so renewal orders are not generated automatically. Manual renewals still work.
  • An unrecognized record type stops processing. Subscription term logic only handles the FC_Anniversary and FC_Calendar record types. A plan on any other record type raises an unhandled-record-type error (Error_Unhandled_Record_Type_Id_V2).