Solutions

For B2B SaaS

SaaS revenue reporting: one MRR, reconciled to billing, CRM and usage

Explain every monthly movement in revenue and retention with definitions finance, sales and product all signed.

In a SaaS between 20 and 150 people, revenue lives in three systems: billing says one MRR, the CRM says another, the product shows accounts that pay but never log in. The monthly board pack is rebuilt by hand from all three. Neuravoid builds the model that ties contract, invoice and usage to the same customer, applies one definition of new, expansion, contraction and churn, and produces the revenue bridge every month. On BigQuery, dbt and Looker, remote, in writing, at a fixed scope.

You will recognise this

  • A new CFO, a RevOps hire or an investor wants MRR, NRR and churn they can trace to invoices
  • Billing (Stripe, Chargebee, Maxio or in-house), CRM (HubSpot, Salesforce) and product data disagree on who is a customer
  • Usage-based or multi-plan pricing makes expansion and contraction hard to classify
  • The monthly revenue review takes days in spreadsheets, and nobody is sure the churn number is right
  • A billing or CRM migration broke the history

The question we answer

Why did revenue and retention move this month, under definitions everyone shares, and how do those numbers tie to what was invoiced and collected?

A worked example

Synthetic figures, built to show the method. Not a client result.

March to April, one SaaSAccountsMRR
Opening MRR412$1,284,000
New+19+$58,000
Expansion+31+$44,000
Contraction−12−$17,000
Churn−9−$36,000
Reactivation+2+$5,000
Closing MRR431$1,338,000
Invoiced in April$1,402,000
Cash collected in April$1,296,000

What the model makes visible: the CRM reported 448 customers because 17 accounts are closed-won but never invoiced; billing counted 431. Invoiced exceeds MRR because annual plans are billed up front; cash lags by payment terms. All three are correct. The page shows the bridge between them instead of arguing about which one is right.

01

Definitions, signed

What a customer is, when MRR starts and stops, what counts as expansion, contraction, churn and reactivation, how annual plans and usage are normalised. Written and approved by finance, sales and product.

02

One customer model on BigQuery

Contracts, subscriptions, invoices, payments and usage joined on one customer key in dbt, with tests on the joins and a monthly check against the ledger.

03

The revenue review

MRR bridge, NRR, GRR, cohorts and usage-to-revenue in Looker or your BI tool, with every number drillable to the invoice and the account.

Sources we connect

  • Billing: Stripe, Chargebee, Maxio, Recurly, Zuora or an in-house ledger
  • CRM: HubSpot, Salesforce
  • Product usage: your application database, Segment, Amplitude or event exports
  • Accounting: QuickBooks, NetSuite, Xero
  • Customer success: Vitally, ChurnZero, Gainsight

How it runs, and what it costs

  1. 01

    Reliability diagnostic

    $4,500, fixed

    5 to 10 business days after access

    Five leadership metrics agreed, one month reconciled across billing, CRM and usage, the list of gaps with their causes, and an estimate of the build. No accounting treatment or revenue recognition opinion is promised.

  2. 02

    Build

    $15,000 to $25,000

    3 to 5 weeks

    The customer model, definitions in code, tests, the monthly revenue review in Looker or your BI tool, acceptance on agreed numbers, handover.

  3. 03

    Upkeep

    $3,500 to $6,500 a month

    16 to 32 reserved hours a month

    New plan, new pricing, a billing migration, a metric the board now wants: a written request queue with agreed response times. Cancel any month.

Prices exclude VAT and are invoiced from France, without VAT for clients outside the EU. The diagnostic is fixed. Build and upkeep are confirmed in writing after the diagnostic, within the ranges shown.

Not the right fit if

  • Stripe Billing or your subscription tool already answers every question you have, with one system of record
  • You want revenue recognition or an audit opinion: that is your accountant's job
  • You expect churn prediction without a reconciled history first
  • You need the work done in meetings or on site

Questions before you write

Stripe already shows MRR and churn. What is different?

Stripe shows Stripe. The work starts when the CRM, product usage and the ledger must agree with it under your rules: multi-currency, annual plans, usage components, manual invoices, accounts migrated from another tool. If Stripe is your only system of record, you may not need this, and the answer will say so.

We are not on BigQuery.

Few SaaS at this size are. Loading billing, CRM and product events into BigQuery is part of the build, with a managed connector or your own exports. The diagnostic works from exports.

Can you predict churn?

Not in this scope. A reconciled history is the prerequisite for any prediction; this work builds it. Prediction is a separate project, if the data supports it.

Who needs to be involved on our side?

One owner in finance or RevOps who answers in writing, read access or exports from billing, CRM and product data, and the ledger for the month we reconcile.

Everything in writing, really?

Yes. Brief, questions, deliverables and follow-up are written, with short video walkthroughs where a screen explains more than text. There are no calls to book, which is what keeps the scope and the price fixed.

Describe your reporting in three lines.

Your systems, the number you do not trust, the deadline. Written answer within one business day with the diagnostic scope and a fixed price.

Write to Neuravoid