We’re excited to share another large plugin update with you today: The WooCommerce Customer / Order XML Export Suite has now been updated to version 2.0.
This is a huge change that incorporates many of the new features we’d added to our CSV Export 4.0 release, and we know this will improve your workflows when exporting orders and customers to XML documents.
Custom Format Builder
While we’ve always had extensive developer documentation available for our export plugins, there are some minor changes to XML output that most any user should be able to make, such as renaming an XHTML tag or removing a tag altogether from an import.
As such, we introduced the “Custom Format Builder” in our CSV Export plugin, and we’ve now added a comparable builder to the XML Export suite. You can now determine which fields / tags should be included in your exported file if you don’t want to use one of the built-in formats. This format builder is available for both order and customer export formats so that you can customize the output of either export file.
Add a tag, then determine what data should be used in that tag.
To help out with this set up, you can click “Load Mapping” in the bottom right corner to pre-load one of the built-in formats, which you can customize from there. Developers can also use a JSON snippet to build a format from a different source.
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 if you have other plugins adding information to orders or user meta: you can manually include the meta keys you need in your export, such as delivery dates or other data, by entering the meta key as a column.
Not sure of a meta key? Enable “Include all meta” and the exporter will include tags for all meta keys for the order or customer that aren’t included by default so you can see what information is available.
Asynchronous Export Process
We’ve also pushed export processes to the background in your site and they’re processed in batches. Rather than trying to export an entire file in one go, the exporter will break it into small chunks and fire off several requests for the file data, letting it churn through all records in the export until it’s built a completed file.
This means that you can export thousands of WooCommerce orders or customers without ever having your export files time-out or hit your server’s limits!
Because export processes happen in the background of your site rather than requiring all server resources immediately, you can now 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 file.
If you choose to wait for your export, it will download immediately. If you don’t wait, the plugin will notify you when your file is ready for download.
These downloads will be available in the new Export List for you to download them when you’re ready.
The Export List is available as a new tab in the Exporter section, and this will store every export for 14 days, including those manually triggered by you and ones automatically generated on a schedule.
This lets you ensure that you can download files as needed, re-download exports if an automated transfer fails, or re-try a transfer right from the list.
Speaking of transfer status, XML 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 rather than hearing from your distribution center a few days later that orders haven’t been received.
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 way, if your destination server was down and you have to manually grab an export or retry the transfer, you won’t miss a beat and haven’t lost that file.
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.
Product and Category-Based Order Exports
We were often asked how to export orders based on what was purchased, as previously you could only export based on status. We’re happy to say this kind of export is now possible, as you can filter exports based on product or category purchased.
These new order filters are available for manually-triggered exports, as well as your automated exports, so you can choose which orders to include in your files with more granular control.
New Automated Export Methods
We’ve also made improvements to automated exports themselves. To start, we’ve added automated customer exports to the plugin. While you could always export your new orders on a schedule, you didn’t have a way to export new customers on a schedule as well.
Automated customer exports solve that problem, and your customer exports can be generated and transferred on a schedule.
How about on the orders side of things?
While automatic exports could always 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 it’s created.
We can’t quite achieve an export at order creation, as it could be cancelled, failed, or may not contain all data when created. However, we can export orders as soon as their paid for, which is typically a more robust option.
As a result, 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.
Finally, both orders and customers have a new automated export method: local filesave. This is useful if you want to generate an export on a time schedule (say, one every 12 hours), but don’t want to send the file anywhere.
The XML Exporter will now generate these files on your desired schedule, and will save them to the Export list to be downloaded at your convenience.
We’ve made several other small usability improvements, like the ability to initiate a file transfer from order actions, not just a direct download:
These small fixes and enhancements round out the version 2.0 release to provide a plugin that makes export formats more flexible and customizable for merchants, more resilient to server environments by batch-processing exports in the background, and also provides new options for automated exports.
Version 2.0’s product and category order filters, transfer monitoring, export complete notifications, and other enhancements make this a robust and feature-rich option for managing customer and order exports on your site.