1. Blog
  2. SaaS metrics

How ScaleXP calculates MRR and ARR from your invoices

How ScaleXP turns Xero and QuickBooks invoices into MRR, ARR and new, expansion, contraction, churn and reactivation, with a worked USD example.

Key takeaways

  • ScaleXP builds MRR from invoice lines in the ledger, spread by service start and end dates, not by the date the invoice was issued.
  • MRR is a full-month view: a starting month counts as a full month, and a partial final month is excluded.
  • ARR is MRR multiplied by 12, calculated for each month separately, from the same revenue accounts.
  • Movements are classified as new, upgraded, downgraded, lost or reactivated, using a "Lost after" and a "Reactivated before" setting on each report.
  • Booked ARR in a CRM records commitments when deals close, so it differs from invoice-based ARR by deals not yet invoiced, unrecorded churn and one-off items.

Short answer: ScaleXP calculates MRR from the invoices in Xero or QuickBooks Online. Each invoice line is spread across the months it covers, and MRR is the full-month recurring value of each customer in the revenue accounts you choose; ARR is MRR multiplied by 12. Each month's change is classified as new, upgraded (expansion), downgraded (contraction), lost (churn) or reactivated by fixed rules you can adjust.

This page sets out those rules, works through a USD example over three months, and explains why the ARR in your CRM and the ARR calculated from invoices can differ. It is written for finance teams, RevOps consultants and advisers who need to explain ScaleXP's numbers to a board, an investor or a client. The method described here comes from the ScaleXP help center, read on October 26, 2026.

Where the numbers come from: invoices in the ledger

ScaleXP imports invoices and credit notes from Xero or QuickBooks Online and spreads each invoice line across the months of service. It uses AI to read service start and end dates from the wording on Xero and QuickBooks invoices, and finance can set rules by account, by tier or by usage where the wording is not enough.

The same invoice data feeds four views on the Customers tab:

  • Revenue recognition: revenue in the period the service is provided, with partial first and last months.
  • MRR: a full month of recurring revenue per customer, used for metrics and dashboards.
  • ARR: MRR multiplied by 12.
  • IFRS / GAAP: like revenue recognition, except that revenue earned before the invoice month is booked in the invoice month. This is the view used for month-end journals.

Because every view starts from the same invoices, any MRR figure can be expanded to the customers and invoice lines behind it.

How MRR is calculated

MRR answers one question: what was the total recurring value of the customer base in a given month? Three rules shape the answer.

  • Service dates, not invoice dates. MRR allocates revenue by start and end dates (or the allocation rules you set) and does not depend on whether the invoice was issued before or after the start date.
  • Full months. A customer's first month counts as a full month even if service started mid-month. A final month that is only partly covered is excluded from both revenue and the customer count.
  • Recurring accounts only. The MRR report includes the revenue accounts you select. Set-up fees and other one-off items are excluded from MRR by account, and credit notes are netted off.

The report marked as the global default (the globe icon) drives MRR in every dashboard, metric and presentation, so changing its account filter changes MRR everywhere. Foreign-currency invoices are translated at the exchange rate your accounting system uses.

How ARR is calculated

ARR is MRR multiplied by 12, calculated for each month separately. The ARR report uses the same revenue allocation and currency rules as the MRR report. It has its own account filter, so keep the MRR and ARR reports on the same accounts. A different definition of ARR can be set up in the metric library if your board uses one.

How each movement is classified

Each month, ScaleXP compares every customer's MRR with the previous month and places the change in one category. The table below shows the rules from the help center and the usual SaaS names.

ScaleXP categoryUsual SaaS nameRuleAmount counted
NewNew MRRRevenue this month and none within the "Reactivated before" periodThe customer's MRR this month
UpgradedExpansionMRR higher than last monthThe increase
DowngradedContractionMRR lower than last month, still above nilThe decrease
Lost or churnedChurnNo revenue for the number of months set in "Lost after"Revenue in the last month with positive revenue
ReactivatedReactivationA lost customer with revenue again within the "Reactivated before" periodThe customer's MRR this month

