Revenue Hub play · Board-ready revenue

Contract Source of Truth in HubSpot: MRR from contracts, not deal amounts

Contract Source of Truth is the HubSpot Revenue Hub play that makes signed contracts the single source for MRR and ARR: the contracts object configured, active contracts backfilled from billing, renewal spreadsheets and legacy objects retired, and contract MRR reconciled against billing for a full cycle.

By Joe LaGrutta, founder of JayOh · HubSpot Platinum Partner · Updated October 23, 2026 · Part of the HubSpot Revenue Hub playbook

See it in HubSpotTalk to us about this play

The problem: Sales reports one number, finance another, and the board deck gets rebuilt in Excel every month.

STEP 1ConfigureContract properties, MRR rules and associations.
STEP 2BackfillActive contracts imported from the billing source.
STEP 3RetireSpreadsheets and legacy objects archived.
STEP 4ReconcileContract MRR vs. billed MRR, line by line.
STEP 5MeasureOne MRR number with zero variance.
Interactive walkthrough

See it in HubSpot, in 7 steps

How to read it: Follow a fictional book where sales says $66,667 of MRR and finance says $44,000: contracts backfilled, legacy sources retired, one under-billed upgrade found, and one number left: $48,000. The bar on top shows which part of the play you're on, and the orange boxes point at what matters on each screen.

Try it: run the import (step 3) and correct the billing variance (step 5). Use Next / Back or your arrow keys. Illustrative mockup with fictional customers.

How to run it

What JayOh builds, step by step

1

Configure the contracts object and its properties

Decide required properties (start, end, renewal date, billing frequency) and document how HubSpot calculates MRR and ARR from recurring line items, so one-time fees never inflate them.

Where
Settings > Data Management > Objects > Contracts
Watch for
Write the MRR definition in the property description.
2

Backfill active contracts from the current billing source

Create active contracts from the billing or subscription system through the Contracts API (beta) or the Direct Create contracts beta, map plans to catalog products, and check each against the signed agreement.

Where
Contracts API (beta) · Direct Create, Edit and Renew Contracts beta
Watch for
Where billing and the contract disagree, the signed contract wins.
3

Retire renewal spreadsheets and legacy custom objects

Archive the old renewal tracker, legacy subscription objects and manual MRR properties on a set cutover date.

Where
Settings > Objects
Watch for
Retiring a spreadsheet is a change-management job, not a settings job.
4

Reconcile contract MRR against billing for one full cycle

Compare contract MRR with billed MRR for every contract before anyone reports from contracts, and fix variances at the source.

Where
Reporting > Reconciliation report
Watch for
The reconciliation always finds money, usually an upgrade nobody billed.

What we measure

How you know it’s working

  • Variance between sales and finance MRR (target zero)
  • Hours spent on monthly revenue reporting
  • Contracts with complete data

What it needs

Before you start

  • Revenue Hub Professional
  • Access to the current billing or subscription data
  • 3–6 sprints to build

Pairs with

  • Board-Ready Revenue Pack: The MRR waterfall, NRR and GRR built on contract data.
  • Renewal Radar 90: Renewals driven off contract renewal dates.

Browse all 28 quote-to-cash plays in the HubSpot Revenue Hub playbook, or start with how to use HubSpot Revenue Hub.

FAQ

Contract Source of Truth in HubSpot: common questions

Why shouldn’t MRR come from deal amounts?

Deal amounts include one-time fees, contracts that haven’t started and customers who later churned. Contract MRR counts only recurring line items on active contracts.

How do we backfill contracts in HubSpot?

Create active contracts from the billing or subscription system through the Contracts API (beta) or the Direct Create contracts beta, map plans to catalog products, associate them to companies, and verify each against the signed agreement.

How long should we reconcile before reporting from contracts?

At least one full billing cycle, comparing contract MRR and billed MRR line by line and fixing each variance at the source.

What should we measure?

Variance between sales and finance MRR (target zero), hours spent on monthly revenue reporting, and the share of contracts with complete data.

Run this play with JayOh

We build it on your portal.

JayOh is a HubSpot Platinum Partner. A Growth Pod scopes the play against your portal, builds it in sprints and sets up the reporting so you can see it working.