The CFO dashboard says ARR is $24 million. The finance close package says recognized revenue is closer to $18 million on an annualized basis. Both numbers are calculated in Salesforce. Both have stakeholders. They do not match, and leadership cannot tell which to trust.
The mismatch is usually structural. Most ARR dashboards roll up from Opportunity amounts, which represent booked contract values. The recognized revenue comes from Revenue Schedule, which represents what has been earned. The two answer different questions and should not be expected to match. But if either is built incorrectly, downstream decisions are made on the wrong number.
What Revenue Schedule actually represents
Revenue Schedule entries are the period-by-period revenue recognition for each Order Product. For a 12-month subscription at $12,000, the Revenue Schedule has 12 monthly entries of $1,000 each, dated through the service period.
This data is the source of truth for several finance reports:
- Recognized revenue per month. Sum of Revenue Schedule entries dated in that month.
- Deferred revenue at month end. Sum of Revenue Schedule entries with dates after month end (i.e., not yet recognized).
- Revenue Waterfall. Time-series view of recognized revenue and pipeline-driven future revenue.
- ARR (Annual Recurring Revenue). Annualized run rate of currently active subscriptions.
Each of these can be calculated correctly from Revenue Schedule. None of them can be calculated correctly from Opportunity amounts alone, because Opportunity amounts include things that should not be in ARR (one-time fees, professional services) and exclude things that should (renewals that have not yet entered the pipeline).
Building the Revenue Waterfall
A Revenue Waterfall shows revenue movement over time: starting revenue, additions (new business, expansion, renewals), reductions (churn, downsell), ending revenue.
The data source: Revenue Schedule entries grouped by recognition month and categorized by source.
The categorization:
- New business. Revenue from Opportunities won in the current period for new customers.
- Expansion. Revenue from amendments adding scope to existing customers.
- Renewal. Revenue from contracts renewed in the current period.
- Churn. Revenue that was in the prior period but is not in the current period because the contract terminated.
- Downsell. Revenue reductions from amendments that decreased scope.
Each category requires a clear classification rule on the underlying Order or Asset. The classification needs to be consistent across periods or the waterfall numbers shift artificially.
Two common waterfall mistakes:
Renewal classified as new business. A 1-year contract renews. The renewal Order is a new Order, so the system classifies it as new business. ARR appears to grow more than it should. Renewal motion is not separated cleanly.
The fix: every Order has a type (New, Renewal, Amendment). The classification logic respects the type, not just the Order recency.
Churn invisible. A customer's contract ends. The Asset is terminated. The waterfall shows the prior period's revenue and the current period's revenue, but the gap is not labeled as churn. Looks like the customer just disappeared.
The fix: explicit churn tracking. When an Asset terminates without renewal, the revenue gap is logged as churn with the date and customer ID.
Building ARR correctly
ARR is the annualized run rate of currently active recurring revenue. The key word is recurring. Common confusions:
Total Contract Value (TCV) vs ARR. A 3-year contract for $300,000 has TCV $300,000 but ARR $100,000. Some dashboards confuse the two.
Bookings vs ARR. Bookings is what was sold this quarter. ARR is what is currently active. A $1M booking in Q1 contributes $1M to Q1 bookings but $250K to year-end ARR (if the contract is 4 years).
Revenue vs ARR. Revenue is what is recognized this period. ARR is the annualized projection of currently active recurring contracts. A new customer signing in December produces no Q4 revenue (service starts January) but adds to year-end ARR.
The correct ARR calculation: sum of all currently Active recurring Assets, annualized.
The query:
- Filter Asset Status = Active.
- Filter Asset Product Type = Recurring (e.g., Subscription, Maintenance).
- For each, annualize the per-period rate (monthly Asset x 12, quarterly Asset x 4).
- Sum.
Most ARR dashboards fail at one of these filters. Active is missing (terminated assets included). Recurring is missing (one-time fees included). Annualization is missing (per-period amounts summed without scaling).
Committed revenue and forecasted revenue
Two adjacent metrics:
Committed revenue. The future revenue already locked in by signed contracts. Sum of Revenue Schedule entries dated in future periods. Tells leadership how much revenue is guaranteed in the next quarter, year, etc.
Forecasted revenue. Committed revenue plus probabilistic estimates of pipeline that has not yet been signed. Used for forward planning.
Committed revenue is calculated from Revenue Schedule. Forecasted revenue layers Opportunity pipeline on top.
The CFO dashboard typically shows both. Investors are interested in committed revenue (high confidence). Operations is interested in forecasted revenue (planning basis).
Reconciling against the GL
The general ledger is the legal source of truth for recognized revenue. Revenue Schedule in Salesforce should reconcile to GL journal entries.
The reconciliation:
- For each month, sum Revenue Schedule entries with recognition date in that month.
- Compare to GL revenue posting for that month.
- Investigate any variance over a documented threshold (e.g., $1,000 or 1 percent).
Common variance causes:
- Manual GL adjustments that did not flow back to Salesforce.
- Salesforce revenue not posted to GL due to integration failure.
- Period cut-off differences (Salesforce records on activation, GL records on a different date).
The reconciliation is the discipline that keeps finance and operations aligned. Without it, the dashboards in Salesforce drift from the audited financials.
Common reporting mistakes
Five patterns Sapota has seen in revenue reporting audits:
- ARR from Opportunity rollup. Counts non-recurring revenue, double-counts renewals, ignores churn. Off by 20 to 50 percent.
- Revenue Waterfall without classification. Adds and subtracts happen but cannot be categorized. Cannot answer "where did the growth come from."
- No GL reconciliation. Salesforce and GL diverge over time. Audit findings.
- Multi-currency mishandled. Multi-region orgs report ARR in mixed currencies. Single-currency view requires consistent conversion logic.
- Renewal not classified properly. Renewals labeled as new business inflate growth metrics. Investors notice.
What good revenue reporting looks like
A Salesforce Revenue Cloud reporting setup that produces trustworthy numbers:
- ARR calculated from Active recurring Assets, annualized.
- Revenue Waterfall built from Revenue Schedule with explicit classification.
- Committed revenue surfaced separately from forecasted revenue.
- Multi-currency converted consistently to a reporting currency.
- Monthly GL reconciliation with documented variance investigation.
- Quarterly review of classification logic to catch drift.
Revenue reporting is one of the highest-visibility outputs of the Revenue Cloud implementation. The number on the CFO dashboard is the number leadership trusts. Building it from the right data source matters more than the visual polish of the dashboard. Sapota's Salesforce team designs the reporting layer as a finance-led deliverable with explicit reconciliation steps before any number reaches an executive.
Building accurate ARR and revenue reporting from Salesforce Revenue Cloud? Sapota's Salesforce team holds the Revenue Cloud Consultant credential and handles revenue reporting design on production engagements. Get in touch ->
See our full platform services for the stack we cover.







