The importer creates subscription contracts in your store from a CSV file exported by your previous subscription app. Each row carries one product variant and becomes one contract with one line on it. A customer who subscribed to three products in your old app becomes three separate contracts here, each on its own schedule.
A CSV carries the schedule, the products and the prices. It cannot carry a payment method. The import attaches the payment method Shopify already has saved for that customer, so it works for shops where subscribers pay by card through Shopify. A prepaid contract cannot be moved as prepaid either: it lands as an ordinary subscription.
iDEAL, Wero and Bancontact subscribers have to subscribe again in your store. Their direct debit cannot be transferred from another provider, so there is no way to import them.
Go to Home, find the Migrating from another app? card and click Import subscriptions. Click Download sample template to get a CSV with every column filled in correctly.

These columns are required:
customer_email, product_variant_id, quantity
billing_interval (DAY, WEEK, MONTH or YEAR) and billing_interval_count
next_billing_date (YYYY-MM-DD), price, currency_code
Optional columns: status (ACTIVE or PAUSED, ACTIVE when left empty), delivery_price, and the shipping address fields address_first_name, address_last_name, address1, address2, city, province, country_code, zip, phone. Comma, semicolon and tab separated files are all accepted.
The address is only written when address1 and country_code are both filled in. If either is empty, the contract is created without an address, so fill both fields.
Drop the file in, click Parse CSV and read the preview. When some rows have problems, the preview is headed Some rows were skipped due to errors and lists them. Those rows are skipped, the rest still import. When the table looks right, click Import and confirm.
A missing column is different: it stops the whole file. You get one error, "Missing required columns: ..." and zero rows in the preview. A file with no data rows behaves the same way. Fix the header row and parse again.
The summary lists every row. Common failures are "Customer not found" (the email does not exist in your Shopify customers), "Product or variant not found" and "Club membership products cannot be imported as ordinary subscriptions". Club memberships have no CSV route at all, those customers join the club in your store.
Pause or cancel the original contracts in your previous subscription app right after the import, otherwise both apps charge the same customer.
Open Subscriptions and check a few imported contracts: next billing date, price and address.
No saved payment method on a contract? Open it and use Send link to update card before the first renewal.
Large or messy export? Send the file to us in the chat and our team does the import for you.
Stuck on any of this? Open the chat in the bottom right corner of the app and we will help you set it up.