Annual recurring revenue (ARR) is the yearly value of all active subscription contracts, counting recurring charges only, normalized to one year whatever the term or billing frequency.
A worked example
An example with round numbers. A customer signs a three-year subscription at $36,000 a year, plus a one-time $9,000 onboarding fee. ARR is $36,000. The onboarding fee is not recurring, so it stays out of ARR but counts toward total contract value, which is $117,000 ($36,000 × 3 + $9,000). MRR is $3,000. If the customer pays all three years upfront, ARR is still $36,000: billing frequency changes cash flow, not ARR. If they add seats worth $6,000 a year in month seven, ARR rises to $42,000 from that date, even though the first invoice for the new seats is prorated.
Where ARR goes wrong
Three mistakes come up again and again: counting one-time fees, booking a multi-year deal at its full value, and reading ARR off invoices, so a customer who moves to annual billing looks like a spike followed by a gap. Define ARR once, from active contracts, and make the field that holds it the one finance and sales both report from. Then split every change by type. In Benchmarkit's 2026 benchmark report, expansion made up 40% of all new ARR at the median, and it took a median of $0.80 in sales and marketing spend to win $1 of expansion ARR, versus $1.63 for $1 of new-logo ARR. The full set of formulas is in how to measure subscription metrics.
In Salesforce
Salesforce has no standard ARR field. The standard Opportunity Amount does not factor time into its calculation, so it cannot tell a one-year deal from a three-year deal at the same price, and the standard Contract records dates and a term in months but no value. Teams add a custom ARR field to the Account or Contract and keep it current with Flow, or use a CPQ or subscription package that computes it from subscription records. Salesforce CPQ keeps the install base as SBQQ__Subscription__c records under the Contract; in Revenue Cloud Advanced, AssetStatePeriod records carry MRR for each span of an asset's life.
How Kugamon handles it
With the Subscription Management add-on, ARR is a roll-up on the standard Salesforce Contract, alongside MRR, TCV, subscription count, total quantity and start and end dates. Releasing a New Order creates the Contract, its Subscriptions and the next Renewal Opportunity. Releasing an Expansion Order adds lines that are co-termed and prorated to the Contract End Date and updates the same Contract, so the roll-up stays current. Kugamon also adds an Opportunity Amount field that factors the service term into the calculation, which the standard Amount field does not. All of it is ordinary Salesforce data, so ARR reports and dashboards need no export.
Related terms
- Monthly recurring revenue (MRR)
- Total contract value (TCV)
- Net revenue retention (NRR)
- Gross revenue retention (GRR)
- Co-terming
- Revenue recognition (ASC 606)
Source: www.benchmarkit.ai