By following this guide, you will be able to use the WPSubscription - Import Subscriptions plugin to migrate subscriptions from WooCommerce Subscription to WP Subscription.

Prerequisites

The following plugins need to be installed before starting the process.

  1. WPSubscription

  2. WPSubscription Pro (for variable subscription)

  3. WooCommerce Subscriptions

  4. WPSubscription - Import Subscriptions

  5. WooCommerce Stripe Payment Gateway (payments/optional)

  6. Paddle for WooCommerce (payments/optional)

Currently, Paddle for WooCommerce and WooCommerce Stripe Payment gateways are supported. We are working on adding more gateway support.
For the WooCommerce Stripe Payment Gateway, only subscriptions paid with Cards will auto-renew properly.
Create a full site/database backup.
Make sure WP-Cron is running and your site can make outbound requests.

Migration Overview

When you start a migration, WPSubscription – Import Subscriptions performs the following steps to move WooCommerce Subscriptions into WPSubscription, while ensuring continuity of subscription data and payments.

1. Product Conversion

  • The system first identifies the subscription product.

  • It converts it into either a Simple Product or a Variable Product, depending on the original product type.

Important: The product’s subscription data is fully retained. Only the product taxonomy (product type) is changed.

2. Subscription Creation

  • For each WooCommerce Subscription:

    • A new order is generated.

    • A new Subscription record under WPSubscription is created.

  • Start Date: Matches the original subscription’s start date.

  • End Date: Matches the original subscription’s scheduled end date.

  • From the next billing cycle, the new WP Subscription follows the product’s recurring schedule.

3. Auto-Renewal Migration

  • For Paddle Payments:

    • The migration updates the subscription in Paddle.

In Paddle Subscription, the identifier for Subscription is updated. Also, Old data is retained.
  • Old Paddle Data (example)

{
"wc_order_id": 1000,
"wc_subscription_id": 1001
}
  • Updated Paddle Data (example)

{
"old_data": {
"wc_order_id": 1000,
"wc_subscription_id": 1001
},
"wc_order_id": 1501,
"wp_subs_migrated": "true"
}
  • For Stripe Payments:

    • Payment data is migrated from the original WooCommerce Subscription.

    • The new Subscription continues auto-renewal seamlessly.

4. Background Migration

  • Migration runs automatically in the background.

  • Key Point: Website usage and performance remain unaffected during the process.

Post-Migration Actions

Original WooCommerce Subscriptions is still active. Disable the WooCommerce Subscriptions plugin entirely.

Special Notes

  • Original Subscription data is preserved; only the product type is changed.

  • Migration ensures future payments align with the product’s recurring rules.

  • Auto-renewals are re-linked to WPSubscription depending on the payment gateway.

Paddle for WooCommerce, WooCommerce Stripe Payment Gateway

Step-by-step migration process

  1. Log in to your WordPress Dashboard.

  2. Install/activate the required plugins listed above.

  3. Go to WP Subscription > Import Subscriptions.

  4. Choose one of the import actions:

    • Import All to migrate every listed subscription, or

    • Select multiple rows and click Import Selected, or

    • Click Import on an individual row to migrate a single subscription.

  5. The import starts, and a progress bar displays migration status.

  6. On completion of each row, the New Subscription ID column shows the created WPSubscription ID (linked record).

Troubleshooting

  • On the first time, if all import fails, please clear the cache of your site. Your hosting provider may also cache the data. So, try after some time (e.g., 30 min).

  • Sometimes, due to caching, some imports may fail. If so, try importing the failed ones again.

  • You can check the log for the migration by going to WooCommerce > Status > Logs and opening the log file with the name wpsubs_import.