The connector only reads data. It never creates, changes or deletes anything in ChartMogul.
Configuring ChartMogul as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the ChartMogul option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
The connector signs in with a ChartMogul API key. To create one, in ChartMogul open Profile > View Profile, choose API Keys in the sidebar and click Add API Key. A key with read-only access is enough. We recommend a dedicated key for Nekt, so you can revoke it without affecting other integrations. See ChartMogul’s guide to API keys. The following configurations are available:- API Key: The ChartMogul API key.
- Start Date: Earliest date to read for activities (activity date) and first day of the daily metrics. ChartMogul recalculates past activities and metrics whenever your billing data changes (an invoice imported late, a refund, a customer merge, a new billing source), so these streams are read again from this date on every sync. The other streams are always read in full.
2. Select streams
Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.- Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
- Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
- Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data, which is good if, for example, you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data, which is good if, for example, you don’t want to have deleted data in your catalog.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can define some additional settings:- Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
- Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.Streams and Fields
Available streams
The table below lists every stream, its slug (the exact identifier to pass when creating the source via API) and a short description.Amounts come in cents, as ChartMogul sends them: divide by 100 to get the value in the account currency (or, for invoices, in the invoice currency). Nested information (customer attributes, address, custom attributes, edit history, validation errors) comes as JSON text.
Fields by stream
Customers and subscriptions
Customers
Customers
Customers and leads of your ChartMogul account, with their current MRR and ARR and their lead, trial and subscriber statuses. Read in full on every sync.Table:
customers · Primary key: uuid · Sync: Full tableSubscriptions
Subscriptions
Subscriptions of every customer, with current MRR, ARR, plan, quantity and status. ChartMogul only lists subscriptions customer by customer, so this stream makes one request per customer. Read in full on every sync.Table:
subscriptions · Primary key: uuid · Sync: Full tablePlans and sources
Data Sources
Data Sources
Billing systems and custom imports that feed your ChartMogul account.Table:
data_sources · Primary key: uuid · Sync: Full tablePlans
Plans
Subscription plans of every source, with their billing interval.Table:
plans · Primary key: uuid · Sync: Full tablePlan Groups
Plan Groups
Plan groups (sets of plans reported together).Table:
plan_groups · Primary key: uuid · Sync: Full tablePlan Group Plans
Plan Group Plans
Which plans belong to each plan group: one row per plan group and plan.Table:
plan_group_plans · Primary key: plan_group_uuid, uuid · Sync: Full tableInvoices
Invoices
Invoices
Invoices imported into ChartMogul: the valid, enabled invoices that ChartMogul uses for its metrics. Line items and transactions are also available one per row in the next two streams.Table:
invoices · Primary key: uuid · Sync: Full tableInvoice Line Items
Invoice Line Items
Every line item of every invoice (subscription, one-time and trial charges), with amounts, discounts, taxes, fees and the service period.Table:
invoice_line_items · Primary key: uuid · Sync: Full tableInvoice Transactions
Invoice Transactions
Every payment and refund attempt of every invoice.Table:
invoice_transactions · Primary key: uuid · Sync: Full tableActivities and metrics
Activities
Activities
Every MRR movement of your account: new business, expansion, contraction, churn and reactivation, per customer. Read in full, from the Start Date, on every sync.Table:
activities · Primary key: uuid · Sync: Full tableKey Metrics (daily)
Key Metrics (daily)
All key metrics for every day since the Start Date: MRR, ARR, customer and net MRR churn rates, LTV, active customers, ASP and ARPA. Read in full, from the Start Date, on every sync.Table:
metrics_daily · Primary key: date · Sync: Full tableMRR Movements (daily)
MRR Movements (daily)
MRR for every day since the Start Date, broken down into new business, expansion, contraction, churn and reactivation. Read in full, from the Start Date, on every sync.Table:
mrr_movements_daily · Primary key: date · Sync: Full tableImplementation Notes
Data Quality Considerations
- Every stream is read in full on every sync. ChartMogul has no “changed since” filter for customers, plans or invoices, and it recalculates activities and metrics for past days, with no time limit, whenever your billing data changes. A full read is the only way to always match what ChartMogul shows: an invoice paid or refunded later, a customer that churned, an activity added months in the past or replaced after a recalculation, a corrected MRR value.
- A sync never loads half a stream: every stream is read completely before anything is loaded, so a sync that fails halfway leaves the previous table in place. If a stream that had records comes back completely empty, the sync stops instead of emptying the table (Plan Group Plans and Invoice Transactions excepted, as they can legitimately be empty). If ChartMogul leaves out a day in the middle of the daily metrics, the sync stops instead of saving a table with a missing day. Days before your account’s history starts, and today or yesterday when your ChartMogul time zone is behind UTC, are simply not in the table yet.
- Invoices: only valid, enabled invoices are read, the same ones ChartMogul uses for its metrics. Invoices with import errors or disabled in ChartMogul do not appear.
- Daily metrics follow your ChartMogul account’s time zone and include today, whose values change until the day ends. Every percentage change is relative to the previous day.
API Limits & Performance
- ChartMogul allows 40 requests per second. The connector sends at most 20 per second, one at a time, and waits when ChartMogul asks it to slow down.
- Lists are read in pages of 200 records.
- Subscriptions are only available customer by customer, so the Subscriptions stream makes one request per customer, one after the other. Expect roughly 35 to 50 minutes for 10,000 customers and several hours for 100,000. While it runs, the sync log shows how many customers were read and an estimate of the time left. For very large accounts (for example B2C, with hundreds of thousands of customers), deselect Subscriptions or schedule the source with long runs in mind: the Customers stream already has each customer’s current MRR and ARR.
- The daily metrics are read in blocks of 180 days, about 3 requests per year of history for each of the two metrics streams.
Troubleshooting
Skills for agents
Download ChartMogul skills file
ChartMogul connector documentation as plain markdown, for use in AI agent contexts.