ChartMogul has a great article which explains this in even more detail.
While each and every billing system is different and can lead to additional reasons why it may be different, here are some common reasons why MRR and other metrics may differ between ChartMogul and your billing system.
1. ChartMogul uses Invoices not Subscriptions
ChartMogul relies solely on invoices for calculating MRR. Which means that changes have had to already been billed in order for ChartMogul to know about them. Changing a subscription that does not lead to a document being created (like an Invoice or Credit Memo), ChartMogul will not know about the change.
It should also be noted that ChartMogul relies on service periods being included on invoices in order to derive meaningful metrics. So charges that are added via manual invoices will typically not be counted towards MRR as they usually exclude the necessary service period information.
The way ChartMogul calculates MRR based on prorated invoices may not add up exactly to what the renewal rate will be. Here is an article about how they calculate proration.
Also, some systems do not include time in their service periods, which can lead to a less precise calculation when the invoices are imported into ChartMogul.
3. Currency Differences
ChartMogul supports a single account currency and every invoice that gets imported into ChartMogul will be converted from the Invoice's currency to the account's currency. This can lead to some minor differences in MRR.
4. Churn Dates
Depending on your settings in Data Platform, ChartMogul may change the date in which a subscription actually churns regardless of what is in your billing system. By default, the churn setting is set to cancel at the period end of the most recent invoice. This means, if a customer churns halfway through a yearly subscription, the churn will not show until the end of the service period, even if it's partially or fully refunded. Changing the setting to recognize churn at the time of cancellation will then take whatever date the billing system provides as the cancellation date.
5. Leads vs Active Customers
You may notice that the active subscriber count differs from your billing system. A common difference is that ChartMogul does not treat customers who are in a trial or do not have invoices with amounts greater than 0 as subscribers. Even if there is a subscription tied to the customers, they will show as Leads in ChartMogul and the subscriptions will not appear under the subscriptions section.
6. Movement Counts
You may notice a higher count of movements in Expansions, Contractors, Churn, etc. These numbers do not represent the number of customers with movements, but rather the number of unique subscription items that are tracked in the billing system. For instance, if the customer subscribes to two different plans in your system and both have an expansion, you would see 2 entries in the expansion column for the customer. Likewise, if a new product is added and an old one is removed, you would see a contraction and an expansion event which would net out to an MRR change if there was one.