Back to blog
Migration

Migrate from Recharge or Appstle without losing customers

Switching away from Recharge or Appstle doesn't have to mean losing customers. Here's the migration plan: export, mapping, a check beforehand, mandates and communication.

28 July 20266 min read

Why migrating feels risky

Migrating subscriptions from Recharge or Appstle to another app is more delicate than swapping any other app: there are active subscriptions, stored payment details and a billing history riding on it. A poorly executed migration can lead to duplicate invoices, missed charges, or customers suddenly having to re-enter payment details. With a structured plan, that risk is manageable. This article walks through the process step by step: export, column mapping, dry run, re-capturing mandates, communication and post-launch checks.

Step 1: export from Recharge or Appstle

Start with a full export of your current subscription data. Most apps offer a CSV export of customers, active subscriptions, selling plans, next billing date and payment method used. Also request an export of order history so you can reconstruct customer value and lifetime if needed for reporting. Keep the raw exports separate from the files you edit, so you can always go back to the source data.

Step 2: column mapping and cleanup

Every app uses its own column names and statuses for subscriptions: active, paused, cancelled, expired. Before importing the data, map the columns from the export to the fields Loyalo expects: customer, product, frequency, next billing date, price and status. Pay extra attention to unusual status values and to subscriptions with a manual discount or custom frequency. These often fall outside the standard pattern and deserve a separate check.

Source fieldWhat to watch forTarget in Loyalo
Customer emailDuplicates and outdated addressesLink to Shopify customer
Subscription statusUnusual or custom statusesActive, paused or cancelled
Frequency and priceManual overrides per customerSelling plan and price rule
Next billing dateTime-zone differences in exportNext charge date
Payment methodiDEAL vs card vs otherReuse the existing mandate or card, otherwise capture a new one
An uploaded CSV file in Loyalo and the columns that were recognised
The column mapping in Loyalo: you change what was recognised where needed.

Step 3: check before you import

After the upload Loyalo checks every row before anything is created: the product, the plan and, for iDEAL, the mandate. Per row you see what will happen and what is wrong. Also walk through a handful of representative subscriptions yourself: a monthly subscription, one with a discount, a paused one, and one with a recently failed payment. When the next billing date, amount and status are correct, you import.

  1. Upload and have it checkedUpload the export. Loyalo checks every row and shows the errors, without creating anything.
  2. Verify the sampleFor a number of subscriptions, compare the source data with what Loyalo will create: date, amount, status, customer details.
  3. Fix discrepanciesAdjust the column mapping or the source file until the sample checks out, then upload again.
  4. ImportOnly import once the check passes without discrepancies. The import sends no emails to customers.
Check of an import in Loyalo: number of rows, subscriptions that are ready, rows with errors and per row the status and the reason
The check per row, with the reason for every error. Example from the demo store.

Step 4: mandates and payment details

Whether a mandate carries over depends on where it lives. When the iDEAL mandates are in your own Mollie account, Loyalo uses them again and the customer notices nothing. Cards stored in Shopify carry over too. When the mandate is with another party, the customer has to give it once more. Do this with a short, clear flow: one click from an email to a page where the customer captures the new mandate with a payment of € 0.01. The fewer steps, the more customers do it.

  • Sample checked before the import, including pauses and discounts
  • Column mapping checked for unusual statuses and frequencies
  • The email for a new mandate tested with a test customer, if one is needed
  • Communication plan ready: pre-announcement, reminder, confirmation
  • Support team briefed on common questions during the switch
  • Rollback scenario discussed in case the launch needs to be postponed

The order of switching over

Most accidents in a migration come from the order, not from the data. Two apps that both collect give double charges; neither gives a missed delivery. So keep to this order. The import itself collects nothing, so you have time to check.

  1. Copy the plans firstCopy the subscription plans of your old app, so new subscribers come in through the new app from that moment.
  2. Import and spot-checkFor a number of customers, compare the product, the price and the next date with your old app.
  3. Stop the collections in the old appDo that before the next collection date and without the old app sending customers a cancellation email.
  4. Switch on collecting in the new appFrom that moment every delivery runs through Loyalo. Only clean up the old app when the first round has gone well.

Step 5: communication and post-launch checks

Communicate early, not on the day itself

If customers have to give a new mandate, announce that at least a week ahead, explain why, and give a clear deadline. Send customers who haven't responded one more reminder before the first new charge is scheduled.

After launch, closely monitor the first billing cycle: how many charges succeeded and which customers still have to give a mandate. Set up a daily check in the dashboard for the first two to three weeks so you can react quickly to a spike in failed charges or support requests.

Frequently asked questions

Can I automatically transfer payment details?

Partly. Mandates in your own Mollie account and cards stored in Shopify carry over. When the mandate is with another party, the customer gives it once more with a payment of € 0.01.

How much time should I plan for a migration?

The import itself can be done in a day. Expect one or two weeks when customers have to give a new mandate: time for upfront communication and a period of monitoring after launch.

What happens to customers who do not give a new mandate?

Their subscription is in Loyalo all the same. At the next collection they get an email with a payment link; paying through it captures the mandate at once.

Can I bring over historical order data?

Yes, you can export the order history separately and use it for reporting, even if it isn't imported one-to-one into the new subscription.

Do customers get an email from the import?

No. The import sends no welcome email. The only email you can have sent is to customers without a valid mandate, asking them to give one.

Can I migrate in parts?

Yes, when the subscription ID of your old app is in the file. Loyalo uses it to recognise what was imported already and skips it, so you can move part first and the rest later.

Plan a migration without surprises?

Request a demo and discuss the export and migration plan for your current app.

Request a demo

Ready to sell subscriptions inside Shopify?

No per-order fee, no redirect, no hassle. Just native subscriptions.