How to Migrate WooCommerce Subscriptions?

A question that I get asked all the time is how to migrate WooCommerce Subscriptions.

In this article, learn how to manually migrate a subscription to WooCommerce Subscriptions without having the customer have to change their payment method!

This is helpful if you want to migrate subscriptions to WooCommerce Subscriptions and keep the same payment method OR want to manually edit a current subscription.

If you are more of a visual learner check out my tutorial here:

Scenario Overview

Often, a customer may want to convert a one-time order that they have made on your site into a subscription order. How you do this depends on whether the customer has saved their card details on your site. If the customer has saved their card information on your site when they made the purchase (or when they made some prior purchase), then you may be able to use their card tokens to complete the subscription order without any customer interaction. However, if they didn’t save their card information on your site when they made their purchase, then you will have to get this information from them again, either by providing them with a link to a page where they can make a secure payment or by directly giving you their card details.

In the next section, we will go step-by-step through both of these scenarios.

Migrating Orders to Subscriptions

Migrating an Order When You Possess the Customer’s Card Tokenization

In this scenario, your customer has saved their card information on your server, either for the order that they want migrated to a subscription order or for some previous order.

Pro Tip: There are ways to set up your WooCommerce site so that it always saves your customers’ card tokenization during the checkout process.

The first thing that you need to do is get the order number.

Once you have found the order number, select Subscriptions from the WooCommerce menu and click the Add Subscription button. The Add New Subscription page will then display.

Search for your customer in the Customer field in the Subscription details pane. In the Subscription status field, leave this Pending. In the Parent order field, select the order number that you found in the previous step from the dropdown list of their orders. In the Email address field, enter the customer’s email address. You also probably want to copy the customer’s billing address to their shipping address by clicking Copy billing address.

The most important field is the Payment Method. Here you need to select Credit Card from the dropdown list.

Once you have done this, the page will ask you for the Customer ID and Source ID as provided by your card processor. In the example below, this processor is Stripe:

You should be able to get this information in a number of ways. One way is through a CSV export provided by your payment processor. Another way is to look for this information in the dashboard that has been provided by your payment processor. If you are using Stripe, you would take the Source ID from Stripe’s Payment Method ID:

You would take the Customer ID from the Details pane:

Next, you have to schedule the subscription. You do this in the Schedule pane on the right-hand side of the Add New Subscription page:

In the above example, we have set the payment to recur every month, with a Start Date of today and a Next Payment date of one month from now.

Next, go to the Item pane of the page and click the Add Item(s) button.

Then, click the Add Product(s) button and the Add products dialog box will display.

Here enter the products that make up the subscription order and its quantities through the Product and Quantity fields.

After you have entered the products into the subscription order, you will likely want to discount it, as this is typically how online retailers incentivize customers to buy a subscription. You can do this by clicking the Add meta button and entering the discounted price in the Total field. In the example below, the product normally costs $10, but when purchased through a subscription, it will cost only $9:

Next, if you are charging shipping for the order, add it by clicking the Add Shipping button and then adding the shipping costs for the order.

You next may have to add tax to the subscription order. How you do this, though, is dependent on the tax solution that you have implemented for your site.

When you are finished creating the subscription order, click the Save button and go to the Subscription options pane at the top of the page. Here, select Create pending parent order from the dropdown list and click the Create button.

Finally, go back to the Subscription details pane and change the Subscription status to Active:

Migrating an Order When You Don’t Possess the Customer’s Card Tokenization

If you do not have the payment tokens from your payment processor you can create the subscription order the same as you did in the previous section, with one key difference. You need to leave the Payment Method as Manual Renewal.

After you have created the subscription order, go to the Related Orders pane and click on the order that you just created.

Then, in the Order actions pane, select Email invoice/order details to customer from the dropdown list and click the Update button.

This will send the customer an email containing a link to a page where they can make the secure payment. Alternatively, if your customer just wants to give you their card details over the phone, you can do this by first clicking Profile in the Order details pane.

The My Account page for the customer will then display. Here, select ORDERS from the menu and click the PAY button next to the subscription order.

The Order page will then display. Here, enter the SHIPPING ADDRESS and the PAYMENT METHODS for the customer and click the PLACE ORDER button.

Finally, once you have the card tokenization for the customer, you need to return to the subscription order and change the Payment Method from Manual Renewal to Credit Card and enter the tokenization details as described in the previous section. If you don’t do this last step, the customer will have to manually renew the order at the end of each subscription period.

Pro Tip: You can also turn on the Auto Renewal Toggle in the Subscription tab of the WooCommerce Settings page. But for this to work your customer has to go to their account page and click on auto renewals.

Final Words

If you have any questions about migrating an order to a subscription through WooCommerce Subscriptions that weren’t answered here, please feel free to ask them in the comment section below.

Simon Gondeck

I’m a big fan of WordPress + WooCommerce (especially WooCommerce Subscriptions). Check out my YouTube channel.

Leave a Comment