Paddle Billing

Migration checklist: Paddle Classic and Paddle Billing

Everything you need to do to migrate from Paddle Classic to Paddle Billing.

Ready to start your migration from Paddle Classic to Paddle Billing? This guide walks through all the steps that you need to set up Paddle Billing, build an integration, and prepare for go-live.

Porting subscription data from Paddle Classic to Paddle Billing is in early access.

Before you begin

As part of migration, you'll need to build an integration with Paddle Billing, then run it alongside your integration with Paddle Classic while we port your subscription data over from Classic to Billing. You should be prepared to run two integrations for a little while.

Before starting your migration, check that you're eligible. We support porting subscription data from Paddle Classic where:

  • You have fewer than 50,000 active subscriptions in your live account in total
  • You have a straightforward product catalog, for example: a single plan, good-better-best plans, or seat-based pricing
  • You don't rely heavily on modifiers as part of your workflows

We're expanding eligibility in the future

If you have more than 50,000 subscriptions in total or have a complex product catalog, we're not ready to port your data over just yet, but we'd love to hear from you. We're keen to understand how you model your prices and learn more about your subscribers, so we can help you migrate in the future. Contact us at

Get started

  1. Activate Paddle Billing and review settings

    Turn on Paddle Billing for your account, review shared settings, then configure new localization settings. Your Paddle account is already verified, so you don't need to do this again.

  2. Add products to your product catalog

    Add subscription plans, recurring addons, one-off charges, and other items that you sell to Paddle Billing.

  3. Integrate with your frontend

    Integrate Paddle with your frontend using Paddle.js v2.

  4. Handle subscription lifecycle events

    Subscribe to webhooks, then build workflows to handle subscription lifecycle events, like signing up, pausing, or canceling.

  5. Start running transactions through Paddle Billing

    Route new customers to your Paddle Billing checkout and workflows, while maintaining your existing Paddle Classic workflows for existing subscriptions.

  6. Request Paddle Classic subscription data migration — early access

    Contact the Paddle team to request a subscription data migration. We'll port your Paddle Classic subscription data to Paddle Billing.

  7. Remove your Paddle Classic integration

    Once your data is migrated, you can turn off your Paddle Classic integration entirely.


Next steps

Now you're running on Paddle Billing, check out some of our guides to extend your experience.

Integrate further with Paddle Retain

Paddle Billing integrates with Retain Cancellation Flows and Term Optimization, proactively reducing churn and maximizing customer lifetime value. Retain works with Paddle.js, so you don't need to include an additional script to get started.

Localize your prices

With Paddle Billing, you can localize for countries and not just currencies — great for countries or regions that share a currency (like the euro) where willingness-to-pay and purchasing power may different.

Upgrade your checkout workflows

Paddle.js v2 includes new ways to work with localized prices, and lets you dynamically update opened checkouts. If you implemented a checkout that mirrored your Paddle Classic integration, you may like to build a more integrated experience using our new methods and events.