You are here:
Carry Forward a Negative Balance on a Statement
If a sales rep's statement in Salesforce Spiff shows a negative balance and you don't want to deduct that amount from the commission payout for the current statement period, you can instead carry the negative balance forward to the next statement period.
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 |
| User Permissions Needed | |
|---|---|
| To edit worksheets and create payout rules: | A Spiff user role with this permission turned on. Designer Configuration: Manage |
You have a few options for handling a negative balance for the current period.
- Show the negative balance as the total statement balance for the current period, and carry the balance forward to the next period.
- Zero-out the negative balance for the current statement period, and carry the balance forward to the next period.
- Zero-out the negative balance for the current statement period but still show the negative amount for transparency, and carry the balance forward to the next period.
Option 1: Show a Negative Balance on the Current Statement
You can show the negative balance as the total statement balance for the current period, and carry the balance forward to the next period. If you show a show balance on the current statement, there's extra work for your payroll department to ignore or zero-out the negative balance. You can manually zero-out a negative balance before sending the statement to payroll.
- In Designer, create a worksheet.
-
Create fields that show the start and end of the previous period, so that you have a reference that changes based on the current statement period.
To make sure that the dates update dynamically, use the BeginningOfPeriod and EndOfPeriod helper functions.
BeginningOfPreviousPeriod = months_ago(BeginningOfPeriod, 1)EndOfPreviousPeriod = end_of_month(end_of_period(months_ago(EndOfPeriod, 1))) -
Create a worksheet calculation that references the balance from the previous statement.
SalesRepAmountFromPreviousPeriod = amounts_from(BeginningOfPreviousPeriod, EndOfPreviousPeriod, "plan_name")The
amounts_from()function references the worksheet fields you created, and the "plan_name" argument is the name of the plan, enclosed in double quotes. -
Create a worksheet calculation that shows only negative balances.
NegativeBalanceCarriedForward = min(SalesRepAmountFromPreviousPeriod, 0)The
min()function references the SalesRepAmountFromPreviousPeriod worksheet calculation, compares it to 0, and returns the smaller of the numbers.- If the balance of the previous statement period is positive, this calculation returns
0. - If the balance of the previous statement is negative, the negative balance is returned.
- If the balance of the previous statement period is positive, this calculation returns
-
Create a payout rule from the NegativeBalanceCarriedForward worksheet calculation.
- Select the NegativeBalanceCarriedForward field and click Create Payout Rule from the right panel.
- Add the name of the payout rule that you want to show on statements, and click Create.
The payout rule is added to all the plan's payout rules. A negative balance on one statement period is carried forward to the next statement period. All other statements show zero if the previous statement balance is positive.
Option 2: Zero-out a Negative Balance on the Current Statement
You can exclude the negative balance for the current statement period, and carry the balance forward to the next period. If you exclude a negative balance, there's no extra work you or your payroll department.
- In Designer, create a worksheet.
-
Create fields that show the start and end of the previous period, so that you have a reference that changes based on the current statement period.
To make sure that the dates update dynamically, use the BeginningOfPeriod and EndOfPeriod helper functions.
BeginningOfPreviousPeriod = months_ago(BeginningOfPeriod, 1)EndOfPreviousPeriod = end_of_month(end_of_period(months_ago(EndOfPeriod, 1))) -
Create a worksheet calculation that sums all of the plan's current payout rules, which determines whether the current statement total is a negative balance that requires an adjustment.
Determine the fields used for calculating each of the plan's current payout rules by hovering over the total amount for each rule. Add the fields together. If the final payout comes from a datasheet field, use the
sum()function. If the final payout comes from a worksheet field or a summary field on the datasheet, you can reference the field directly.StatementTotal = payout_rule_1_amount_field + payout_rule_2_amount_field -
Create a worksheet calculation that shows only negative balances.
CurrentPendingBalance = min(StatementTotal, 0)The
min()function references the StatementTotal worksheet calculation, compares it to 0, and returns the smaller of the numbers.- If the previous statement balance is positive, this calculation returns
0. - If the previous statement balance is negative, this calculation returns the negative balance.
- If the previous statement balance is positive, this calculation returns
-
To zero-out the statement balance, invert the negative balance.
StatementNegativeBalanceAdjustment = CurrentPendingBalance * (-1) -
Create a payout rule from the StatementNegativeBalanceAdjustment worksheet calculation.
- Select the StatementNegativeBalanceAdjustment field and click Create Payout Rule from the right panel.
- Add the name of the payout rule that you want to show on statements, such as Statement Negative Balance Adjustment, and click Create.
-
Pull the negative balance adjustment from the previous statement period as the negative balance to carry forward.
PreviousStatementCarryForward = amounts_from(BeginningOfPreviousPeriod, EndOfPreviousPeriod, "plan_name", "Statement Negative Balance Adjustment") *(-1)The
amounts_from()function references the previous period's adjustment that was made to make the amount0. Instead of referencing the full plan, the function references only the adjustment payout rule. To return the original balance, multiply the adjustment payout rule by-1. - To confirm the new statement total, including the negative balance that's carried forward from the previous statement period, verify that the StatementTotal calculation includes the PreviousStatementCarryForward calculation in the current statement total.
When the statement balance is positive, the final statement payout with the two new payout rules returns data normally. When the balance is negative, the balance is zeroed-out and carried forward to the next statement period.
Option 3: Zero-out a Negative Balance but Show the Negative Amount on the Current Statement
You can zero-out the negative balance for the current statement period but still provide transparency for reps and show the negative amount with a What-If? rule. Carry the balance forward to the next period, but the negative balance doesn't affect statement totals.
- In Designer, create a worksheet.
-
Create fields that show the start and end of the previous period, so that you have a reference that changes based on the current statement period.
To make sure that the dates update dynamically, use the BeginningOfPeriod and EndOfPeriod helper functions.
BeginningOfPreviousPeriod = months_ago(BeginningOfPeriod, 1)EndOfPreviousPeriod = end_of_month(end_of_period(months_ago(EndOfPeriod, 1))) -
Create a worksheet calculation that sums all of the plan's current payout rules, which determines whether the current statement total is a negative balance that requires an adjustment.
Determine the fields used for calculating each of the plan's current payout rules by hovering over the total amount for each rule. Add the fields together. If the final payout comes from a datasheet field, use the
sum()function. If the final payout comes from a worksheet field or a summary field on the datasheet, you can reference the field directly.StatementTotal = payout_rule_1_amount_field + payout_rule_2_amount_field -
Create a worksheet calculation that shows only negative balances.
CurrentPendingBalance = min(StatementTotal, 0)The
min()function references the StatementTotal worksheet calculation, compares it to 0, and returns the smaller of the numbers.- If the balance of the previous statement period is positive, this calculation returns
0. - If the balance of the previous statement is negative, this calculation returns the negative balance.
- If the balance of the previous statement period is positive, this calculation returns
-
Create a What-If? rule from the CurrentPendingBalance worksheet calculation so that the total doesn't account for this balance.
- Select the CurrentPendingBalance field and click Create Payout Rule from the right panel.
- Add the name of the payout rule that you want to show on statements, such as Current Pending Balance, and click Create.
- On the Plans tab, select the rule and turn on What-If?.
-
Create a worksheet calculation that references the previous period's amount from the What-If? rule.
PreviousStatementCarryForward = amounts_from(BeginningOfPreviousPeriod, EndOfPreviousPeriod, "plan_name", "Current Pending Balance")The
amounts_from()function references the previous period's negative balance. - To confirm the new statement total, including the negative balance that's carried forward from the previous statement period, verify that the StatementTotal calculation includes the PreviousStatementCarryForward calculation in the current statement total.
-
Create a worksheet calculation that zeroes-out a negative balance for the current period or allows a positive balance to propagate.
StatementNegativeBalanceAdjustment = min(StatementTotal, 0) * (-1) + PreviousStatementCarryForward- If the current statement balance is positive, the
min()function returns0and adds the previous statement's negative carried-forward balance. - If the current statement balance is negative, the
min()function multiples the balance by-1to zero-out the current statement.
- If the current statement balance is positive, the
-
Create a payout rule from the StatementNegativeBalanceAdjustment worksheet calculation.
- Select the StatementNegativeBalanceAdjustment field and click Create Payout Rule from the right panel.
- Add the name of the payout rule that you want to show on statements, such as Statement Negative Balance Adjustment, and click Create.