Three settings control the edges:

  • Lost after sets how many months in a row without revenue make a customer lost, from 1 to 24.
  • Reactivated before sets how long a customer can be without revenue and still count as reactivated rather than new. The help center gives a default of 6 months; some accounts were set up with 24.
  • Change threshold: increases and decreases smaller than 0.50 in your currency are not counted as upgrades or downgrades. You can set your own threshold by value or by percentage, for example to ignore small exchange-rate movements.

A drop to nil or to a credit balance counts as lost, not downgraded. Customer counts follow the same rules: active customers this month equal last month's active customers plus new and reactivated customers, minus lost customers.

For definitions and formulas, see the library pages on monthly recurring revenue, expansion MRR, customer churn and revenue churn.

Worked example: three months of MRR from invoices

An illustrative company has four active customers at the end of September 2026 (A to D), with MRR of $3,500. Two more appear later. The MRR report is set with "Lost after" at one month and "Reactivated before" at six months.

  • Customer A: monthly invoices of $1,200 throughout.
  • Customer B: an annual invoice of $10,800 for October 2025 to September 2026, renewed with an annual invoice of $12,000 for October 2026 to September 2027.
  • Customer C: monthly invoices of $800, reduced to $500 from November.
  • Customer D: monthly invoices of $600, last invoice for October.
  • Customer E: new; an annual invoice of $6,000 for November 15, 2026 to November 14, 2027, plus a $2,000 set-up fee posted to a separate set-up fees account.
  • Customer F: last invoiced for July 2026, returns in December at $400 a month.

The table shows MRR by customer and the movement ScaleXP records each month.

CustomerOctoberNovemberDecember
A$1,200$1,200$1,200
B$1,000 (upgraded +$100)$1,000$1,000
C$800$500 (downgraded −$300)$500
D$600$0 (lost −$600)$0
E$0$500 (new +$500)$500
F$0$0$400 (reactivated +$400)
MRR$3,600$3,200$3,600
ARR (MRR × 12)$43,200$38,400$43,200

The figures are illustrative. Each month's bridge reconciles: November opens at $3,600, adds $500 new, subtracts $300 downgraded and $600 lost, and closes at $3,200. Four points in the example show the rules at work:

  • Customer B's annual invoice counts as $1,000 a month, so the renewal at a higher price is an upgrade of $100, not $12,000 of new revenue.
  • Customer E started on November 15 but counts at a full $500 in November, because the first month counts as a full month. The revenue recognition view shows only the part of November after the 15th.
  • Customer E's $2,000 set-up fee is outside MRR because its account is not in the MRR report.
  • Customer F returned five months after its last revenue, within the six-month setting, so it is reactivated rather than new.

Net revenue retention and gross revenue retention are then calculated from these movements; see gross and net revenue retention.

Why invoice-based ARR differs from booked ARR in the CRM

A CRM records commitments: ARR is usually a deal field entered by sales, or derived from the deal amount and term, and it counts from the close date. Invoice-based ARR records what is being billed and delivered. Both are useful, and they answer different questions. HubSpot's own contract reports make the same split between booked MRR and MRR that has become effective; see HubSpot Revenue Hub for SaaS finance. Continuing the example, suppose the CRM shows booked ARR of $55,200 at November 30.

ItemARRWhy it differs
Booked ARR in the CRM$55,200Sum of active closed-won deals
Less: customer G, closed on November 20, starts January 1−$9,600Booked, not yet invoiced or in service
Less: customer D, still marked active in the CRM−$7,200Churn not yet recorded by sales
Invoice-based ARR in ScaleXP$38,400November MRR of $3,200 × 12

