Home>Migrations & Replatforming>Data & Customer Migration>Migrating an Active Subscription Program to Shopify

How do I migrate an active subscription program (Recharge, Skio, or a legacy platform's native subscriptions) during a full platform replatform?

An active subscription program moves as its own project, sequenced after the storefront cutover rather than inside it. Shopify imports contracts through the subscriptionContractAtomicCreate mutation, but payment methods follow only when the same processor (Stripe, Braintree, PayPal Express or Authorize.net) connects as a secondary gateway, and migrating card numbers requires Shopify Plus or Enterprise (per Shopify's docs, September 2026).

Why this is two projects, not one

A replatform moves content, catalog, customers and orders. A subscription program moves billing mandates. The first is a data problem with a rollback; the second is a payments problem where the failure mode is a charge that does not happen, or happens twice. Running them in the same cutover window means one bad night can cost you both the launch and the recurring revenue.

The sequence we run

  1. Leave the subscription platform live and billing. Nothing about a theme rebuild requires touching contracts. Recharge or Skio keeps charging on the old cadence while the new storefront is built and launched.
  2. Connect the processor to Shopify as a secondary gateway, before anything else. Shopify names four that support this: Stripe, Braintree, PayPal Express and Authorize.net (per Shopify's Help Center, September 2026). If your current gateway is not on that list, the migration question is really a gateway question, and it has to be answered first.
  3. Import customers, then payment methods. Payment methods come in through customerPaymentMethodRemoteCreate, which references the token already sitting in the processor's vault (per Shopify's docs, September 2026). Nothing sensitive moves; the reference does.
  4. Check the plan gate on card data. "Your store must be on the Shopify Plus or Enterprise plan to migrate your primary account numbers (PANs)" (per Shopify's Help Center, September 2026). Below Plus, you keep the secondary gateway active until the last payment method has moved.
  5. Import the contracts. subscriptionContractAtomicCreate takes customerId, nextBillingDate, currencyCode, a contract object carrying status, paymentMethodId, billingPolicy and deliveryPolicy, and a lines array (per Shopify's docs, September 2026). Use the Bulk Operations API for anything at mid-market scale.
  6. Push every next-charge date out before you import. Recharge tells merchants to move charge dates "at least three days out" from the migration date and to migrate earlier in the week (per Recharge's help docs, September 2026). That buffer is what turns a bad import into a fixable one.
  7. Run one billing cycle in parallel, then cut. Bill from the new contracts, reconcile against the old platform's charge log, and only then stop the old billing job.
  8. Rebuild the PDP purchase-option layer on the new theme. This is theme work, not data work, and it is the only part of the program that genuinely has to ship with the new storefront.

The plan gates, in one place

GateRequirementSource
Migrating PANs (card numbers)Shopify Plus or EnterpriseShopify Help Center, Sep 2026
Token migration (vault references)All plans, with app-developer supportShopify Help Center, Sep 2026
Storing payment methods for one-time purchasesEnterpriseShopify Help Center, Sep 2026
Subscriptions on B2B ordersNot supported at allshopify.dev, Sep 2026

What will not come across, whatever the vendor says

Recharge states plainly that "analytic information is not migrated during subscription migrations" and "historical data is not migrated during subscription migrations" (per Recharge's help docs, September 2026). Recharge's Migr8 tool does not support bundles, coupons, prepaid subscriptions on most platforms, paused subscriptions or memberships, and caps at 100,000 subscriptions per migration (per Recharge, September 2026). Skio cannot move "Prepaid gift" subscriptions into Shopify at all, and quotes one to three weeks of queue time that "cannot be expedited" (per Skio's help docs, September 2026).

The vendor question sitting underneath all of this. Recharge closed its acquisition of Skio on 30 April 2026 for $105M, and told merchants that "nothing is changing today" with "more details on the combined roadmap coming in the months ahead" (per Recharge's announcement and PR Newswire, April 2026; confirmed against Dealroom, September 2026). Two of the three obvious destinations now share one owner. That is a reason to sequence the subscription move separately (you keep the option to re-decide), not a reason to rush it.

The Deploi point of view

Our own position, from building on Shopify. Separate from the facts above.

  • Our take: Do not migrate subscriptions in the replatform cutover. We scored subscription platform migration CUSTOMIZE in our Build vs. Buy corpus: you buy the destination platform and build the glue the vendor import skips. Keep the existing subscription platform billing straight through launch and move the program as a second, separately scoped project.
  • What we’ve seen: The part that actually ships with the new theme is the purchase-option selector on the product page: subscribe-and-save, cadence choice, price display. Treating that as theme work rather than migration work is what lets the two projects run independently.
  • Times we’ve shipped this: 5 builds delivered.
  • What it takes: roughly 46 hours scoped for the PDP purchase-option layer (directional Deploi estimate from a small sample of engagements, not a measured average).
  • Where we disagree: Migration vendors sell a one-weekend cutover with everything in it. The contract data will usually cooperate. The payment mandates are the part that decides whether you keep the revenue, and they answer to the processor's vault and a plan gate, not to the project plan.

Reviewed by Martin Dejnicki, Director of SEO & AI Search. Facts verified 2026-09-13.

Follow-up questions

What happens to active subscription contracts' billing cycles and payment tokens when migrating subscribers between any platform and Shopify's subscription data model?

Two contract-level fields decide whether a subscriber migration succeeds: nextBillingDate and the payment method reference. Shopify requires nextBillingDate on every imported contract and treats it as "independent of billing cycles", and payment methods import through customerPaymentMethodRemoteCreate only from Stripe, Braintree, PayPal Express or Authorize.net connected as a secondary gateway (per Shopify's docs, September 2026).

How do B2B recurring/replenishment orders (distinct from consumer subscriptions) migrate their contract-level scheduling data to Shopify?

Shopify B2B has no destination object for a recurring replenishment schedule. Shopify states that "B2B doesn't support purchase options, such as subscriptions, pre-orders, and try before you buy", and a selling plan on a B2B order returns the error "Only one-time purchase is available for B2B orders" (per shopify.dev and Shopify Community, September 2026). B2B replenishment gets rebuilt, not migrated.

How do I migrate loyalty program points/tiers/history to Shopify during a full replatform?

Loyalty point balances and current tier migrate by CSV import; earn and redemption history does not. Smile.io requires a brand-new account on the destination platform and moves only current balances and current tier, and LoyaltyLion imports email plus points but "can't import customers' historic orders" (per both vendors' help centers, September 2026). Keep the program disabled until cutover finishes.

How do subscription discount/pricing-lock contracts (grandfathered pricing) get preserved when migrating the underlying subscription data to Shopify?

Grandfathered subscription pricing survives a migration only when it is written onto each contract line at import. Shopify's SubscriptionLineInput carries a required currentPrice field, set independently of the selling plan, plus an optional pricingPolicy that "describes expected price changes of the subscription line over time" (per Shopify's docs, September 2026). Selling-plan pricing otherwise applies.

How do we migrate active subscription contracts (Recharge, Skio, or native Shopify Subscriptions) from one Shopify store to another during consolidation?

Store-to-store subscription moves are decided by the payment vault, not the contract data. Methods vaulted in Shopify Payments need Shopify Payments approval to move between stores, Shop Pay methods cannot be migrated store to store, and methods held by Stripe, Braintree or Authorize.net transfer only if the destination store connects that processor as a secondary gateway (per Skio, September 2026).

How does Wix Stores' native subscription/membership feature migrate to Shopify, given Shopify's subscriptions are app-based, not native by default?

Wix subscribers get re-enrolled on Shopify rather than migrated. Shopify's own Wix migration guide covers products, customers and order history and never mentions subscriptions, memberships or Pricing Plans (per Shopify's Help Center, September 2026), and Wix requires a site owner to cancel all active recurring plans before switching payment providers even within Wix (per Wix's Help Center, September 2026).