Migrate your recurring billing software to Stripe

Learn how Growthmill helped a financial services SaaS platform migrate its subscriptions from Chargebee to Stripe

Migrate Chargebee Subscriptions to Stripe

Many companies using Chargebee, Recurly, Chargify and other recurring billing platforms see an opportunity to migrate their subscriptions to Stripe. Moving to subscriptions to Stripe Billing allows companies to not only manage subscriptions but also leverage the deep feature set available from Stripe. The Stripe platform not only allows for recurring billing but also let's companies to unlock innovations like Stripe Payments, Elements, Connect, Terminal, Identify, Sigma and more.

Growthmill's migration experience

Growthmill was recently engaged by a SaaS platform in the financial services industry to migrate their recurring billing from Chargebee to Stripe. Our client was dissatisfied with the limited plan configurations, reporting, revenue reconciliation and payment options available from Chargebee. For their Enterprise billing plans, they were making heavy use of coupons to work around the limitations of Chargebee plans and payments. They were unable to generate their desired financial and operational reporting without a cumbersome process of CSV exports and Excel manipulations.

The client was using Stripe to process payments associated with Chargebee subscriptions. This eliminated the sometimes challenging process of migrating customers and payment methods from one processor to another. While this is often possible, it requires significant orchestration between an existing payment processor, Stripe and any in-house platforms capturing payments.

Growthmill created a process in Node.js to get data from Chargebee endpoints and recreate the appropriate pieces in Stripe using Stripe's best in class endpoints. The Node.js process kept a log of successes and exceptions for visibility and traceability into the specific entities migrated.

Based on the client's customers and payment methods already existing in Stripe, the primary tasks in migrating from Chargebee to Stripe were :

  1. Create Chargebee Plans as Products and Prices in Stripe
  2. Create Coupons in Stripe based on Chargebee Coupons
  3. Update Customers in Stripe
  4. Recreate Subscriptions in Stripe
  5. Cancel Chargebee Subscriptions

With the customers, products, prices and coupons in place, Growthmill was able to extract Chargebee subscriptions from the endpoint and recreate them in Stripe using the Create Subscription endpoint.

In this case, the client was already using Stripe to process payments, so customers existed in Stripe with their payment method. BUT the customers did not contain the customer name but rather were named ChargebeeHandle:{chargebeeID} Lack of a proper customer name would cause friction for customer service staff. Growthmill updated customer name during migration and stored the Chargebee Customer ID as metadata on the customer record.

After creating the Subscription, in Stripe be sure to cancel the subscription in Chargebee to prevent duplicate charges.

Growthmill tips

Use Metadata to store the Chargebee Plan ID with the associated Product/Plan in Stripe. This can be useful in two ways. First, this can serve as a mapping for any scripts automating subscriptions from Chargebee to Stripe. The client's in-house platform also benefitted from knowing the legacy Chargebee Plan when determining the authorization associated with the subsequent subscription.
Chargebee allows coupons in durations of weeks, while Stripe does not. You'll want to account for these in either the source of destination system. Also, Chargebee allows multiple coupons to be applied to a subscription, while Stripe does not.
If you want to backdate subscriptions, make sure to set the backdate_start_date when creating the subscription in Stripe. Most likely, you do not want to charge customers for this backdated time so set proration_behavior to 'none'

Have questions about how to migrate subscriptions to Stripe? Be sure to reach out and one of our Stripe certified engineers will be in touch!

A team member will reach out to you in less than 24 hours.
A team member will reach out to you in less than 24 hours.


Get in touch
A team member will reach out to you in less than 24 hours.
Get in touch
A team member will reach out to you in less than 24 hours.
Get in touch
Get in touch