Other common reconciling items are set-up fees included in a deal amount (the CRM's total contract value can include recurring and non-recurring revenue), discounts or credit notes recorded only in the ledger, and upgrades agreed in the ledger but not in the CRM. Neither figure is wrong; the reconciliation is the useful output, because each line is something sales or finance can act on.

Quick question

What’s most frustrating about reporting your SaaS metrics?

Choose as many as apply.

Please don’t include personal information. We read every answer.

Considering automating your SaaS metrics?
See it in a 30-minute demo.

How ScaleXP connects CRM bookings to invoice-based ARR

When HubSpot, Salesforce or Pipedrive is connected, ScaleXP links CRM deals to the invoices in the ledger, either when ScaleXP creates the invoice from the deal or through invoice matching, where finance confirms which invoice belongs to each closed-won deal. ScaleXP flags closed-won deals that have not been invoiced, or invoiced for a different amount, and reports bookings, billings and recognized revenue side by side.

Customers choose the data source for each SaaS metric (accounting data, CRM or both). Teams that want a forward-looking view can add future invoices and renewals from their contracts to a separate report, keeping it apart from issued-invoice MRR. See SaaS metrics and reporting software for the product view and annual recurring revenue for the definition.

Summary

ScaleXP's MRR is the full-month recurring value of each customer, built from invoice lines in Xero or QuickBooks Online and limited to the revenue accounts you choose; ARR is that figure multiplied by 12. New, upgraded, downgraded, lost and reactivated movements follow published rules that each report can adjust. CRM booked ARR answers a different question, and reconciling the two shows which deals are not yet billed and which customers have left.

Frequently asked questions

How does ScaleXP calculate MRR?

ScaleXP calculates MRR from invoice lines in Xero or QuickBooks Online, spread by service start and end dates rather than invoice dates. MRR is a full-month view: a customer's first month counts in full and a partial final month is excluded. Only the revenue accounts selected in the global MRR report are included, so one-off income stays out.

How is ARR calculated in ScaleXP?

ARR is MRR multiplied by 12, calculated for each month separately. The ARR report uses the same revenue allocation and currency rules as the MRR report, with its own account filter that should match the MRR report. If your board defines ARR differently, a separate definition can be set up in the metric library.

When does ScaleXP count a customer as churned?

A customer counts as lost, or churned, after a run of months with no revenue set by the report's "Lost after" setting, from 1 to 24 months. The lost amount is the customer's revenue in its last month with positive revenue. A drop to nil or to a credit balance is a loss, not a downgrade.

What is the difference between a new and a reactivated customer in ScaleXP?

A reactivated customer is one that was lost and has revenue again within the "Reactivated before" period, counted from its last month of revenue. The help center gives a default of six months. A customer returning after a longer gap counts as new. Reactivated customers add to active customers but are not counted as new.

Are set-up fees and credit notes included in MRR?

Set-up fees and other one-off items are excluded from MRR by account, and credit notes are netted off. Keeping recurring and one-time revenue in separate accounts in Xero or QuickBooks Online makes this a one-time choice in the MRR report's account filter, and new invoices then land in or out of MRR automatically.

Why is ARR in my CRM different from ARR calculated from invoices?

CRM ARR counts deals from the close date, while invoice-based ARR counts what is billed and in service. Deals closed but not yet started, churn not recorded in the CRM, set-up fees inside deal amounts and credit notes recorded only in the ledger all create differences. Reconciling the two lists the deals to bill and the records to correct.

Can I change how ScaleXP defines upgrades and downgrades?

Yes. By default, increases and decreases smaller than 0.50 in your currency are ignored. You can set your own threshold by value or by percentage, for example to stop small exchange-rate movements counting as upgrades or downgrades, from the Customers page menu.

Do I need a CRM for ScaleXP to calculate MRR and ARR?

No. Customers choose the data source for each SaaS metric (accounting data, CRM or both): some run every metric from Xero or QuickBooks Online alone, others rely more on CRM data, and connecting a CRM extends the metrics. Zoho Books customers run every metric from their accounting data. MRR and ARR on this page are calculated from accounting invoices.


Sources (ScaleXP help center, read October 26, 2026): How to show a full month view of revenue (as used for MRR); How to define and report on ARR by customer; Customer page summary reports and how they are calculated; New versus reactivated customers; How to add or remove accounts from MRR and ARR; Difference between revenue recognition and MRR; Revenue setup 1: Configure and validate revenue recognition.

How ScaleXP does this

ScaleXP calculates MRR, ARR, churn, retention and more from your CRM and accounting data, with no spreadsheets. See ScaleXP’s SaaS metrics