Why does data in ChartMogul differ from my billing system?

You may notice differences between the customers and metrics in your billing system and ChartMogul due to variations in how each system classifies customers and calculates metrics.

In this article, we explore these differences in-depth and provide resources to help you understand what may be happening with your data behind the scenes.

Read more about how we calculate individual metrics. For a more in-depth analysis, export customer and subscription metric data to CSV to compare them with data exported from your billing system.

Here’s what we cover in this article:

Resources and further reading:

Differences in MRR, customer status, customer count, and cash flow 

The MRR, customer status, customer count, or cash flow in your billing system may not always align with what you see in ChartMogul. These differences arise because ChartMogul can classify, process, or calculate data in ways that vary from your billing system. The most common causes are your ChartMogul general data settings, integration source settings, and ChartMogul’s data model.

Global data settings

Time zones

Differences in time zones between your billing system and ChartMogul can affect when MRR changes are reported. For example, if your billing system operates in Pacific Standard Time (PST) and your ChartMogul account is set to Australian Eastern Standard Time (AEST), an invoice issued late in the day in PST may appear as an MRR change on the following day in ChartMogul.

Churn recognition

ChartMogul recognizes churn as per your churn recognition setting. This may differ from how your billing system handles cancellations, which can lead to differences in MRR calculations.

Example

Let’s assume your ChartMogul account is currently set to recognize churn at the end of the final subscription service period.

In this case, ChartMogul keeps MRR active until the subscription’s service period ends, even if it’s canceled earlier in your billing system.

  • Use case - A customer purchases an annual subscription on June 1, 2024 and cancels in your billing system on August 16, 2024.
  • In ChartMogul - They remain active with MRR until June 1, 2025.
  • In your billing system - They churn immediately on August 16, 2024.

Changing the setting to recognize churn when a subscription is marked as canceled in the billing system would reflect churn on August 16, 2024.

Currencies

ChartMogul converts invoices billed in foreign currencies to your account’s primary currency. Read more about how we handle multiple currencies.

Integration source settings

Invoice handling

Your Invoice Handling Settings control when a customer’s subscription becomes Active in ChartMogul and, therefore, when the subscription starts contributing to MRR. The activation timing may not always match your billing system.

In addition, your configuration of the written-off, voided, uncollectible, or fully refunded invoice setting can create differences between the two systems.

 Screenshot of invoice handling settings, showing both automatic and manual collection methods.

Stripe and Chargebee sources have additional settings relating to the handling of pending invoice line items. Settings for manual collection handling are available for Stripe, Recurly, Google Sheets, third-party and custom sources.

Example

Let’s assume your ChartMogul invoice handling is set to create/update MRR when an invoice is fully paid.

  • Use case -  An enterprise customer starts an annual subscription on September 18, but doesn’t pay until October 1.

    How it works - Customers with open invoices don’t contribute to MRR until payment is received.

  • In ChartMogul - MRR is updated retroactively on October 1.
  • In your billing system - In most leading billing platforms such as Stripe, Recurly, and Chargebee, MRR is typically recognized at the moment a subscription is created, even if the invoice hasn’t been issued or paid yet.

Changing the setting to update MRR when the invoice is issued would start MRR on September 18. 

Data model 

One time payments

Some billing systems include one-time (i.e., non-recurring) payments when calculating MRR. ChartMogul does not include one-time payments when calculating MRR, as they are not recurring. View these payments in Non-Recurring Cash Flow.

Proration

ChartMogul calculates MRR from each subscription line item using a unique formula. This forms the basis of the MRR history of a subscription.

Discounts

ChartMogul deducts discounts before calculating MRR when this data is available.

Taxes

Depending on which integration you use, ChartMogul may include or exclude taxes in your MRR. Read more about how we handle Sales tax/VAT in ChartMogul.  

Customer status

The way customers are classified in your billing system may differ from how ChartMogul categorizes them based on subscription activity and the resulting subscriber status.

In ChartMogul, a customer status falls into four lead statuses or three subscriber statuses:

  • Active Subscriber: The customer has at least one paid or free subscription and no past-due subscriptions.
  • New Lead: The customer is on a free trial, has a 100% discount, or has only made one-time payments. Depending on your sales team’s workflow, a new lead may transition into a working, qualified, or unqualified lead.
  • Past-due Subscriber: The customer has overdue payments but still contributes to metrics.

