Are you wondering how to best calculate sales commissions based on recurring revenue? Recurring revenue (ex: MRR) is frequent in SaaS environments. In this article, we describe two strategies to calculate commissions based on recurring revenue, and make an opinionated recommendation.

There are two main strategies when it comes to calculating commissions using recurring revenue:

  • Pay commissions upfront, based on the total contract’s value.
  • Pay commissions over time, based on received recurring revenue.

Paying Commissions Upfront Based On Total Contract Value

This approach has some noticeable advantages:

  • As long as you’re able to estimate total contract values with some reasonable accuracy, calculating commissions upfront remains easy. Sales reps typically understand their commissions, and setting quotas is not too difficult either.
  • When commissions are paid upfront, there is a strong incentive to close deals now rather than later because reps receive the full benefit of each sale immediately (not over time, as a trickle of recurring commissions).
  • Paying commissions upfront encourages sales reps to sell deals with a longer commitment period. For example, a 3 year contract would typically result in an immediate commission 3x larger than a 1 year contract.

However, it also has some disadvantages:

  • It can cause reps to neglect customers after the sale. As soon as a contract is considered won, reps have earned the entire commission upfront. There is no incentive to keep in touch with customers to limit churn.
  • It ignores the fact that actual payment will only be received over an extended period of time – i.e., it ignores the cost of capital. While it’s possible to take the cost of capital into account when paying commissions upfront, this can make commissions look shady.
  • It increases discrepancies between sales and finance. When Sales sees singular large contract values in their CRM system, Finance sees a series of small numbers, each corresponding to a recurring payment.
  • Complex clawbacks may be required if customers break contracts or stop paying. It also becomes necessary to monitor / estimate churn when calculating commissions. If churn depends on the rep, the whole affair becomes even more complicated.

Paying Commissions Over Time, Based On Recurring Revenue

This approach has some key advantages:

  • It pays commissions based on actual received revenue. As a result, it automatically handles situations such as churn, customers breaking contracts, bad debt, etc.
  • It promotes alignment between Sales and Financial systems. Sales commissions are paid then Finance receives payment – not when a large CRM opportunity is marked as won.
  • It encourages reps to minimize cancellations and churn. To keep receiving recurring commissions, reps must ensure customers remain active. Each rep therefore has some incentive towards some account management.

However, it also has some disadvantages:

  • Commissions can be difficult to calculate if there is only one single record tracking the sale (ex: a single opportunity in CRM). To calculate sales commissions for a given period, systems must determine which opportunities qualify based on their start date and recurrence. Most systems don’t know how to do this.
  • When commissions are paid over longer periods of time, reps may become disinterested. Consider a 1 year contract worth 100K vs. a 3 year contract worth $250K. Reps may prefer the first option if they are not sure they will be in their current position a year from now. The company may prefer the other option.
  • New reps may struggle to make ends meet because they haven’t earned a sufficient base of recurring commissions (i.e. draws may be required to pad their earnings). Moving reps between positions or territories becomes more difficult because they still are “vesting” recurring commissions.

So Which Approach Is Best?

At Sales Cookie, our goal is to make sure reps are paid accurate sales commissions – on time. Our opinionated recommendation is therefore to pay commissions over time with a bonus for closing each deal.

In spite of some disadvantages, we feel it’s a lot more accurate to pay commissions based on actual payments, rather than upfront based on inaccurate, estimated total contract values. The reality is that customers do cancel contracts, do upgrade, do downgrade, etc. – and that other external factors change as well (ex: tax rates, partial refunds, etc.). We also like the fact that paying commissions over time motivates reps to keep in touch with their customers to avoid churn.

Note that paying commission over time does not prevent you from paying a bonus as soon as a deal is closed. And you can certainly include draws for new reps, so that they are not left starving while building their base of recurring commissions. Draws are definitely less complicated than clawbacks, and calculations can easily be automated.

A key question remains – how to best model recurring transactions to facilitate accurate sales commission calculations? As previously explained, customers may cancel, upgrade, downgrade, receive partial refunds, etc. For this reason, we feel that each recurring instance should be represented as an individual record in your financial or CRM system. In other terms, it’s not possible to represent all variations using a single record representing the entire contract – we need many individual records (which can all be linked to a master record) in case things change.

Here is a problematic way to represent a sale (i.e. using a single record) – for example, a simple event such as a tax rate change could compromise commission calculations:


Here is better way to represent a sale (i.e. using many recurring records – typically linked to a master record) – this lets you represent change over time:


By modeling each recurring payment as an individual record, calculating sales commissions becomes surprisingly simple and accurate. Not only is this option superior in terms of calculating commissions, it’s also helps with reporting. For example, should you want to calculate total revenue between Jan 1st and March 1st, your reporting engine would simply query individual records for this time range. If you had a single record (with a recurrence specified), your reporting engine would likely not know how to handle the recurrence.

To create one record per recurring transaction, you could:

  • Leverage your financial system (ex: QuickBooks) as a data source to calculate commissions. Because your financial system tracks money (sent and received), recurring payments will always appear as individual records in your financial system. If your financial system lets you specify a rep (ex: using custom fields), this may be your best option.
  • Configure your CRM system (ex: SalesForce) to automatically create individual instances when an opportunity is marked as won. For example, if an opportunity is a 2 year contract with a monthly recurrence, your CRM workflow could pre-create 24 instances, each of which would then be adjusted based on upgrades, downgrades, changes in taxation, partial refunds, rep change, etc.

Wait – I Really Cannot Create Multiple Records!

Perhaps your CRM system does not support workflows. Or you just really don’t want to create multiple records because this will cause disruption to your existing systems. No worries – we can handle those situations as well – although we’d recommend reaching out so that we can configure things for you. We can:

  • Configure your incentive plans to look back in time using advanced options. For example, if your plan is monthly, we can configure an advanced option of “StartDate=-11M”. When you run a calculation for June, we will process transactions in June, but also transactions over the past 11 months (i.e. 12 months in total). This way, we can include monthly recurring transactions.
  • Configure your incentive plans to use a query reward if you need special handling. For example, here is a query which runs over each credited user’s transactions to calculate a 10% reward. This query pays 10% of revenue for “monthly” recurring transactions found in the 12 month period, plus 10% of revenue for “annual” transactions found within the current calculation period (ex: June).

SELECT 0.10 * SUM ([Transaction].[calculated_revenue])
FROM Transactions WHERE [Transaction].[Transaction Type (System)] = ‘Monthly’ OR
([Transaction].[Transaction Date (System)] >= [Calculation].[start_date_utc]
AND [Transaction].[Transaction Date (System)] < [Calculation].[end_date_utc])

In Conclusion

In this article, we described pros and cons associated with 2 main approaches to pay commissions based on recurring revenue. Our recommendation is to pay commissions over time, but include a bonus when closing a deal. Creating one record per recurring transaction can help ensure accurate commission calculations and reporting, but other options are available. Visit us online to see how you can automate your sales commission program!