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, Identity, 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.

Primary tasks in migrating from Chargebee to Stripe

01 Create Chargebee Plans as Products and Prices in Stripe
02 Create Coupons in Stripe based on Chargebee Coupons
03 Update Customers in Stripe
04 Recreate Subscriptions in Stripe
05 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

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

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.


Backdate subscriptions

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'

I am interested in ...

Contact us today to discuss how Growthmill can help you leverage the power of the Stripe platform.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.