Version 3.0 of our WooCommerce Customer / Coupon / Order CSV Import suite was released last week. While this adds necessary upgrades like WooCommerce 2.6 compatibility, it also provides a complete rewrite and tons of new features! Let’s take a look at the changes.
Background Import Process
One of the problems we saw frequently with order imports was timeouts on shared hosts. For some stores, this limited the number of orders you could import at a time to just a few thousand, and in some cases, just shy of a thousand orders, depending on the host.
If your store was migrating from a different platform, it could be cumbersome to break a CSV file up into several files to import your orders, customers, or coupons.
As a result, all import processes now take place in the background on your site. This means that import files are processed in batches behind the scenes, providing a couple major improvements for users:
- Imported files can now contain thousands of rows, regardless of your hosting service, as the plugin will churn through it bits at a time. This prevents timeouts from occurring while processing imported files.
- As the import process happens in the background, you can navigate away from the import page. This lets you set up your import, then continue with your site management while the import file is processed and data is merged or created.
Re-built for an improved UI
The user experience for importing has been completely redone to ensure that import formats are as flexible as possible while providing maximum data integrity. We’ve also re-ordered the import screen to reflect the recommended order: customers, coupons, then orders.
In terms of flexibility, you’re no longer restricted to just file uploads for import. You can now select a file, enter a URL or file path, or copy and paste import data for the plugin to process.
Once you’ve uploaded your data, you can set import settings and see a preview of your file. This lets you ensure your delimiter is correct, and you can configure customer, coupon, or order settings for your file (such as whether or not you want to merge data).
Once your settings are configured, you can map your columns to WooCommerce data. This is one of the largest improvements with our rebuilt UI — rather than being required to use rigid column headers and formats, the import format is now more forgiving so you can spend less time on editing CSV files for import.
Once your columns are mapped, you can still run through a dry run to ensure your data imports correctly. However, you’d previously have to start over for a live import run. Since this would be a pain with the increased number of screens you’ll work through, you can trigger a live import immediately after a dry run has processed if it looks successful by clicking the “live import” link in the notice.
After your import has finished, you’ll see a detailed breakdown of merged, inserted, failed, or skipped data, along with a detailed report on any skipped or failed rows so you can see what data was incorrect or missing.
Order Merge Support
Our most requested feature for CSV Import Suite was order merging. With the previous structure of the plugin, this would have been difficult, but not doable in a way that we felt would preserve order data integrity. As a result, the plugin needed some restructuring to properly support order merging.
You can now merge order data, which will try to match orders by ID or order number. As tax data or other fees / costs from different systems may not match perfectly with your current site set up, you can also recalculate taxes and totals upon importing your orders.
Order merging paves the way for simpler updates like bulk-adding tracking numbers or other order meta, so we’re very excited to make this feature available.
Since order data can now be merged, we’ve also added a brand new CSV Import format to our Order / Customer CSV Export plugin (the previous CSV Import format is now titled “Legacy CSV Import”). This new format encodes product, fee, shipping, and tax line items in JSON format, and also adds far more metadata so that re-importing orders or moving them to other systems preserves the maximum amount of data possible for every order.
There are also other miscellaneous improvements to the plugin with this rewrite.
Importing meta data for customers, coupons, and orders is now simpler — include a column with the meta key as the column name, and you can set this as meta data while mapping columns.
You can also import custom taxonomies for coupons, customers, and orders, which was a common request from merchants who use plugins that add customer or coupon taxonomies. The taxonomy slug should be set as the column name, then terms can be entered for each row, separated by a pipe (“|”) character.
The other minor tweaks and fixes are geared towards making every import process as smooth and easy to understand as possible, such as fixes for certain character encoding or other minor issues that you shouldn’t need to know about in the first place 🙂
We hope you enjoy the improved import processes and more forgiving format this rewrite provides! If you run into any issues at all, please let us know via the help desk and we’d be happy to get you squared away.