Adding billing data manually

You’ll need to be an Admin or Owner in ChartMogul to add and manage sources. Read more about user roles and permissions.

To get accurate subscription metrics, add all your subscription data as sources in ChartMogul. Add billing data using a custom data source when:

Resources and further reading:

Here's what we cover in this article:

1. Navigate to Data Platform

Go to Data Platform.

2. Add a new custom data source

To create a new custom data source, go to Sources > ADD A SOURCE. Then, select Custom Source. Create a name and click Next.

You'll have a number of tables to manage each dataset:

      • Customers
      • Invoices
      • Invoice Line Items
      • Transactions
      • Subscription Events
      • Subscriptions
      • Plans

3. Add a customer

To add a new customer navigate to Customers > NEW CUSTOMER.

Enter a unique Customer ID. Complete optional fields such as Company Name and Country. Once complete, click the green checkmark   to save.

The fields in the customer table and their supported values are summarized in the table below. Include data in optional fields for better segmentation.
Column Name Description Field Type Value
Company Name Add a company name when the customer is a business and not an individual. To add an individual customer, leave this field blank and add a contact. Not required

1. Can have alphanumeric and special characters.

2. Should not exceed 255 characters.

Customer ID A unique identifier for this customer — typically the customer ID from your billing system. Value is permanent and cannot be changed. Required

1. Should be unique.

2. Can have alphanumeric and special characters.

3. Should be at least one and no more than 255 characters.

Full name (legacy) On April 4, 2023 we released ChartMogul CRM. The contact name field on customer records will be phased out as it’s now possible to add Contacts (each with their own name) to your customer records. Use the Company Name field to store the customer/account name, and add Contact records for people associated with a customer account. When adding B2C (consumer) customers leave the Company Name field blank and add a single contact to the customer record. If (like many ChartMogul users) you’ve been storing company names in this column please contact support. Not required

1. Can have alphanumeric and special characters.

2. Should not exceed 255 characters.

Email (legacy) On April 4, 2023 we released ChartMogul CRM and this field will eventually be phased out. You can now add Contacts (each with their own email address) to your customer records. Not required Should be a valid email address.
Country The customer's country. Not required Choose the country from the drop-down.
State The customer's state in the US. Not required Choose the state from the drop-down.
City The customer's city. Not required

1. Can have alphanumeric and special characters.

2. Should not exceed 255 characters.

Zip The customer's postal code. Not required

1. Can have alphanumeric and special characters.

2. Should not exceed 255 characters.

Lead created at The date and time when the lead was created. We use this information to generate lead volume reports. Not required

Choose the date from the drop-down or enter the date and time manually in the ISO 8601 format.

If not set, the time defaults to midnight.

Free trial started at The date and time when the free trial started. We use this information to generate reports of your free trials and trial-to-paid conversions. Not required

Choose the date from the drop-down or enter the date and time manually in the ISO 8601 format.

If not set, the time defaults to midnight.

Default sorting for table rows is by time created, which is not visible. This may be different from the order in which you uploaded the data.

4. Add contacts

To add a new contact, navigate to Contacts > NEW CONTACT.

Column Name Description Field Type Value
Customer Customer associated with the contact. Required

Choose the customer from the drop-down.

First Name The contact’s first name. Not required

1. Can have alphanumeric and special characters.

2. Should not exceed 255 characters.

Last Name The contact's last name. Not required

1. Can have alphanumeric and special characters.

2. Should not exceed 255 characters.

Title The contact’s job title, e.g., CEO. Not required

1. Can have alphanumeric and special characters.

2. Should not exceed 255 characters.

Email Email address for this contact. Not required

1. Should follow the email format.

2. Can have alphanumeric and special characters.

3. Should not exceed 255 characters.

4. Must be unique within the customer record.

Phone Phone number for this contact. Not required

1. Can have alphanumeric and special characters.

2. Should not exceed 255 characters.

LinkedIn URL for the contact’s LinkedIn profile. Not required

1. Can have alphanumeric and special characters.

2. Should not exceed 255 characters.

3. Must end in a domain name (.com, .co.uk, etc) to generate a hyperlink.

Twitter URL for the contact’s Twitter profile. Not required

1. Can have alphanumeric and special characters.

2. Should not exceed 255 characters.

