Migrating Existing Scheduled Orders to a New Site
There are several common reasons you may need to migrate your Scheduled Orders from one site to another one.
Common reasons for this include:
- Retiring an old site and migrating to a new one
- Changing the site or business name / URL
- Updating the existing QPilot app to a different environment (for example going from a staging site URL to a live URL)
In cases like these, merchants can easily migrate existing Scheduled Orders from one URL to another URL.
Pro-Tip! The requirements below require a basic understanding of how Id's for Customers and Products exist in your WordPress Site's database. If you're unfamiliar with WordPress User and Post Id's, you can learn the basics in this helpful doc from WPBeginner.
To ensure that Scheduled Orders continue to process with the correct data, you will need to ensure the following records are not changed in your "new" WordPress Site's Database:
- WooCommerce Customer Id's (the same as the WordPress User Id's) have not changed between sites
- WooCommerce Product Id's have not changed between sites
Step-by-Step Guide to Migration
Step 1: Verify Customer & Product Id's Have Not Changed
Verifying that your Customer and Product id's have not changed when moving to a new site is the single, most important thing you can do to ensure a successful migration.
There are many ways to do this, but the easiest method is to have your hosting provider or developer clone your existing site's database to your new site before you begin design, customization, and testing. By ensuring no new data is created on your new site, you insure against an id assigned to a customer or product on your old site being in use on your new site.
If you are unsure if your id's changed when creating your new, you can check this by exporting your products and customers from both sites and comparing the exports in a spreadsheet editor. In the example below, an admin uses a plugin to export their customers to compare between sites. Notice they only are using the ID and user_email since they only need to compare the (user) IDs between their sites by matching the user_email.
Products can similarly be exported from WooCommerce. Go to WP-Admin > Products and select the "Export" option, and you will be able to export a csv of your products to review and compare them. See how the user exports only the fields they need in the images below? In this case, you only need to compare product Id's and Titles.
Step 2: Pause Site Processing
Before migrating, pause your site processing. This will prevent any Scheduled Orders from processing while you migrate. When you resume site processing, any Scheduled Orders with a due or past Next Occurrence Date will process automatically.
To pause processing, follow the steps outlined in this doc: How Do I Pause Site Processing?
Step 3: Update your URL
To migrate your QPilot instance (your Scheduled Orders) from one site to another, you will need to update the connected URL. You can do this by visiting your QPilot Merchant Center and selecting "Edit Site" from the site menu in the upper right of the QPilot Site's card.
From the "General Settings" tab, paste the new site URL you want to be connected to QPilot and select "Update"
Step 4: Connect QPilot to the WooCommerce REST API in Autoship Cloud
Finally, you should visit your previously connected site's URL and disconnect from QPilot ( WP-Admin > Autoship Cloud > Settings > Connection Settings). This is a vital step to ensure you do not experience any connection or processing issues later on with your new site.
Next, you will connect your new site to QPilot as outlined in this doc: Connecting to the WooCommerce API. This will update your QPilot Merchant Center with the new site's WooCommerce REST API keys (Read / Write).
Newly created Scheduled Orders from the new site will be created with the same connected QPilot Site, and existing Scheduled Orders will be processed, moving forward, on the new site as well.
Step 5: Review Migrated Scheduled Orders
After the migration is completed, Scheduled Order prevalidations are run to ensure your new site in QPilot is set up correctly and to uncover any Scheduled Orders with prevalidation warnings, so action may be taken to fix them so they do not fail processing when site processing is resumed.
Prevalidations are listed in the "Validation Check" column in Autoship Cloud > Scheduled Orders. These validation checks ensure the Scheduled Order is ready to be processed!
If a prevalidation warning is displayed, selecting the warning icon will provide more information on the warning and how to fix the error causing the warning. See how to run prevalidations on your Scheduled Orders.
Step 6: Resume Site Processing
Once you have ensured your newly connected site has a healthy connection status and that your Scheduled Orders were successfully migrated, you can safely resume site processing!
To resume processing, follow the steps outlined in this doc: How Do I Pause Site Processing?
I'm migrating to a new site, how to I ensure my Scheduled Orders stay with the correct customers?
If you are planning to migrate to a new site (rather than a clone of the old site), it is important to prioritize your site's data before anything else. This is because Customers and Products are referenced by their Id's in your Wordpress Database. Autoship Cloud's hosted service QPilot uses these ids to synchronize your product and customers, so if the data associated the ids have changed, your data in QPilot could become corrupted.
To avoid unexpected changes to your site's data, export your customers and products from the old site and import them to the new site as a first step. The 2 best ways to do this:
- Have your developer copy specific data from your old site's database to the new site
- Use an export / import plugin
WooCommerce has a basic Export / Import tool for products, but there are many paid and free plugins that offer more features. Some examples of these plugins are:
- WooCommerce Customer Order Import Suite
- WebToffee Users Customers Import Export for WP WooCommerce
- More Plugins in this Learn Woo Article
After importing products and customers to the new site, it is always a good idea to compare your original site's export with and export from your new site (after importing them) by seeing which ids match / do not match between exports.