Our WooCommerce Customer / Order CSV Export plugin has undergone some massive changes recently, and version 4.0 is now available to download for active license holders!
This release includes a lot of refactoring and internal improvements for the plugin. It follows on the heels of our Customer / Coupon / Order CSV Import Rewrite, leveraging what we’d learned about batch processing and parsing for export files to make exporting thousands of records a breeze. While the plugin always had ample hooks for customization that developers could leverage to adjust the export format, we’ve also made great strides in making simple changes more friendly for merchants without custom code as well.
Let’s take a look at some of the shiny new features in this release!
Custom Export Format Builder
Our WooCommerce custom export format builder is one of the features we’re most proud of for this release. We’ve added a column picker that will make it much easier for merchants and store administrators to create a custom format without needing to cobble together code snippets or hire a developer.
From the “Columns” tab, merchants can now define which columns and data should be included in the CSV file for both order and customer exports, along with configuring some basic settings for the custom CSV file. You can add a column, set its name, and select which data should be in this column for each order.
To make custom CSV set up simple and easy, you can click “Load Mapping” to pre-load the columns and settings from one of our default formats, then adjust the column names and data from there.
This also provides better support for order and customer meta, as you can manually add meta keys for user meta or order meta that you’d like added to your exports when building a custom format.
This is helpful, for example, if you have other plugins adding information to orders. You can manually include the meta keys you need in your CSV file, such as delivery dates or other data, by entering the meta key as a column.
Not sure of a meta key? Enable “Export all meta” and the CSV exporter will grab all meta keys for the order or customer (that don’t already have a dedicated “Data source”, such as the customer billing first name) and include them as individual columns.
Asynchronous Exports for Large Files
Here’s the big win in version 4.0 for a lot of stores: you can export thousands of WooCommerce orders or customers without ever having your export files time-out or hit your server’s limits!
Export processes are now pushed to the background of your site and processed in batches, letting you even start an export and navigate away from the page to come back to it later. You can even leave your site completely, then come back to a finished export later.
This system is not cron-based, so it doesn’t require constant traffic to your site to process.
The exporter will keep processing your export until the file is ready, then notify you when you can download it as you browse your admin, or when you come back to your site.
This replaces the need for the “limit / offset” settings in the older versions of the exporter, as these helped you break up exported files to avoid timeouts. Now you can get the entire file you need, and automatic exports, bulk exports, and manual exports will all process with this batch method while you continue working.
Your file will download immediately if you choose to wait for it, or you’ll be able to get it from the new Export List when it’s done.
Product and Category-Based Order Exports
Another common request we got was the ability to export orders based on what was purchased. We got questions like, “How can I export a list of WooCommerce purchasers for a product?” or “How can I get a list of everyone who purchased from a WooCommerce category?”
While you could always export orders based on order status, you can now also export orders based on what product was purchased, or what product category was purchased:
This export filter is available for all WooCommerce order export methods — manual exports, automated exports via email, or other automated methods. With this export, you could:
- Get a list of customers who purchased a WooCommerce product to import them to a MailChimp list
- Export a list of all customers who purchased products in your “Music” category to let them know of upcoming concerts
- Automatically send a list of new orders for a particular category to a fulfillment service via FTP / HTTP POST
We’re excited to roll out a much-needed feature that allows WooCommerce shops to easily get a product purchase list.
Per-Order Automated Exports
While automatic exports can be scheduled as short as five minutes apart, this may not be a small enough export interval for some stores — often, merchants want to export each order as they’re created.
While we can’t quite export orders as they’re created (what if it gets cancelled? what if it fails? what about the fact that at “creation” not all order data is present?), we can export them as soon as they’re paid for.
You can now schedule automatic order exports on a set time schedule, or export orders individually as soon as they’re paid via your chosen export method.
Automated Customer Exports
Automated order exports have long been a feature of WooCommerce Customer / Order CSV Export. Since these automated exports made it so easy to get order data, many merchants were looking for the same functionality for a customer list.
You can now automatically export customers via email, FTP, and HTTP POST. This will export any new customers on your schedule.
Existing customers won’t be duplicated within automatic exports so you always have a fresh list of new purchasers.
Previous Exports List
All exports will be added to a new Export List for 14 days after they’re generated (or will show as processing / queued jobs when they’re scheduled). This can let you leave an export and continue writing, managing orders, or doing what you need to do while exports process.
You can visit this list to cancel a queued job, re-download a file, send a file via email, or delete the old export file if you no longer need it (they’ll also be automatically deleted after 14 days). You’ll also see the transfer status for automatic exports to ensure that they’re being sent successfully.
Transfer Status Monitoring
Speaking of that transfer status column, CSV Export will now let you distinguish between a failed export and a failed transfer, and will also pay attention to these failures for you. This way, if your automated transfers are not processing, you’ll know immediately.
The plugin will inform you of a failed transfer immediately, and if you have multiple failures, will prompt you to check the logs and settings to ensure transfers are set up correctly.
This helps you if your remote server was down and you have to manually grab exports or retry a transfer. Orders are not marked “exported” if the transfer fails, ensuring that they’ll be included in the next automated batch so that these exports do not skip or miss orders.
There are other small fixes and improvements scattered throughout the plugin, such as a new bulk order action to use your automated export method for a CSV file instead of a direct download.
Overall, this release is geared towards making WooCommerce order exports and customer exports more flexible and customizable for merchants, more resilient to server environments by batch processing export jobs, and to add some highly-requested features.
Product and Product Category order exports can give you a WooCommerce product purchaser list; automated customer exports can allow you to easily update external systems or databases; and custom export formats make it easier for you to connect to external fulfillment centers or drop shippers.