If you have an existing store using another eCommerce platform and selling subscription products, you may wish to migrate your customers from this system into WooCommerce and Subscriptions.
Because a subscription is linked to a product, customer, payment gateway and potentially an order or orders, migrating a subscription can be very difficult. This guide will provide an overview of what you need to consider when migrating and some general advice on how to proceed.
Add or import manually
WooCommerce Subscriptions provides a full featured Add Subscription interface for manually importing a subscription.
This interface allows you to create subscriptions for any given product and link it to a user account. It even makes it possible to set up automatic payments.
If you need to import less than 100 subscribers, manually adding each subscription using this administration screen is the best way to import the subscribers.
Although it will be time-consuming initially, using this administration interface helps ensure that data is all setup correctly.
The downside of using this interface is that it is time-consuming with large imports. There is also no simple way to create the order history for the customer (other than manually creating each order and setting its date).
Subscription data should be added in the following order: customers, products, orders and lastly – subscriptions.
Bulk subscription CSV importer
A Subscriptions CSV Importer is also available for bulk importing large numbers of subscribers. This extension is currently available free in public beta.
You can learn more, download and test the extension via the Subscriptions CSV Importer GitHub Repository.
Please be aware of the caveats mentioned in the documentation on that importer. Specifically: WooCommerce do not provide services to complete a migration with this extension or support for issues with subscriptions created with this extension. This means the WooCommerce support team can not help with CSV formatting, fixing broken renewals or other issues with subscriptions imported incorrectly.
For help and support with a migration, please contact WisdmLabs, a WooExpert who is also an official migration partner for the importer. You can learn more about the migration service WisdmLabs offer and contact them via their WooCommerce Subscriptions Migration page.
Custom import scripts
Your specific migration may require a custom import script to be written and used. For example, to only import orders after a certain date or with a non-standard payment gateway would require a custom migration.
Custom import scripts are not supported by WooCommerce.com, as these are considered customizations under the support policy.
To get help with a custom import, please contact a WooExpert.
Is it possible to make sure the active subscriptions will still work?
If the payment gateways used on your subscriptions supports payment method changes by the administrator then you can import subscribers using either the Add Subscription interface or the CSV importer.
Depending on the payment gateway being used, the information required varies. We are working to add specific guides for different payment gateways on how to find and link this data. For now, you will need to submit a ticket to WooCommerce.com if you can not find the required data for your import.
Can subscriptions still be imported with an unsupported payment gateway or missing payment metadata?
Yes, but not as easily. There are two possible solutions to for importing these subscriptions:
- import with manual renewals; or
- allow the customer to pay for the next renewal by forcing it to fail (and therefore, linking their payment data with WooCommerce).
Importing with Manual Renewals
Firstly, if you are using a payment gateway that does not support payment method changes by the administrator, subscriptions can still be successfully imported by either of the methods above; however, they will be set to require manual renewal payments.
Importing with Failed Renewal Payments
If your gateway does not support payment method changes by the administrator, you can not get access to customer payment method metadata or you want to switch to a different payment gateway, it can be very difficult (often impossible) to import the subscriber with an automatic renewal payment method. This is because you need customer payment method data, like a credit card token, in order to link the subscription with the payment gateway.
A workaround for this is to use Subscriptions Failed Payment Handling to:
- email the customer when the first renewal is due; and then
- link the customer’s payment method with the subscription when she pays for the failed renewal.
In order to trigger a failed renewal, you need to create a subscription with invalid data. You can do this by using an invalid customer token for a valid payment gateway. This ensures the first renewal payment after the import will fail and the failed payment handling process is initiated.
Can subscriptions with PayPal Standard be imported?
No. Unfortunately, PayPal Standard has a large number of limitations which prevent it being possible to migrate a subscription with PayPal Standard into WooCommerce Subscriptions.
Specifically, PayPal do not consistently allow the IPN URL used for subscription event notifications, like recurring payments, to be updated. Because of this, it is not possible for WooCommerce Subscriptions to keep the subscription in sync with PayPal, or to generate renewal orders for renewal payments.
The team responsible for WooCommerce Subscriptions have communicated with multiple PayPal technical representatives about this issue. They have also tested a migration on multiple sites and also read up on all available information online about changing the PayPal IPN URL for existing subscriptions. While updating the IPN URL set on the PayPal account will update the IPN URL used for existing subscriptions in some cases, there is no information about when it will work, and it has been confirmed to not work in many other cases.
PayPal Billing Agreements can be imported with WooCommerce Subscriptions and used for Reference Transactions. But PayPal Standard Subscriptions can not be imported.
How do I migrate from one gateway’s account to another?
Please reach out to the gateway’s support directly for assistance with migrating subscriptions in the account.