3. Must end in a domain name (.com, .co.uk, etc) to generate a hyperlink.

Note Additional details you wish you add to the customer record. Not required

1. Can have alphanumeric and special characters.

2. Should not exceed 255 characters.

5. Add a plan

To create a new subscription plan, navigate to Plans > NEW PLAN.

Enter a Name, a unique Plan ID, Interval Count and Interval Unit. Once complete, click the green checkmark   to save.

ChartMogul only accepts day, month, or year as valid interval units for a plan. The interval count should be a positive integer greater than zero. To understand interval unit and interval count, here are some examples:

      • For a weekly plan, choose day as the interval unit and set the interval count to 7.
      • For a quarterly plan, please choose month as the interval and set the interval count to 3.
      • For a yearly plan, please choose month as the interval unit and set the interval count to 12. Alternatively, choose year as the interval unit and set the interval count to 1.

Once the plan details are submitted successfully, a plan UUID is automatically generated.

6. Add an invoice

Invoices with at least one corresponding invoice line item are used to generate subscriptions and MRR movements in ChartMogul.

To create a new invoice, navigate to Invoices > NEW INVOICE. Add the invoice details in the new row and once complete, click the green checkmark   to save.

Immediately after creating a new invoice, ChartMogul will categorize the Import Status as Failed. ChartMogul categorizes an invoice as Processed when invoice line items are successfully added. Learn more.

Screenshot_2021-06-16_at_12.54.34.png
The fields in the invoices table and their supported values are summarized in the table below.
Column Name Description Field Type Value
Customer Customer name for whom we want to add an invoice. Required Choose the customer name from the drop-down.
Invoice ID A unique identifier for the invoice. This is typically the invoice number in your billing system. Required

1. Should be unique.

2. Can have alphanumeric and special characters.

3. Should be at least one and no more than 255 characters.

Invoice date The date and time when the invoice was raised. Required

Choose the invoice date from the drop-down or enter the date and time manually in the ISO 8601 format.

If not set, the time defaults to midnight.

Due date

The date and time by which the invoice needs to be paid. Not Required

Choose the due date from the drop-down or enter the date and time manually in the ISO 8601 format.

If not set, the time defaults to midnight.

Currency The three-letter ISO code of the currency in which the invoice is billed. Required

Choose the currency from the drop-down.

7. Add invoice line items

Invoice line items and their corresponding invoices are used to generate subscriptions and MRR movements in ChartMogul. For an invoice to be processed properly it must have at least one line item.

To add a new invoice line item to an existing invoice, navigate to Invoice Line Items > NEW INVOICE LINE ITEM. Add the invoice line item data in the new row and once complete, click the green checkmark   to save.

Learn more about how invoice line items impact ChartMogul.

The fields in the invoice line items table and their supported values are summarized in the table below.

Column name Description Field type Value
Invoice A unique identifier for the invoice. This is typically the invoice number in your billing system. Required Choose the invoice id from the drop-down.
Type Choose if it is a one-time (non-recurring) item or a subscription. Required Choose Non-recurring or Subscription from the drop-down.
Amount The final amount charged towards the invoice line item. Required Should be a number and can have up to two decimal places.
Subscription ID A unique identifier for the subscription. This is typically the subscription ID in your billing system. Required

1. Can have alphanumeric and special characters.

2. Should be at least one and no more than 255 characters.

Subscription Set ID Identifier for subscriptions with multiple components. Not required

1. Can have alphanumeric and special characters.

2. Should not exceed 255 characters.

Service Period Start The date and time when the subscription starts. Required for subscriptions

Choose the date from the drop-down or enter the date and time manually in the ISO 8601 format.

If not set, the time defaults to midnight.

Service Period End The date and time when the subscription ends. Required for subscriptions

Choose the date from the drop-down or enter the date and time manually in the ISO 8601 format.

If not set, the time defaults to midnight.

Prorated? Specifies whether this is a prorated line item. Required for subscriptions Choose Yes or No from the drop-down.
Proration Type Type of prorated charge. Learn about different proration types. Not required

Choose Differential, Full, or Differential MRR from the drop-down.

If not selected, this defaults to Differential.

Plan Plan for this subscription. Required for subscriptions Choose the plan from the drop-down.
Quantity Subscription quantity for this line item. Not required

Should be a non-zero integer.

