HubSpot

Why your HubSpot dashboards and your finance numbers never match

Posted 29 Oct, 2026 by

HubSpot reports what was sold. Finance reports what was earned. Those are different numbers measured on different dates, and no amount of dashboard tuning will make them agree until the deal record carries the fields finance works from. Five mismatches cause almost all of the gap, and all five are fixable in the portal you already have.

The gap usually surfaces during board prep. The closed-won dashboard says one figure for the quarter, the management accounts say another, and the founder spends twenty minutes explaining a difference nobody fully owns. The reflex is to rebuild the report. The report is rarely the problem.

Deal amount is a bookings number. It will never be a revenue number. Once a team accepts that, the work stops being dashboard tuning and starts being data design.

 

Why does HubSpot closed-won revenue differ from recognised revenue?

Because deal amount is a single figure captured at close, while recognised revenue is spread across the contract term from the service start date, in the billing currency, net of adjustments. Five specific mismatches account for almost all of the difference.

The first is close date against contract start

A deal closed on 28 March for a service starting 1 May sits in Q1 for HubSpot and Q2 for finance. HubSpot’s line item revenue report, under Sales, Forecast and revenue, is the one native report built on the finance view of timing, because it places revenue by the billing start date on each line item rather than the deal close date. It requires Sales Hub Professional or Enterprise.

The second is amount against term

A 24-month deal at £2,000 a month shows £48,000 in HubSpot the day it closes and £2,000 a month in the accounts. Which figure lands in Amount is a setting rather than a given. Under Settings, Objects, Deals, the Default deal amount option decides whether Amount calculates as total contract value, annual contract value, annual recurring revenue, monthly recurring revenue or manual entry. Most portals have never had that conversation out loud.

The third is one-off against recurring

Implementation fees, onboarding and hardware sit inside deal amount alongside subscription value, so any ARR report built on Amount is inflated by work finance recognises once.

The fourth is currency

Deals entered in USD on a GBP portal convert at the rate held in your account currency settings, which stays fixed until someone changes it. Finance converts using a pre-agreed FX rate, at month end or invoice date. The conversions are all correct in their own way, but none of them right.

The fifth is post-close editing

Reps change amounts, split deals and re-close them after finance has booked the original. Nothing in HubSpot prevents this by default.

Most portals are running three of the five at once. The fastest way to find out which is to take last quarter’s closed-won list, sit it next to the management accounts, and tag every line with the mismatch causing it. The pattern shows up inside an hour.

 

Which HubSpot properties should carry the finance view?

The properties finance needs already exist on the deal object when line items are used properly. The job is to populate them rather than invent parallel ones.

Use line items for every product on every deal, with billing frequency, term length and billing start date set on each line. HubSpot then calculates Annual recurring revenue, Monthly recurring revenue, Annual contract value and Total contract value as native deal properties, and it separates recurring value from one-off charges without anyone maintaining a formula. A deal amount typed in by hand gives you none of that. Portals that grow field by field end up with no report agreeing with any other report, which is the wider version of this problem.

Add a Contract start date property where billing start on the line items is not detailed enough for your reporting, and a Renewal date so the renewal pipeline builds itself from a field rather than a reminder. Set deal currency at deal level, report in the portal’s company currency, and write down which rate applies where so the variance is explained before anyone has to ask.

One tier check before you design around it. ARR, MRR, ACV and TCV calculate from line items on any Sales Hub tier. Recurring revenue amount and Recurring revenue deal type, which hold the new, upgrade and downgrade classification on the deal itself, are Sales Hub Enterprise. On Professional you build the same classification with a custom property and a workflow.

 

How do you stop deal amounts changing after finance has booked them?

Lock the record at closed won and make every amendment visible on its own record.

Build a deal-based workflow with the enrolment trigger Deal stage is Closed won, copying Amount, ARR and Close date into a matching set of Booked properties. Restrict edit access to those properties through permission sets so an ops admin holds them. If a deal needs to change after close, it becomes a new deal or an amendment with its own record, never a silent edit to a number finance has recognised.

That single control removes most of the unexplained variance in a monthly reconciliation. The figure HubSpot reported in March is still the figure HubSpot reports in June.

 

How should expansion, renewals and churn be modelled?

As deals in their own pipelines, with a deal type saying what each one is, so a renewal never shares a bar with a new logo.

New business goes in the sales pipeline with deal type New Business. Upsell and cross-sell go in an expansion pipeline carrying the incremental ARR only. Renewals go in a renewal pipeline created from the Renewal date, with the full renewing ARR and a closed-lost reason capturing why churn happened. A downgrade is a renewal deal at a lower amount, and the delta is your contraction.

Build it that way and gross and net retention come out of HubSpot without a spreadsheet. Portals modelling everything as one deal type in one pipeline have no way to separate a renewal from a new logo, which is why their ARR chart looks nothing like the management accounts. We have written about the three reasons NRR comes out wrong in HubSpot and the build that fixes each one.

 

When should contracts and billing move into HubSpot?

When the reconciliation is taking more than a couple of hours a month, and when the business has decided HubSpot is the system of record for customer revenue.

Revenue Hub’s contracts object holds the contract itself, with effective dates, term end dates, and ACV, ARR, MRR and TCV calculated from the contract’s line items. Accepted renewal quotes create the next deal in the pipeline. The case for holding the contract in HubSpot is stronger than it was two years ago.

It remains a significant decision. It depends on how invoicing, payments and accounting are wired today, and on whether the single source of truth for revenue is going to be HubSpot or the finance stack. That is a governance decision before it is a tooling one. Until it is made, the line item discipline above gets you most of the way.

 

What should the monthly reconciliation look like?

A single report of closed-won deals in the period showing booked ARR, contract start, term and currency, sent to finance, with every variance tagged to one of the five mismatches.

Give it an owner and a date. A named person in ops produces it on working day three, finance replies with the recognised figure, and anything unexplained goes on a list that should shrink month by month. Once the properties, pipelines and locks are in place, that list is short and repeatable, and board prep stops opening with an argument about whose number is right.

Forecast accuracy improves on the same foundation. A forecast measured against a figure finance recognises is one the board acts on, and what good forecast accuracy looks like is a separate piece of work built on the same properties.

If your closed-won dashboard and your management accounts disagree every month and nobody owns the reconciliation, start with a Revenue Operations Audit. We map which of the five mismatches are running in your portal, name the properties and pipelines missing, and hand back the build order. Send us the last three months of closed-won deals and we will start there.

 

Get a RevOps Audit

 

FAQs

Usually because the ARR report is built on deal amount rather than line items. Deal amount is a single figure captured at close and often includes one-off charges like implementation and onboarding. HubSpot’s native Annual recurring revenue property calculates from recurring line items and their term length, which is closer to how finance recognises revenue. If your deals carry hand-typed amounts and no line items, the ARR property has nothing to calculate from.
That is a setting, and it should be a deliberate decision. Under Settings, Objects, Deals, Default deal amount lets you calculate Amount as total contract value, annual contract value, annual recurring revenue, monthly recurring revenue or manual entry. Pick the one matching how your business talks about a sale, write it down, and make sure sales and finance both know which one is in use. The common failure is reps typing amounts while line items exist, leaving two competing numbers on the same record.
Put renewals in their own pipeline, created from a Renewal date property on the original deal, carrying the full renewing ARR. Put upsell and cross-sell in an expansion pipeline carrying incremental ARR only. Set a closed-lost reason on the renewal pipeline to capture churn, and treat a downgrade as a renewal deal at a lower amount so the delta is your contraction. With that structure, gross and net retention report natively from deal data.