How to Post Bulk Export Historic WooCommerce Orders to Xero

The Bulk Export to Xero option from the main Xeroom menu takes you to the bulk data loading tool.  This enables a large number of historic orders to be posted to Xero in one go.   If you are migrating to Xero and who want your past history to be loaded into Xero for the current or previous financial periods.

Note: If you only have a small number of orders to export then you can use the WooCommerce Order Dashboard and do a Bulk send to Xero of your selection of ticked orders.  Ensure that in Xero your accounting period is NOT closed for the dates of the orders otherwise they will be rejected by Xero.  Also ensure that the Batch Size is set from 4-6 in Xeroom settings so as to not cause Xero to reject the posting due to too high a rate of API calls which are strictly controlled in number and rate.

Follow these steps to do your export:

  1. Decide on whether to export all orders or just a selection.  If all then just select the status and whether to repeat a previous export or to create new invoices with status either Paid or Unpaid and hit the Run job button which will have changed from the Download button.
  2. If a selection then download a list of all the existing orders into an Excel spreadsheet.  Select exactly which orders you want posting – and whether they are created as Paid or Unpaid in Xero.
  3. Upload the spreadsheet by clicking the button and then Run the job.
  4. Check the full Posting Report showing the status of each order’s success in posting – see example below.





















Warning – This will create orders in your Xero account which if are of Paid status cannot be deleted.  Removing orders from Xero is a painful task!  To avoid wasted time we strongly recommend creating a demo Xero account and connecting your site to that to check this process before switching back to live.  Then just run a small number and double-check before doing a large export run.

If you hit any errors then please check debug and your WooCommerce error_log to identify the issue. If the batch size is too big then try a smaller batch size. If you are still having problems then please contacting support.