Defaults to 1 if not provided.

Transaction Fees Amount paid to your billing system and/or payment processor for this particular invoice line item. Not required Should be a number and can have up to two decimal places.
Tax Amount Tax amount is the amount of tax applied to this invoice line item. Not required Should be a number and can have up to two decimal places.
Discount Code Reference code for the discount. Not required

1. Can have alphanumeric and special characters.

2. Should not exceed 64 characters.

Discount Amount The amount discounted when a discount is applied to this invoice line item. Not required Should be a number and can have up to two decimal places.
Discount Description Description of the discount. Not required Should be a text string.
Line Item ID Unique identifier for the invoice line item. Not required

1. Should be unique for this data source.

2. Can have alphanumeric and special characters.

3. Should not exceed 255 characters.

Event Order Specifies the order of processing line items with the same service period start date. Learn more. Not required Should be an integer.
Balance Transfer Indicates that the amount should be credited to or debited from the customer’s balance. Positive values represent credit added to the customer’s account. Negative values represent credit used as payment. This applies only to non-recurring line items. Not required Choose False or True from the drop-down.

ChartMogul recognizes three proration types:

  • Differential — The amount and quantity from this prorated line item are added to the previously calculated MRR and subscription quantity.
  • Full — This prorated line item is treated as a new starting point for the subscription. As such, the amount and quantity from this line item are not added to the previously calculated MRR and subscription quantity.
  • Differential MRR — The amount from this prorated line item behaves like differential proration, which means it is added to the previously calculated MRR. The quantity from this prorated line item behaves like full proration, which means it is not added to the previously calculated subscription quantity.

The Event Order value controls the order in which line items are processed.

If two line items have the same service period start date, the line item with the Event Order value of “1” is processed before the line item with the Event Order value of “2”. If this value is not set, ChartMogul processes the line items in the order they were created.

8. Add transactions

Transactions represent the payment or refund attempts related to an invoice. Transactions generally do not impact subscription analytics or MRR movements, but they do determine cash flow metrics and revenue recognition schedules.

For some billing systems, transactions can affect subscription analytics and MRR movements depending on the Invoiced Customer Handling and Refund Handling settings.

To create a new transaction, navigate to Transactions > NEW TRANSACTION. Add the transaction details in the new row and click the green checkmark   to save. Include failed transaction attempts to report on Failed Transactions.

9. Add subscription events

Add a new subscription event by navigating to Subscription Events > NEW SUBSCRIPTION EVENT.

Column name Description Field type Value
Customer Customer associated with the subscription. Required Choose the customer from the drop-down.
Subscription ID A unique identifier for the subscription. Typically the subscription ID in your billing system. Required

1. Can have alphanumeric and special characters.

2. Should be at least one and no more than 255 characters.

Subscription Set ID Identifier for subscriptions with multiple components. Not required

1. Can have alphanumeric and special characters.

2. Should not exceed 255 characters.

Event ID A unique identifier for the event, typically provided by your billing system. Not required

1. Should be unique for this data source.

2. Can have alphanumeric and special characters.

3. Should not exceed 255 characters.

Subscription Event Type The change in a subscription is classified as an event type. Required

Choose the event type from the drop-down.

Retracted Event ID The Event ID of the subscription event being retracted. Required when the subscription event type is Retracted

1. Should be unique for this data source.

2. Can have alphanumeric and special characters.

3. Should be at least one and no more than 255 characters.

Event Date The date and time when the subscription change was requested or triggered. Required

Choose the date from the drop-down or enter the date and time manually in the ISO 8601 format.

If not set, the time defaults to midnight.

Effective Date The date and time when the subscription change will be implemented. Required

Choose the date from the drop-down or enter the date and time manually in the ISO 8601 format.

If not set, the time defaults to midnight.

Plan A unique identifier for this plan, typically provided by your billing system. Required

Choose the plan from the drop-down.

Currency The three-letter ISO code of the invoice’s currency. Required

Choose the currency from the drop-down.

Amount The final amount billed, for the specified quantity, after discounts, taxes and fees have been applied. Required

Should be a number and can have up to two decimal places.

Tax Amount Tax applied to a subscription event. Defaults to zero. If specified, tax is excluded from CMRR. Not required

Should be a number and can have up to two decimal places.

