Importing subscription data into ChartMogul

Subscription Analytics is ChartMogul's suite of reports for tracking MRR, churn, and other recurring-revenue metrics. Before it can calculate anything, it needs your customer, plan, invoice, and cancellation data. If you use a supported billing system such as Stripe, Recurly, or Chargebee, ChartMogul imports this data automatically. If your billing system isn't supported, or you have data stored outside of it, you can import manually using the API, CSV, Google Sheets, or by adding data directly within ChartMogul. If you're on the Free plan and your MRR exceeds $10,000, ChartMogul will block you from adding new data sources, customers, or imports until you upgrade.

Here’s what we cover in this article:

Resources and further reading:

Before You Begin

Data you’ll need to import

To access Subscription Analytics, import your business' customers, plans, invoices (or subscriptions), and cancellations (as subscription events — records that tell ChartMogul when a subscription has ended). To access cash flow reports (reports that track payments and refunds over time), also import transactions.


If you use a billing system integration, ChartMogul automatically imports the data required for subscription analytics. Check your billing system’s integration guide for more details. 


If you don’t use a billing system integration (or have data stored outside this system), import data using a manual import method.


Here’s an overview of the data points you’ll need to import and how ChartMogul uses your data.

Dataset Description How ChartMogul uses the data
Customers Companies or consumers with a potential, current or past relationship with your business. ChartMogul creates customer records.
Plans The product/services you offer on a subscription (recurring) basis. ChartMogul generates subscriptions.
Invoices and invoice line items Details of the product/services you bill your customers on a recurring basis. Invoice data must include invoice line items.

ChartMogul generates subscriptions.

From there, it calculates all metrics and analytics (except for transaction reports, which require transaction data).

Transactions (payments and refunds) Attempted payments and refunds to invoices.

ChartMogul generates transaction reports.

Refunds contribute to cash flow metrics but don’t affect MRR by default. For Stripe and Chargebee, you can choose to remove MRR when an invoice is fully refunded; partial refunds never change MRR. Credit notes affect MRR only if you classify them as subscription revenue in your data settings.

Cancellations and pause/resume events Details of subscription state changes, including cancellations and pause/resume events. Subscriptions can remain active indefinitely — even after all payment attempts for an invoice have failed. Paused is a first-class subscription status in ChartMogul. ChartMogul relies on cancellation events to definitively know when a subscription has ended. Pause and resume events are also supported via the API and custom data sources, and are included in MRR calculations.
Contacts (optional) Personal and contact details of individuals with a current or past relationship with your business. ChartMogul stores contacts on customer records. Importing contacts is optional for generating metrics, but required to manage leads and customers in ChartMogul.
Manual subscriptions Details of a business’ subscriptions (no invoice data required). ChartMogul generates subscriptions. 

How to import data

The import method you choose depends on how you bill customers or track subscriptions — whether that’s a third-party system like Stripe or Recurly, a custom-built billing system, or a manual process. You may need more than one import method.

Each import method is added as a source — a container that groups your imported data so ChartMogul can calculate metrics accurately. Datasets from different billing systems or import methods must be in the same source to produce correct metrics. For example, if you mix invoice data from two sources, ChartMogul may double-count subscriptions.

Learn more about each import method:

How to import data using a billing system integration

ChartMogul has integrations with the following billing systems to import the datasets required to use subscription analytics. To learn how ChartMogul integrates with your billing system and how to import data, review its integration guide:

Add each billing system as a source. If your business has data stored outside of this system, review the options below to import data manually.

How to import data manually

Import data manually when your business doesn’t use an integration or you want to import additional data (such as historical data). 

The method you’ll use to import data manually depends on how your business stores data: using invoices or as subscriptions. Learn more about the differences.

Importing invoice data

If your business uses invoices to bill customers, use one of the following methods:

  • API — Integrate with any system and keep your ChartMogul metrics up-to-date automatically. Best method for businesses with developer resources.
    • Add data within ChartMogul — Manually add data using data tables. Import customers and contacts using flexible CSV import and upload remaining datasets using structured CSV import. You can also create and edit invoices directly using the invoice wizard, available from the Customer Profile, Data Sources, and Data Platform pages. Best method for businesses who want a non-technical method for importing customers, invoices, and transactions.


  • Google Sheets — Import customer, invoice and transaction data using our Google Sheets integration. Best method for businesses who use Google Workspace. 
  • Manual subscriptions — Businesses who have invoice data can use manual subscriptions to track subscriptions in ChartMogul. Best method for businesses who do not need to track refunds, prorated invoices, void invoices or subscriptions with multiple components in ChartMogul. This method is also useful for importing historical data.

Importing subscription data

If your business doesn’t use invoices, but instead keeps records of subscriptions, use:

  • Manual subscriptions – Track subscriptions and generate cash flow metrics. Best method for businesses who keep records of subscriptions instead of invoicing customers.

How to import data from multiple sources

Depending on the needs of your business, you may need to use more than one import method. You’ll add each method as a source.

For example, most of your customers pay for their subscriptions with Stripe but a handful use direct debit. In this case, you’ll create two sources: one Stripe source and one custom source. Or, you have historical data stored outside your billing system. In this case, you’ll create two sources: one custom source for the historical data and one source for your billing system.

What’s the difference between manual subscriptions and other import methods?

All import methods allow you to access subscription analytics and transaction reports. However, manual subscriptions generate subscriptions and transactions differently than other import manual methods (API, CSV, Google Sheets or adding data directly within ChartMogul).

For manual subscriptions, ChartMogul generates subscriptions and transactions using the details you add when creating a manual subscription. All other import methods are formatted to match our data model: ChartMogul uses invoice data to generate subscriptions and transaction data to generate transactions.

Manual subscriptions do not support refunds, prorated invoices, void invoices or subscriptions with multiple components. If your business needs to track these items in ChartMogul, import dating manually using API, CSV, Google Sheets or directly within ChartMogul.

Reviewing imported data

Data tables aren’t available for Braintree, Maxio or the previous version of our Recurly integration.

Once you've imported data, you can review it in ChartMogul's data tables. Go to :settings~gray: Settings > Data & Integrations > Sources, then select the source you want to view. Learn more about adding and editing data within ChartMogul.

Reviewing your metrics after importing data

Once you’ve connected your billing system(s) to ChartMogul and have imported data, we recommend reviewing your metrics.

Here’s a recommended checklist:

Metrics or data location Data to review
MRR, Paid Subscribers and Paid Subscriber Churn Rate Ensure the values displayed in ChartMogul are similar to any existing calculations you may have.
Navigate to MRR > Report Data, then select a cell to view the Activity table. Check that your existing subscription changes have been imported, as these changes generate MRR movements.
Customer records Check a few customer records to ensure their details, MRR and transactions are accurate and up-to-date.

If you find discrepancies after working through the checklist, here are some next steps:

Still need help? Contact Us Contact Us