Chargebee to Amazon Redshift: How to Move Your Data

Move Chargebee into Amazon Redshift with Airbyte. Why the Product Catalog version silently skips streams, the S3 staging requirement, and empty columns.

Summarize with AI:

Moving Chargebee into Amazon Redshift puts subscription billing next to everything that explains it. Chargebee knows what was invoiced, renewed and churned, and nothing about what those customers cost to acquire, how much support they needed, or whether they used the product they are paying for.

Two things shape this build. One configuration field decides which streams you get and its default is wrong for older accounts, and Redshift cannot be loaded without a staging bucket, which adds an AWS prerequisite to a billing pipeline.

Chargebee to Amazon Redshift at a glance:

CapabilitySupportedWhat it means for this pipeline
Product Catalog versionRequired settingIt decides which streams exist, and defaults to 2.0
Version mismatchSkipped, not failedThe stream is logged and passed over quietly
Shared streamsBoth versionsSubscription and Coupon carry columns you cannot use
Loading methodS3 staging plus COPYRequired, so a staging bucket is a prerequisite
Schemas writtenTwoYour target schema plus a raw schema Airbyte manages

Why move data from Chargebee to Amazon Redshift?

Two situations account for most of these pipelines.

The first is subscription metrics your finance team will stand behind. Recurring revenue, expansion, contraction and churn are definitions people argue about, and settling them once in a warehouse beats three teams each computing retention from a different export.

The second is joining billing to the rest of an AWS estate. If your product events, support data and cost reports already live there, bringing subscription records across puts everything in reach of one set of queries rather than an export somebody emails around.

What do you need before you start?

One item is the whole article, and one is an AWS prerequisite you cannot skip:

Your Product Catalog version, confirmed rather than assumed. Sites created before 5 May 2021 use Product Catalog 1.0 and sites created on or after it use 2.0. You can check in the Chargebee API documentation under the API Version section. The Chargebee source documentation covers the setup.

A read-only API key and your site name. Generated under Settings, Configure Chargebee and then API Keys. The site name is the subdomain of your account URL, so an account at acme.chargebee.com has a site name of acme rather than the full address.

An S3 staging bucket and IAM permissions. The Redshift destination writes data to S3 as files with a manifest, then issues a COPY command, which is Redshift's own recommended approach. You need put, get, delete and list on the bucket, in the same region as the cluster.

A start date and Redshift entities. Finance questions reach further back than product ones, so choose the date deliberately. On the warehouse side you need a database, a schema and a user able to write data and manage staging operations.

Note that each Chargebee site has its own independent set of API keys, including the dedicated test site, so a key copied from your sandbox will not work against production.

How do you build a Chargebee to Amazon Redshift pipeline in Airbyte?

Step 1: Establish your catalog version

Check which Product Catalog your site uses before touching the connector. This takes two minutes and prevents the most confusing failure available here, where everything appears to work and the streams you needed are quietly absent from the destination.

Step 2: Configure the Chargebee source

Click Sources in the left navigation, then New Source, and select Chargebee, following adding a source. Enter the site name, API key and start date, then set Product Catalog to your version rather than accepting the default of 2.0.

Step 3: Configure the Redshift destination

Click Destinations, then New Destination, and select Redshift, following adding a destination. Supply the cluster host, database, schema and credentials, along with your S3 bucket and IAM key. Staging files are removed after a successful COPY by default, and can be retained if you need them for debugging.

Step 4: Create the connection and check the logs

Click Connections, then New connection, select your streams and an incremental sync mode. Daily suits billing data. After the first run, read the sync log rather than only the success indicator, because skipped streams are reported there rather than as a failure.

Set sort keys on your invoice and subscription dates too, since financial reporting is almost always filtered by period, and reconcile a closed month against Chargebee before anyone builds on the data.

Why does the Product Catalog version decide everything?

Because Chargebee restructured how it models what you sell, and the two generations expose different objects. Product Catalog 1.0 sites have Plans and Addons. Product Catalog 2.0 sites have Item Families, Items, Item Prices, Differential Prices, Price Tiers, Subscription Items and Usage.

The connector defaults to 2.0, which is right for anything created since May 2021 and wrong for every older site. And a mismatch does not raise an error: the connector skips the incompatible stream and logs that it is available only for the other version, so the sync succeeds with your plans table missing.

That is a quiet failure in exactly the place it hurts, because an established business on Product Catalog 1.0 is precisely the kind of account with years of billing history worth analysing. Confirm the version, then check your tables exist after the first sync rather than trusting the green tick.

Why are some columns permanently empty?

Because a few streams serve both catalog generations at once. Subscription and Coupon include fields belonging to Product Catalog 1.0 and fields belonging to 2.0, and only the set matching your site contains anything. The rest arrive as columns that will never hold a value.

That is harmless until somebody builds on one. An analyst exploring the subscriptions table sees a plausible-looking column, writes a model against it, and produces a report that is empty for reasons nothing in the schema explains. The column exists, it is simply from the other version of the product.

So expose views rather than the raw tables, selecting only the columns your catalog version populates. On Redshift that view is also the natural place to hide Airbyte's metadata columns, giving your reporting a stable interface that survives a connector upgrade.

Frequently asked questions

How do I find my Product Catalog version?

Check the Chargebee API documentation under the API Version section. Sites created before 5 May 2021 use Product Catalog 1.0, and sites created on or after it use 2.0.

A stream I selected is missing from Redshift. Why?

It is probably incompatible with your Product Catalog version. The connector skips those streams and logs a message rather than failing, so check the sync log and your version setting.

Do I need an S3 bucket to load into Redshift?

Yes. The destination stages data in S3 and loads it with COPY, which is Redshift's recommended approach. Put the bucket in the same region as your cluster.

Why does the subscriptions table have empty columns?

Subscription and Coupon carry fields from both catalog versions, and only the ones matching your site contain data. Expose views selecting the columns your version populates.

Can I do this without writing code?

Yes. The setup above is entirely UI-driven. You will want Redshift views hiding the columns your catalog version does not populate and defining your revenue measures.

Get your Chargebee data into Amazon Redshift

Confirm your Product Catalog version before anything else, because the default is wrong for older sites and a mismatch skips streams quietly. Provision the staging bucket in your cluster's region, read the sync log after the first run, expose views hiding the unpopulated columns, and reconcile a closed month.

Airbyte's connector catalog includes 700+ pre-built connectors, so billing data can sit beside the product and support sources that explain it. For the same source in another warehouse, see Chargebee to Snowflake, and for payment data alongside it, Stripe to BigQuery.

Start syncing now →

Integrate with 700+ apps using Airbyte

Move data from 700+ sources into warehouses, lakes, and beyond. Set up pipelines in minutes with pre-built connectors and the Connector Builder.