Quantity Quantity of subscription events being billed. Can be any non-zero integer. Defaults to one. Quantity value does not impact CMRR. Not required

Should be a non-zero integer.

10. View subscriptions

View existing subscription details for each customer from the Subscriptions tab.

View a list of existing subscriptions for each customer. Cancel a subscription by clicking CANCEL SUBSCRIPTION.

11. Understanding how line items and transactions impact different aspects in ChartMogul

Invoice line items are the key component of how ChartMogul processes recurring and non-recurring billing information and calculates MRR:

  • Amount — The amount billed for a subscription is the primary component used to calculate MRR.
  • Plans — With monthly plans, MRR is simply the subscription price paid each month. If customers are paying for plans in longer billing intervals (e.g. one year) ChartMogul simply divides the amount paid for the subscription by the number of months in the subscription period.
  • Discounts — ChartMogul assumes discounts have already been deducted from the specified Amount value. If Discount Amount is specified, it doesn’t impact MRR, but enables a more detailed analysis.
  • Taxes — Taxes must be excluded from the calculation of MRR. If specified, Tax Amount is used to deduct the tax prior to the calculation of MRR.
  • Quantity — Subscription quantity does not factor into the calculation of MRR. If specified, quantity is used to generate the Subscription Quantity and Quantity Churn Rate charts.
  • Prorated — Prorated items in invoices must be explicitly identified for ChartMogul to calculate their contribution to MRR correctly. If specified as Yes the Prorated attribute impacts the calculation of MRR. Learn more about adding pro-rated invoices.
  • Transaction Fees — By default, transaction fees are not deducted from MRR. For custom data sources, you can control this behavior with the Transaction fee handling setting.
  • One-time payments are excluded from MRR.

Below are some basic scenarios and how to define line items for each of them. Learn more about advanced scenarios and how to add them.

Scenario 1: Subscribe a customer to a plan — Monthly

      • Your customer Wayne Enterprises buys a license of your monthly bronze plan for the month of October starting from October 1st, 2023
      • Your monthly bronze plan is $100
      • In this case, MRR = $100

Add these details as an invoice line item:

Line Item Value
Invoice JL_FG_13400001 (Wayne Enterprises)
Subscription ID jl_subid_01
Type Subscription
Prorated No
Service period start 2023-10-01
Service period end 2023-11-01
Amount $100
Plan JL Bronze Plan Monthly (jlbronzemonthly)
Quantity 1

Scenario 2: Subscribe a customer to a plan — Annual

      • Your customer Daily Metropolis buys an annual bronze plan starting from Dec 1st, 2023
      • Your annual bronze plan is $1050 that includes a tax of $50
      • You have also provided a discount of $200 on the total purchase amount
      • The transaction fee is $40
      • MRR = [Amount charged — Tax amount] / Plan duration in months
      • In this case MRR = [$850 — $50]/ 12 = $66.67

Add these details as an invoice line item:

Line Item Value
Invoice JL_FG_13400002 (Daily Metropolis)
Subscription ID jl_subid_02
Type Subscription
Prorated No
Service period start 2023-12-01
Service period end 2024-12-01
Amount $850
Transaction fees $40
Plan JL Bronze Plan Annual (jlbronzeannual)
Quantity 1
Discount amount $200
Tax amount $50

Scenario 3: Renew an existing subscription

Ensure that the Subscription ID does not change during a renewal.
      • Your customer Wayne Enterprises is currently on a monthly bronze plan with a charge of $100 per month for the month of October, starting 1st of October, 2023
      • At the start of the new month 1st of November, the customer has renewed their existing subscription
      • In this case, MRR will remain $100

Ddd these details as an invoice line item:

Line Item Value
Invoice JL_FG_13400004 (Wayne Enterprises)
Subscription ID jl_subid_01
Type Subscription
Prorated No
Service period start 2023-11-01
Service period end 2023-12-01
Amount $100
Plan JL Bronze Plan Monthly (jlbronzemonthly)
Quantity 1

12. Edit existing data

Data can be edited directly in the tables in the data source. Click   to edit data and click the green checkmark   to submit your changes.

Some fields, such as the Customer ID, are permanent and cannot be changed.

Was this article helpful?

We’re sorry to hear that. Would you like to share more feedback?


Thanks for your feedback!