You are here:
Accounting for Inter-Period Plan Changes for Reps
Make sure that reps who transition from one plan to another within a statement period are paid for the plan they were assigned to when the deal closed.
Required Editions
| Available in: both Salesforce Classic (not available in all orgs) and Lightning Experience |
| Available in: Enterprise, Unlimited, and Developer Editions |
| Available for an additional cost in: Professional Edition with Web Services API Enabled |
When a rep switches plans at the beginning or end of a statement period, you can use the effective dates on their plan assignment to easily handle these changes. However, if a rep changes plans in the middle of the period, the rep is active on two plans during the period of change. By default, Salesforce Spiff calculates two statements for that period, one for each plan.
To change this behavior, find this default InPeriod data filter.
date_between?(CloseDate, BeginningOfPeriod, EndOfPeriod)
Then, update the parameters of this filter.
date_between?(CloseDate, SalesRep, Worksheet!PlanOrPeriodStartDate, SalesRep_Worksheet!PlanOrPeriodEndDate)
You still use the date_between?() function in the data filter to compare the CloseDate field to either of these values, based on the PlanOrPeriodStartDate and the PlanOrPeriodEndDate worksheet calculations.
- The Effective As of Date or Effective Until Date
- The statement period start or end date
The PlanOrPeriodStartDate calculation on the worksheet says that the CloseDate must be on or after one of the dates that the if() function determines. If the Effective As of Date field for a rep isn’t null and that date is on or after the first day of the statement period, use the Effective As of Date to begin listing deals. For example, a rep with an Effective As of Date of January 15 on their plan assignment sees only deals with close dates on or after January 15. The if() function's false parameter reads statement_period.start_date. If the Effective As of Date is empty or falls before the first day of the current period, deals begin listing on or after the first day of the statement period.
The PlanOrPeriodEndDate calculation does the same thing, but for Effective Until Date values. The CloseDate must be on or before one of dates that the if() function determines. If the rep's Effective Until Date isn't null and that date is on or before the last day of the statement period, that date is the last day for qualified deals. For example, a rep with an Effective Until Date of January 14 doesn't see deals in January after that date. The if() function's false parameter reads statement_period.end_date. If the Effective Until Date is empty or falls after the last day of the current period, deals stop listing on the last day of the statement period.

