“Why is my MRR in ChartMogul different from what I see in my billing system?”
We’ve been answering this question for years. It comes up weekly on sales calls, during onboarding, and in support conversations. And the answer often starts with another question: how should a particular billing event impact your metrics?
If a customer misses a payment, when should they count as churned? If they pause their subscription for two months, should their MRR drop to zero? Should a one-time discount reduce their MRR?
Calculating SaaS metrics requires decisions about all of these things. ChartMogul applies consistent rules to your billing data, with settings you can adjust to reflect how your business operates. Those rules won’t always match the ones your billing system uses, so the numbers can differ.
For years, our sales and support teams have walked customers through those differences manually. We’ve compared systems side by side, traced gaps back to individual customers, and explained the invoices and subscription events behind each calculation. It’s detailed work, but it helps people understand our approach and trust the metrics they’re using to run their business.
Today, we’re introducing MRRaudit, which puts that investigation into your hands.
Every difference, traced to the customer behind it
MRRaudit compares MRR in Stripe and ChartMogul, groups discrepancies by cause, and explains them in plain language. Each difference links back to the customer, invoices, and subscription events behind it, so you can inspect the reasoning yourself.
Consider a customer who upgrades to a $4,800 annual plan. Your team voids the automatically generated invoice and replaces it with a one-off invoice, which the customer pays.
Stripe still reports $400 in MRR based on the subscription. ChartMogul sees no recurring invoice and reports $0. The customer has paid, but the way that payment was recorded affects the calculation.
This is the kind of detail our teams have been uncovering manually. MRRaudit brings it into one view, alongside differences caused by refunds, discounts, failed payments, usage revenue, and subscription status.
How MRRaudit works
- Connect Stripe and ChartMogul. MRRaudit uses read-only access and never changes your source data. You can also audit your Stripe data without a ChartMogul account.
- Set your MRR rules. Tell MRRaudit how your business treats refunds, discounts, failed payments, and other events that affect MRR.
- Investigate the differences. Review missing customers, MRR mismatches, and subscription status differences, grouped by cause with explanations and supporting records.
- Choose the treatment that fits. Select the appropriate number for individual customers or a group of discrepancies, based on how your business reports.
Your billing has a history
Over the years, you’ve probably changed your pricing, made exceptions for customers, or moved them off legacy plans. Working out why two MRR numbers differ can mean digging through that history to find an invoice error, a timing difference, or a billing event the two systems treat differently.
For Lavender, answering a seemingly straightforward question meant rebuilding years of billing history. COO Elliott Fisher describes it this way:
“Our CEO asked a simple question: ‘What’s our ARR?’ None of us could answer with confidence. We had to rebuild four years of Stripe invoice history from scratch. With MRRaudit, we could have found the differences ourselves in a fraction of the time and shown exactly what was behind the number.”
We’ve seen how much confidence people gain when they can follow a calculation all the way back to what happened with a customer. MRRaudit makes that work easier to do yourself, whenever the question comes up.
You don’t need perfect data or a ChartMogul account to get started.