Developer Changelog / App billing

Existing Billing API subscriptions
can now move directly to Shopify App Pricing

Move existing subscriptions using the migration tool in the Partner Dashboard or a new Shopify CLI command. The switch takes effect at the start of the next billing cycle, and merchants don't need to re-approve charges.

On this page
  1. What's changing (in 30 seconds)
  2. How it works: The migration flow
  3. Two ways to migrate: Partner Dashboard and Shopify CLI
  4. Coverage comparison by tool
  5. Affected apps
  6. Migration steps (4 steps)
  7. 5 key points for developers
  8. 3 practical use cases
  9. One-line summary for proposals

1What's changing

If your app bills through the Billing API and you want to switch to Shopify App Pricing,
you can now migrate existing subscriptions as-is, without rebuilding your plans from scratch.

Two ways to migrate

The migration tool in the Partner Dashboard, or the Shopify CLI shopify app subscription-migrations command.

Switches at the next billing cycle

Subscriptions move over at the start of the next billing cycle. The switch isn't immediate.

No merchant re-approval

Merchants don't need to re-approve charges, and you don't need to change your app's billing method before migrating.

2How it works: The migration flow

Existing subscriptions Billed via Billing API (manual plans) App Pricing plans Match your existing plans Draft → test on a development store Partner Dashboard Simple subscriptions Migrate in one click Shopify CLI Usage-based billing, price adjustments, private plans At the start of the next billing cycle Switch to App Pricing No re-approval → Verify billing, then expand
The migration starts with "creating App Pricing plans that correspond to your existing manual plans". Set up the plans, test them on a development store, and then move subscriptions to the corresponding plans.

3Two migration methods

GUI

Partner Dashboard migration tool

  • Create App Pricing plans from existing manual plans asdrafts
  • Test on a development store
  • Switch to Shopify App Pricing
  • Move simple subscriptions (e.g., plans without usage-based billing) to their corresponding planswith one clickto migrate
CLI

New Shopify CLI commands

shopify app subscription-migrations

  • The store list and each store'smigration statuscan be displayed
  • Migrations can bescheduled in bulk
  • Pending migrations can becanceled(whether scheduled via the CLI or the Dashboard tool)
Individual subcommand names, arguments, and output formats aren't described in the source. See the related documentation (guide to migrating subscriptions with Shopify CLI) for details.

4Coverage comparison by tool

ItemPartner Dashboard migration toolShopify CLI(subscription-migrations)
Best for Simple Plans without usage-based billing, etc. Complex Usage-based billing, price adjustments, private plans
Draft and test plans Supported Draft from existing manual plans → validate on a development store Not specified
Run migrations One click to the matching plan Schedule in bulk
Check migration status Not specified Supported View status for each store
Cancel pending migrations Not specified Supported Can also cancel migrations scheduled in the Dashboard
Switchover timing At the start of the next billing cycle · no merchant re-approval (both)

5Affected apps

In scope

Billing via Billing API + planning to migrate

Apps that currently bill merchants through the Billing API and plan to move to Shopify App Pricing.

CLI required

Some types can't be migrated in the Dashboard

If you use subscription types that the Partner Dashboard tools can't migrate, you need to use Shopify CLI commands.

Not affected

Already using App Pricing

Apps that already use Shopify App Pricing for subscriptions are not affected.

6Migration steps (4 steps)

1

Create and validate matching plans

In the Partner Dashboard, create App Pricing plans that match your existing manual plans and test them on a development store.

2

Simple ones in the Dashboard

Move simple subscriptions that match a plan with the migration tool. They migrate at the start of the next cycle without re-approval.

3

Complex ones with the CLI

subscription-migrations to plan and schedule migrations in bulk. Cancel migrations if you need to adjust plans.

4

Verify, then expand

Confirm that subscriptions migrated as scheduled and are billed correctly before expanding to more stores.

You don't need to change your app's billing logic before migrating.Shopify officially recommends a phased approach: prepare plans → migrate a small batch → verify billing → expand.

75 key points for developers

Next

1. The switch happens at the start of the next billing cycle

The migration doesn't take effect the moment you schedule it. If billing cycles start on different dates across stores, plan your verification around migrations completing on different dates for each store.

2. No re-approval flow required

Merchants aren't asked to re-approve charges, so the migration avoids drop-off from pending approvals.

GUI CLI

3. Choose the tool by subscription type

Usage-based charges, price adjustments, and private plans require the CLI. Your first task is to inventory existing subscriptions by type and decide which tool to use for each.

4. Cancellations are handled through the CLI

Pending migrations can be canceled from the CLI, including those scheduled with the Partner Dashboard tool. Keep a CLI environment ready as a safety valve in case you need to revisit your plan design.

API ?

5. Post-migration handling of app code and webhooks isn't documented

The announcement only states that "you don't need to change your billing implementation before migrating"; it doesn't cover how to handle Billing API calls or billing-related logic after the migration.Testing on a development store and reviewing the migration guide (related docs)should be treated as prerequisites.

83 practical use cases

USE CASE 1

Move a flat-rate-only app to App Pricing without re-approval

Challenge
You run flat-rate plans on the Billing API. You want to move to App Pricing, but rebuilding plans and asking merchants to re-approve is a burden.
Approach
Draft App Pricing plans from your existing manual plans in the Partner Dashboard → test on a development store → migrate in one click with the migration tool.
Impact
Subscriptions switch over at the start of the next billing cycle without re-approval, reducing merchant outreach and time spent waiting on approvals.
Technical notes
Simple subscriptions without usage-based charges are eligible for the Dashboard tool. You don't need to change your app's billing logic before migrating.
USE CASE 2

Bulk-migrate apps with usage-based charges or private plans

Challenge
You have subscriptions across many stores that the Dashboard tool can't migrate, such as usage-based charges or custom-contract private plans.
Approach
shopify app subscription-migrations to list migration status per store and schedule migrations in bulk.
Impact
Even complex subscriptions can be planned and executed in bulk rather than by hand, with progress tracked per store.
Technical notes
Specific command arguments and output formats aren't documented in the announcement. Review the CLI migration guide before getting started.
USE CASE 3

Verify billing on a few stores, then roll out gradually

Challenge
Billing errors during migration lead to merchant inquiries and refunds. You want to avoid migrating every store at once.
Approach
Schedule migrations for a subset of stores → confirm they migrated as planned and were billed correctly → expand if all looks good. If there's an issue, cancel pending migrations with the CLI and revisit your plans.
Impact
You can move forward with the migration while keeping the blast radius of billing issues to a minimum.
Technical notes
"Verify, then expand" is the officially recommended approach. Because the switch happens at the start of the next billing cycle, verify each store after its cycle begins.

9One-line summary for proposals

"Move existing Billing API subscriptions to Shopify App Pricing without rebuilding your plans.
Simple ones migrate in one click from the Partner Dashboard, complex ones in bulk via the CLI, and merchants don't need to re-approve.
The switch takes effect from the next billing cycle. Start small, verify billing, then expand."