How to update WooCommerce order statuses when a payment is received in Xero

Learn how MyWorks can update your WooCommerce order statuses whenever a payment is received in Xero, streamlining your business processes and ensuring accurate financial records.

Written by the MyWorks Team

Updated at March 27th, 2024

Table of Contents

If your WooCommerce orders are being synced to Xero as invoices using MyWorks Sync, and there's no payment being made in WooCommerce when the orders are placed (using gateways like wire transfer, bank transfer, cash on delivery, etc) - the order will be synced to Xero as an open invoice.

In cases like this, it's very common to proceed in the below way:

  1. The order would sync to Xero as an open invoice, and MyWorks can be set to automatically email the invoice from Xero to the customer. The customer can the pay the invoice manually or pay through Xero.
  2. When the invoice in Xero is marked as paid, MyWorks is able to update the original WooCommerce order's status - to “Complete”, for example. 


  1. In MyWorks Sync > Settings > Automatic Sync, turn on the Payment switch in the Xero > WooCommerce direction.
  2. In MyWorks Sync > Settings > Pull, there are two settings that will now show:
    1. Update order to this status when payment is added in Xero: This setting controls what the WooCommerce order status will be changed to by MyWorks Sync, once a payment for that order is added in Xero.
    2. Don't update orders in these statuses: This setting controls which order statuses should not be changed by MyWorks Sync, if the order is in this status when the payment is made in Xero. The common options to set here would be Completed (if you don't want completed orders to have their status changed), or Cancelled (if you don't want cancelled orders to have their status changed) - if a payment is applied to those orders in Xero.

Once the above has been configured, when an invoice we've synced to Xero has been fully paid in Xero, we will automatically update the status for the related WooCommerce order, following the settings above.