We have updated the way ChartMogul recognizes past-due subscriptions and customers. The change is rolling out gradually to all accounts.

The new logic recognizes a subscription as past due if one of the following conditions is met:

  • There’s an open invoice (unpaid or partially paid) with a due date in the past.
  • The subscription hasn’t been renewed (meaning the last service period’s end is in the past).

Cash flow

Learn how ChartMogul calculates Net Cash Flow and Gross Cash Flow, including the treatment of refunds, one-time charges and credit card or transaction fees

Workflows 

Excluding customers from metrics

Customers that were excluded via this feature will still show up on your customer list as leads but will be excluded from your metrics. 

MRR data editing

ChartMogul enables you to merge customers, connect subscriptions and edit the MRR of a customer to help you clean any duplicate data or billing errors. 

Automations

When enabled, an automation can do things like auto merge duplicate customer records which may impact your customer count. You can identify such customers by filtering for the   merged-customer tag.

Manually added subscriptions

Subscriptions can be added manually to your account for data that may be invoiced outside of your billing system. 

Bulk editing customers from the customer list

The lead status and trial dates of customers can be changed in bulk directly from the customer list. 

Editing invoices, invoice line items, or transactions in your data source

Billing data can be added directly from within a source using data tables. 

Understanding differences between MRR and Revenue

MRR and revenue are closely related, but they measure different things:

  • MRR (Monthly Recurring Revenue): The predictable subscription revenue, normalized to a 30.45-day month.
  • Revenue: The actual income recorded in your books, either as cash received (cash basis) or earned income (accrual basis).

Example

Your company signs a customer to a $1,200 annual subscription in January.

  • MRR: You would record $100 MRR each month ($1,200 ÷ 12). This shows the predictable, recurring contribution of that customer to your subscription business.
  • Revenue: If you’re on an accrual basis, you’ll also record $100 in revenue each month. But if you’re on a cash basis and the customer pays the full $1,200 upfront, you’d record $1,200 revenue in January and $0 for the following months.

Using ChartMogul’s interface to identify import issues

Discrepancies between ChartMogul and your billing system may occur due to issues during data import.

For example, some data may be in an invalid format or use fields not supported by ChartMogul. These issues can arise in customer records, invoices, invoice line items, or transactions. An invalid input will show a ! in the impacted row with an error message. 

If you’re an Admin, you can identify such problems by selecting a source and looking for rows with the statuses Invalid input or Processing failed. You can also track items that are still being processed by checking the statuses Queued, Processing or Deleting.

Screenshot of the Customers tab in a Stripe source with the import status drop-down open. The options are: Invalid input, Queued, Processing, Processed, Processing failed and Deleting.

Using filters to audit your metrics

Filters are a powerful way to audit your subscription metrics in ChartMogul. They help you see how ChartMogul processes and interprets specific groups of customers. You can also combine multiple filters to drill deeper into your data. Below are some common ways to use filters:

Filtering by customer status

Use the Customer status filter to segment customers by their status in ChartMogul. Only customers with the status Active Subscriber or Past-due Subscriber contribute to Monthly Recurring Revenue (MRR).

Export customers with a specific status to a CSV file and compare it to data in your integration.

Filtering by customer

If your billing system shows a different MRR than ChartMogul, drill down by filtering to a single customer. Reviewing their subscription charts and MRR movements will help identify whether differences are due to billing frequency, missed payments, or one-time charges. 

Filtering by source

If you’ve connected multiple billing systems, the Source filter lets you compare how ChartMogul calculates analytics for each one. Keep in mind that billing systems can handle customers differently, which may lead to variations in how ChartMogul interprets them.

Filtering by Subscriber since

The Subscriber since filter allows you to focus on specific cohorts of customers based on when they first subscribed.

Filtering by tags or custom attributes

Using tags or custom attributes allows you to better understand the behavior and status of specific customer groups. Some tags are automatically added by ChartMogul to help you audit your data, such as auto-churned-delinquent-subscription , merged-customer,and deleted_customer_in_stripe tags. 

Auditing reports to get you started

These reports use some of the filters we discussed to help you identify customers with mismatched MRR to determine the root cause.  

Still need help? Contact Us Contact Us