Moving off Mantle Billing: how to migrate to Shopify App Pricing
Mantle set September 30, 2026 as the end of Mantle Billing. According to Mantle, your subscriptions live on Shopify, and Mantle only created and managed them, so they do not vanish with it. What has to change is your app, which relied on Mantle to do that work. Since September 29, 2026, Shopify lets you move existing subscriptions to Shopify App Pricing without merchants approving again. Here are the steps, as Shopify documents them on October 31, 2026.
By Arthur Renard, updated
Why your subscriptions survive Mantle
Mantle's documentation says Mantle Billing wraps Shopify's Billing API: subscriptions live on Shopify, and Mantle creates and manages them. So the charges your merchants approved are Billing API subscriptions, and Shopify's migration tool treats them as such.
What depended on Mantle is the code around them: your plan page, the calls that create or change a subscription, and the checks on what a store is paying for. We did not test what Mantle's API answers since its end date, so do not count on it. Check your app's subscription flow on a development store first.
Mantle's billing page, last updated on June 16, 2026, still says App Pricing is only open to new apps. That is out of date, like several guides on the web: Shopify's migration tool has been available since September 29, 2026.
Your two options
| Shopify App Pricing | Billing API yourself | |
|---|---|---|
| Status | Where Shopify is taking app billing | Still supported, as the legacy method, with no end date announced |
| Who runs plan selection and approval | Shopify hosts it, along with metering and invoicing | Your app |
| Usage charges | Reported through the App Events API, billed monthly | Usage records, from your app |
| Yearly plan with usage charges | Not possible on a yearly-only plan | Your own logic |
| One-time purchases | Not supported: model them as usage | Supported |
| Prices in another currency | US dollars only | Shopify points here for prices set in local currencies |
| Mantle's Flex Billing | Mantle says it may not fit | Mantle says you will likely need to build it here |
For most apps with monthly or yearly plans, App Pricing means less code to own. How it works day to day is in our guide to Shopify App Pricing. If you opt in, your app can no longer create new recurring charges through the Billing API, while charges created before keep running.
What each type of billing needs
| If your app bills with | Code changes | Plans | Existing subscriptions |
|---|---|---|---|
| Monthly or yearly charges | Add the new APIs | Review the drafts Shopify generates | Move them in the Partner Dashboard or with Shopify CLI |
| Usage-based charges | Add the new APIs and the App Events API | Set up events, meters and usage prices | Move them with Shopify CLI |
| One-time charges | Add the new APIs | Model each charge as usage | Existing one-time purchases stay on the Billing API |
The new APIs are the Active Subscription API and the Historical Events API, both in the Partner API, and the App Events API for usage. The Active Subscription API returns both Billing API and App Pricing subscriptions, so you can use it for your checks before and after the switch.
The migration, step by step
Before you start, note your current plans, trials, welcome links and usage charges.
- Start plan setup. In the Partner Dashboard, open App distribution, your app, Distribution, then Manage listing beside your Shopify App Store listing. Under Published languages, click Edit, then Manage under Pricing content, then Get started under Update to App Pricing. Shopify generates draft plans from your eligible plans.
- Review your plans. Shopify does not verify that the drafts match your pricing, so confirm each plan's handle, billing interval, price, free trial, welcome link, features and target stores. Complete every plan marked Action needed, add usage settings, which are not copied, and add any plan Shopify skipped. You can have up to eight public plans and unlimited private plans.
- Test on a development store. Subscribe to each draft plan, complete the approval and redirect, check the price, interval, trial and welcome link, and confirm the subscription with the Active Subscription API. For usage plans, send App Events and check that the right meters record them.
- Enable App Pricing, once every plan is resolved and tested, with no more than one free public plan without usage charges. New subscriptions then use the new plans, and existing ones keep billing through the Billing API until you move them, so keep that integration running.
- Move existing subscriptions. In the Partner Dashboard, under Review and assign new plans, each row groups subscriptions with the same charge name, price, currency and interval. Uncheck what you want to keep on the Billing API, then click Move selected. To move in the Partner Dashboard, keep exactly one public plan for each price, currency and interval your subscribers pay.
Everything else goes through Shopify CLI: usage-based subscriptions, price adjustments and moves to private plans. On October 31, 2026, the commands are in the nightly build. You list subscriptions with shopify app subscription-migrations list, prepare a CSV with one row per shop, then schedule it. In that file, HONOR_BILLING_PRICE keeps the price a merchant pays today and PLAN_PRICE applies the new plan's price. Batches go up to 250 shops at a time.
When it takes effect, and what merchants see
- A move is scheduled, not immediate: each subscription changes at the start of its next billing cycle, or at its next renewal for an annual plan.
- Merchants do not need to approve again. If the move changes billing terms, Shopify emails the store owner with the old and new terms, and the merchant gets at least 30 days. If the next cycle is closer than that, the subscription stays on its current terms for one more billing period, which is another year on an annual plan.
- If the terms do not change, Shopify emails nobody unless you ask for a notice with Shopify CLI.
- A merchant who disagrees can cancel their app subscription before the change, which also cancels the move.
- You can cancel a scheduled move with Shopify CLI. Once a subscription has changed to its new plan, the move cannot be undone.
Your app sees the Billing API subscription keep its status, take the new price and interval, and lose its capped amount, with an APP_SUBSCRIPTIONS_UPDATE webhook. Keep your Billing API integration running until the last change has taken effect.
Limits to check first
- A subscription with an active discount cannot move until the discount ends.
- Usage charges are billed monthly and cannot be combined with yearly-only plans. A developer leaving Mantle raised this on Shopify's forum in August 2026, for a yearly plan with usage above an included amount.
- Usage caps are not supported.
- Plan prices are set in US dollars only.
- Shopify's announcement of September 29, 2026 says the former caps on private plans are removed, another blocker raised by developers leaving Mantle.
- Shopify App Pricing does not send Billing API webhooks for its subscriptions. In the forum thread announcing the tool, its author wrote on September 29, 2026 that they still work today but may be removed at any time: read subscription status from the Partner API.
What to check afterwards
Compare a few stores in the Partner Dashboard with what your app grants them, and watch the first billing cycle after the change: earnings can take up to 37 days to appear (see Shopify Partner payouts).
Luseri is not in your billing path. It reads subscription and payout events from the Partner API, read-only, so it shows your MRR and what moved it during the migration, and its history does not depend on Mantle. For the rest of what Mantle did, see the best Mantle alternatives, by feature.
Questions
- Did my subscriptions disappear with Mantle?
- According to Mantle, no: they live on Shopify, and Mantle created and managed them. What your app needs to replace is the code that relied on Mantle.
- Do merchants have to approve the charge again?
- No. Shopify says existing subscriptions can move without merchants approving again. If the billing terms change, Shopify notifies the store owner at least 30 days before.
- When does a moved subscription change?
- At the start of its next billing cycle, or at its next renewal for an annual plan. You can cancel a scheduled move until then; after that it cannot be undone.
- Can I stay on the Billing API?
- Yes, for now. Shopify still supports it as the legacy method and has announced no end date. A developer asked on Shopify's forum in September 2026 whether it will be removed, and had no answer as of October 31.
- What about Mantle's Flex Billing?
- Mantle says Shopify App Pricing may not support it, and that if it is critical you will likely need to build it yourself on the Billing API.
Sources
- Shopify: migrate to Shopify App Pricing
- Shopify: migrate subscriptions with Shopify CLI
- Shopify: Shopify App Pricing
- Shopify: billing
- Shopify changelog: move existing subscriptions to App Pricing (September 2026)
- Shopify forum: migration tooling for existing Billing API subscriptions (September 29, 2026)
- Shopify forum: App Pricing limitations when migrating from Mantle
- Mantle: billing after the wind-down (updated June 16, 2026)