Skip to content

Migrating from another app

You can bring existing subscribers across from Recharge, Loop, Appstle, Skio, Bold or any app that exports a CSV.

Read this first: payment methods cannot be moved

Your current app holds a gateway mandate or a vaulted card that it is not allowed to hand over — no subscription app can export one, and any that offered to would be doing something it should not.

So every subscriber has to re-authorise payment once. This is the whole shape of a migration, and it is why the timing matters: start when you have room to see the re-authorisation through before people's next charges fall due.

The safety guarantee

Nobody is charged by an import. Imported subscriptions are created in pending authorisation and the billing process only ever looks at active and past due contracts. An imported subscription is invisible to billing until its owner has added a payment method themselves.

Without that, importing 400 rows would put 400 people into dunning the same afternoon for a card nobody asked them for.

Step 1 — export from your current app

Ask your current app for a CSV of active subscriptions, then map its columns onto ours:

customerEmail, variantId, quantity, intervalUnit, intervalCount,
nextChargeDate, amountMinor, currency, externalId

Amounts are in minor units — 1999 for $19.99. externalId is the other app's own subscription id, which is what makes a re-run safe.

Step 2 — check the file

Paste or upload the CSV under Migration and click Check this export. Nothing is created. You get:

  • How many rows would import, and how many customers they represent
  • Every row that would be rejected, with the line number and the reason
  • Variants that do not exist on this store
  • Emails with no matching Shopify customer
  • How many people must re-authorise, and by when — the earliest next charge date in the file

That last figure is the one that decides whether to proceed now or later.

Step 3 — import

Choose the plan the subscribers should sit on, then confirm. For each row we:

  1. Create a subscription contract at Shopify with no payment method
  2. Record it as pending authorisation
  3. Apply your store's own shipping rule
  4. Email the customer Shopify's hosted "add a payment method" link

Each becomes active on its own the moment its owner re-authorises. There is nothing further for you to do.

Running it more than once

Safe, and expected. Rows are keyed by the other app's subscription id, so a second run imports nothing it already did. A run that times out partway resumes where it stopped, and one bad row records its reason and does not stop the rest.

Import customers first

If an email has no Shopify customer, the row fails rather than inventing one. A customer we invent is one Shopify has never seen agree to anything — no consent record, no marketing state.

Import your customers through Shopify's own tooling first, then run the subscription import.

Planning the switch

  1. Run the check early to see the re-authorisation deadline
  2. Tell your subscribers it is coming, in your own words, before the automated email arrives
  3. Import, then watch pending authorisation fall over the following days
  4. Keep the old app running until its subscriptions are cancelled — do not cancel there before people have re-authorised here
  5. Chase the stragglers personally; a short human email recovers more than a second automated one

Super Subscription is a Proscube product.