Executive summary
- What: apps that bill with the Billing API can move existing subscriptions onto Shopify App Pricing through a Partner Dashboard migration tool or the new shopify app subscription-migrations commands in Shopify CLI.
- Why: enabling App Pricing previously affected new subscriptions only, leaving an installed base billing through the old path indefinitely.
- Who: app developers and the agencies or internal teams maintaining custom and private apps for Plus merchants.
What changed
Creating App Pricing plans and switching the app over applied to new subscriptions only. Existing Billing API subscriptions kept billing through the old path until something moved them, and nothing did. There is now tooling for that move, and subscriptions transfer at the start of their next billing cycle with no new merchant approval.
The Partner Dashboard tool covers the straightforward cases. You draft App Pricing plans from your existing manual plans, test them on development stores, then move simple subscriptions, such as plans with no usage charges, to a matching plan in one action. The CLI commands handle everything the dashboard cannot: usage based subscriptions, subscriptions whose current price does not match the target plan, and migrations onto private plans. They also list stores with their migration status, schedule moves in bulk, and cancel pending migrations scheduled from either surface.
A few requirements are easy to miss. The app must already be enabled for App Pricing, target plan handles need to exist, a subscription carrying an active discount cannot migrate until that discount ends, and the Partner account used with the CLI needs the Manage app listings permission. View financials on its own is not enough.
Why it matters
For merchants this is mostly invisible, and that is the point. No re approval prompt means nobody re consents to a charge they already agreed to, which removes the churn risk that accompanies any billing change. Watch the first invoice after migration rather than the migration itself.
For anyone maintaining apps across a portfolio, the bulk scheduling in the CLI is the substantive part. Without it, consolidating a split installed base means coordinating per store changes across different billing cycles, work that gets deferred until the two billing paths diverge in reporting. Teams running custom apps as part of their Plus stack will find the same trade offs we discuss in how custom Shopify apps can elevate your store.
Role-specific impact
- Marketers: little direct effect, though app spend may present differently after migration. Where app costs are tracked against channel budgets, expect a reporting discontinuity in the cycle the move lands.
- Developers: this is the migration path you have been waiting for. Model target plans against real subscriptions first, because a price mismatch pushes the case out of the dashboard tool and into the CLI, and an active discount blocks migration entirely.
- Store admins: no action is required and no approval prompt will appear. Verify that the first invoice after the migration cycle matches the agreed price, and raise anything that does not with the app developer.
Use-case example
Real-world scenario
An agency maintains a private fulfilment app on 12 merchant stores, all billing through the Billing API on staggered cycles, three of them on negotiated pricing that matches no public plan. The dashboard tool moves the nine standard subscriptions cleanly. The negotiated three go to private App Pricing plans through the CLI, scheduled in bulk and verified with the status listing. The practical win is 12 merchant re approval conversations avoided, and one billing path to reconcile at month end instead of two.
Implementation checklist
- Confirm the app is enabled for Shopify App Pricing and record the handles of every target plan.
- Draft App Pricing plans that mirror existing manual plans, then test them on development stores.
- Segment the installed base: simple fixed price subscriptions for the dashboard tool, usage based, mismatched price and private plan cases for the CLI.
- Check for active discounts, which block migration until they end, and schedule those subscriptions later.
- Grant the Manage app listings permission to the Partner account used with Shopify CLI.
- Migrate a small cohort first, then confirm subscriptions moved on schedule and billed correctly before expanding.
- Keep the cancel command to hand for pending migrations that need adjusting.
FAQ
Q: Do merchants have to approve charges again after migration?
A: No. Eligible subscriptions move at the start of their next billing cycle without new merchant approval, which is why this is safe to run across an installed base.
Q: When is the CLI required instead of the Partner Dashboard tool?
A: Use the CLI for usage based subscriptions, where the current price does not match the target plan, for migrations onto private plans, and whenever you need bulk scheduling or a status listing across many stores.
Resources
Migrating to Shopify App Pricing
Need guidance? Talk to Makro.