View Categories

Xero Sync: how orders post

2 min read

These choices are on the Settings tab of WooCommerce > Xero, and in step 2 of the set-up.

When and how #

  • Post when: the order is paid, or on hold for an offline payment such as a bank transfer. Or wait until the order is completed.
  • Each order posts as an invoice with its payment. There’s no sales receipt option: Xero has no such document for this.
  • Customers: one Xero contact per email address, or one contact for all web sales under a name you choose. An existing contact with the same email is used, not copied.
  • Number prefix: goes in front of your order number, such as WEB-1042, so web orders never clash with invoice numbers you use in Xero.

Each line #

Products, shipping, fees and rounding each post to the account you picked in Where lines post, with the Xero tax rate you matched to each WooCommerce rate. The tax on each line is the order’s own amount, as WooCommerce worked it out, and it stands even where Xero’s rate would work out a different amount. So the total in Xero matches the order.

When WooCommerce and Xero round a cent differently, the cent goes on a Rounding line. A gap too big to be rounding stops the order with a message instead, so you can check it.

Changes after posting #

  • An edited order updates its invoice while nothing has been paid or credited on it. Ten edits in a minute make one update. Once the invoice has a payment or a credit note on it, a change to the order waits under Needs attention: change the invoice in Xero by hand.
  • A refund posts by itself as a credit note. On an unpaid invoice it comes straight off what’s owed. On a paid one, the money going back is recorded as a refund. A refund that names no order lines shares its tax out in proportion to the order.
  • A cancelled order voids its invoice. An order that was never posted has nothing to void. An order refunded in full stays as it is, because the refunds are already in the books. A cancelled order with a payment in the books waits under Needs attention, asking you to refund it in WooCommerce, so the money going back is recorded. Nothing is credited on a guess.
  • An invoice deleted or voided in Xero is never posted again by itself. Press Post again on the order if you want it back.

When an order can’t post #

The order waits under Needs attention with a message saying what to fix, then Retry. The usual ones:

  • The order is dated before your lock date in Xero. Move the lock date there if it should post.
  • An invoice with the same number is already in Xero. If it’s this order, link it from the Import tab. If not, set a number prefix.
  • Xero refused something, such as an account that can’t take sales lines. The message gives Xero’s reason.
  • The order is in a currency other than your books’. Orders in other currencies aren’t posted yet.

Daily alert email #

Enter an address under Daily alert email and you get one email a day when something needs attention or the connection was lost, with a link to the Activity tab. Nothing is sent on a day when all is well.