Skip to main content
flyingpenguinYOUR DIGITAL PARTNERBook a free call

Online shops / Checklist

Connecting WooCommerce to Xero: what needs to match?

A customer pays for an order, an invoice appears in Xero and the payment provider later sends money to the bank. Those records describe different parts of the sale. Connecting the shop to the accounts should make them easier to follow.

I would start by asking who enters each record today. If a payment provider already passes payments into Xero, a second connection doing the same job can create a problem you did not have when the records were entered manually.

The detail depends on the connector. This article uses the documented Xero for WooCommerce extension as an example and points out where another plugin can behave differently. The test plan is something to work through with whoever looks after your books.

Name the connector and the job it will do

Name the actual connector and settings in the setup notes. “Xero integration” leaves the export trigger, records and retry behaviour unexplained. Check the versions and accounts involved.

The Xero for WooCommerce extension documents invoice export and payment settings. It does not provide two-way inventory synchronisation. If you need stock quantities to move in both directions, treat that as a separate requirement.

Choose where the original record belongs. A shop order can provide the sales detail while the accounts system holds the accounting record. Staff need to know which one to correct if an address, line or payment status is wrong.

Source: WooCommerce: Xero extension documentation

Follow one order into the invoice

Use a sample order with the sorts of lines your shop actually sells. Include shipping and a discount if you use them. Compare the customer, descriptions, quantities and totals with the invoice created in Xero.

Ask the person responsible for bookkeeping to review the account and tax mappings and record what each is for. After an export, inspect the resulting invoice as well as the connection’s success status.

If you use the extension’s inventory-item option, its documentation requires the WooCommerce SKU to match the Xero item code. Check a sample before exporting the full catalogue.

Source: WooCommerce: Xero extension documentation

Decide which connection records the payment

List every service that can write payment information into Xero. Include the shop connector and any payment-provider connection already in use. Decide which one should create the relevant payment record and how the other records will be matched.

The Xero for WooCommerce documentation uses one Payment Account setting across gateways and describes a manual payment mode for cases where another integration records payments. Check that arrangement against how you take payments.

Then follow a successful test payment. Find the order, invoice and payment record, and confirm that the same sale has not been recorded twice. Repeat the check with the person who will reconcile the account.

Flying PenguinFrom the workshop

Which connection writes the payment?

Shop orderA sale recordedThe shop holds the sales detail
Payment recordsTwo possible connectionsBoth could try recording the same payment
ReviewCheck for duplicationAgree the responsibilities first

List every service that can write payment information into the accounts.

Conceptual bookkeeping workflow. No accounting entry, export, payment or refund is performed.

Source: WooCommerce: Xero extension documentation

Keep order fees and processor fees separate

A fee line charged on a shop order and the fee retained by a payment processor are different amounts. The extension’s Fees Account concerns WooCommerce order fee lines; it does not send Stripe or other processor transaction fees.

Ask how the processor fee and bank payout will be brought into the accounts and matched. The payout can cover a different grouping of transactions from a single order. Work through an example using the statements and reports your business actually receives.

Keep the connection’s limits in the handover notes. That prevents somebody seeing an invoice in Xero and assuming every part of the payment and bank reconciliation has already been dealt with.

Source: WooCommerce: Xero extension documentation

Test what happens when the sale changes

Try a refund and inspect both systems. For the documented Xero for WooCommerce extension, a full refund attempts to void the invoice, while a paid invoice needs adjustment in Xero. Confirm the required bookkeeping action before relying on the shop’s refund button to finish the job.

Other connectors have different settings. Invoice Sync for Xero, for example, documents its own credit-note and refund options. Read the documentation for the product you are buying; a feature on one plugin’s page does not establish how another works.

Add partial refunds and changed orders to the test plan if your business uses them. Keep a record of the expected outcome and the manual work left for staff. Ask how a failed export is reported and how a retry avoids creating another invoice.

Source: WooCommerce: Xero extension documentation; WooCommerce: Invoice Sync for Xero

Prove a small set before importing the history

Use the connector’s supported test arrangement and sample records first. Agree which systems can send emails or create other actions during the test. Keep the existing records and exports available while the mapping is being checked.

I would want a small set of sales followed through with the bookkeeper before sending a large batch of historical orders. A mistake in one mapping is much easier to spot and correct when you have a handful of records to inspect.

  • An ordinary paid order reaches the intended customer and invoice record.
  • Shipping, discounts and any shop fee lines appear as expected.
  • Account and tax mappings have been reviewed by the person responsible for the books.
  • Only the intended connection writes each payment record.
  • The processor fee and eventual bank payout have an agreed reconciliation route.
  • A refund leaves the right invoice or credit adjustment and a clear staff task where needed.
  • A failed export is visible, and a controlled retry does not create a duplicate.

Sources

Checked on 23 October 2026.

  • WooCommerce: Xero extension documentation

    The named extension’s invoice/payment settings, account mappings, SKU matching and limits around inventory, processor fees and paid refunds. Checked 23 October; review current settings before implementation.

  • WooCommerce: Invoice Sync for Xero

    A separate connector’s own refund and credit-note settings. These features are not attributed to the Xero for WooCommerce extension.