Chargebee

Sync data from Chargebee to your warehouse destination via RudderStack.

danger
RudderStack’s Cloud Extract (ETL) product will be sunset on December 1, 2025. See this release note for more details.

Chargebee is a subscription billing and revenue management platform. It lets you streamline your revenue operations via features like subscription workflow automation, cutting-edge revenue reporting, and more.

This document guides you in setting up Chargebee as a source in RudderStack. Once configured, RudderStack automatically ingests your specified Chargebee data, which can then be routed to your RudderStack-supported data warehouse destination.

warning
All the Cloud Extract sources support sending data only to a data warehouse destination.

Getting started

To set up Chargebee as a source in RudderStack, follow these steps:

  1. Log into your RudderStack dashboard.
  2. Go to Sources > New source > Cloud Extract and select Chargebee from the list of sources.
  3. Assign a name to your source and click Next.

Connection settings

Enter the following connection credentials to authenticate your Chargebee account with RudderStack:

Chargebee connection settings
  • Site: Enter your Chargebee site name.
  • API Key: Enter your Chargebee API key.
  • Start Date: Enter the date from which RudderStack should import your historical Chargebee data.
  • Product Catalog: Select your Chargebee Product Catalog version from the dropdown.
warning
RudderStack does not support changing the Product Catalog version once you have successfully set up the source.

Destination settings

The following settings specify how RudderStack sends the data ingested from Chargebee to the connected warehouse destination:

  • Table prefix: RudderStack uses this prefix to create a table in your data warehouse and loads all your Chargebee data into it.
warning
Note that RudderStack does not add special characters like - or _ to the prefix by default. Hence, you need to specify it while setting the prefix.
  • Schedule Settings: RudderStack gives you three options to ingest the data from Chargebee:
    • Basic: Runs the syncs at the specified time interval.
    • CRON: Runs the syncs based on the user-defined CRON expression.
    • Manual: You are required to run the syncs manually.
info
For more information on the schedule types, refer to the Common Settings guide.

Selecting the data to import

You can choose the Chargebee data you want to ingest by selecting the required resources:

Selecting the data to import

The below table mentions the sync types supported by the Chargebee resources while syncing data to your warehouse destination, with id as the primary key for all:

ResourceSync type
couponIncremental
credit noteIncremental
customerIncremental
eventIncremental
invoiceIncremental
orderIncremental
subscriptionIncremental
transactionIncremental
addonIncremental
planIncremental
itemIncremental
item pricesIncremental
attached itemsSemi-incremental
info
For more information on the Semi-Incremental and Incremental sync modes, refer to the Common Settings guide.

FAQ

How do I obtain the Chargebee API key?

The Chargebee API key is required to authenticate your app and regulate its access to the Chargebee API. To obtain the API key, log into your Chargebee dashboard and go to Settings > Configure Chargebee > API Keys and Webhooks. Then, click the API Keys tab. Your API key should be listed here.

For more information, refer to the Chargebee documentation.

Is it possible to have multiple Cloud Extract sources writing to the same schema?

Yes, it is.

RudderStack associates a table prefix for every Cloud Extract source writing to a warehouse schema. This way, multiple Cloud Extract sources can write to the same schema with different table prefixes.

How does RudderStack count the events for Cloud Extract sources?

RudderStack counts the number of records returned by the source APIs when queried during each sync. It considers each record as an event.

How does RudderStack set the table name for the data sent via Cloud Extract sources?

RudderStack sets the table name for the resource you are syncing to the warehouse by adding rudder_ to the Table prefix you set while configuring your Cloud Extract source in the dashboard.

Cloud Extract table prefix

For example, if you set test_ as the Table prefix in the dashboard, RudderStack sets the table name as test_rudder_<resource_name>, where <resource_name> is the name of the resource you are syncing (for example, contacts, messages, etc.).

warning
Note that RudderStack does not add the character _ to the prefix by default. Hence, you need to specify it while setting the prefix.

Questions? Contact us by email or on Slack