Connector Fields and Calculations in Salesforce Spiff Reports

When you’re using connector fields or calculations in Salesforce Spiff reports, encapsulate each those items in their own calculated field.

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

Connector Fields

Connector fields sync data directly from an external data source‌, such as Salesforce, or by manual upload. To use a connector field in a payout rule calculation, we recommend that you encapsulate the field in a separate calculated field. For example, instead of using the connector field ARR__c directly, create a calculated field named DealARR that references ARR__c.

This practice also makes it easier to replace one connector field with another when you update your plans. For example, maybe you want to change ARR__c to DealAmount. When you encapsulate the connector field in a calculated field, the only change to make is in the calculated field. Otherwise, you have to find every calculation where you use the connector field and change it.

Calculations

Encapsulating portions of calculations is important for reports for these reasons.

  • Encapsulations are more human-readable.
  • Each encapsulation becomes available as a metric or field to show in commission statements.
  • Encapsulation saves memory. The logic can be calculated once and then reused.
  • Encapsulation helps identify the calculation's checkpoints.
  • Encapsulation helps you troubleshoot errors more easily.

For example, consider this calculation before encapsulation.

=if(EndOfPeriod = end_of_quarter(EndOfPeriod), 1, 0) * BonusTotal

Encapsulate the if() function is a calculated field, IsEndOfQuarter.

=if(EndOfPeriod = end_of_quarter(EndOfPeriod), 1, 0)

Then, you have a similar calculation.

=IsEndOfQuarter * BonusTotal