Industry Bookkeeping
Woocommerce Xero: A Beginner’s Guide
Connecting a store to accounting software can reduce rekeying and support bank reconciliation. Common failures include an unsuitable level of detail, incomplete mappings, and net deposits that obscure fees, refunds, tax, or timing.
Connecting a store to accounting software can reduce rekeying and support bank reconciliation. Common failures include an unsuitable level of detail, incomplete mappings, and net deposits that obscure fees, refunds, tax, or timing.
What a good sync pushes
The official WooCommerce Xero extension currently describes a transaction-level flow that creates Xero invoices for WooCommerce sales and sends item, shipping, discount, and tax data. Other connectors may use daily or payout summaries. Verify the selected connector’s current behavior before choosing the accounting design:
- Gross sales, split by product or category if your reporting needs it
- Sales tax collected, to a liability account rather than to revenue
- Shipping income, separately
- Discounts and refunds, as their own lines
- Payment processing fees, as an expense
- The net amount expected to hit the bank, so reconciliation is a single match
The accounting workflow must also explain the net bank deposit. Whether the connector creates invoices or summaries, gross sales, tax, refunds, fees, timing, and the processor payout must reconcile through a controlled clearing process.
What it should not push
Do not assume that individual invoices or summaries are automatically right for every store. The official extension uses invoices, while other workflows may aggregate. Test transaction volume, customer detail, inventory needs, tax data, refunds, reporting, and performance before approving the design.
Do not create unnecessary customer duplication. Confirm how guest buyers, returning customers, changed email addresses, and business customers map, and whether the connector uses individual contacts or a defined default contact.
The fee problem
Payment processors deposit net of their fees. If your sync records only the net figure as revenue, you understate both revenue and expense, and your margin is wrong by exactly the fee amount. Fees must appear as an expense with gross revenue recorded separately.
The same control issue can appear with settlement statements and marketplace payouts: the net deposit alone does not establish gross revenue or the related deductions.
Inventory
If you hold stock, decide which approved system controls quantity and cost and how the accounting file receives that information. Two independently maintained inventory records can diverge. Confirm the cost-of-goods-sold policy with the business’s accounting and tax professionals.
Before you connect
- Set up the chart of accounts first, with the accounts the sync will map to
- Confirm sales tax maps to a liability account
- Decide summary versus detail, and per-day versus per-payout
- Run a short parallel period and reconcile manually before trusting it
- Confirm what happens with refunds and partial refunds, which is where connectors differ most
Map the complete transaction lifecycle
Draw the path from order authorization to WooCommerce status, payment processor, connector, Xero document, payout, refund, chargeback, and bank reconciliation. Assign a system of record for order detail, customer detail, inventory, tax calculation, accounting, and cash settlement.
The connector is one handoff inside that lifecycle. A successful sync does not prove that the payout, fee, tax liability, or refund is complete. Define the control total at every handoff.
Verify current connector behavior
Use current vendor documentation for the exact extension and version selected. The official WooCommerce extension states that it can create Xero invoices for sales, send item, shipping, discount, and tax information, and apply payments. Configuration and supported behavior can change, so test the actual environment before publication or cutover.
Document which order statuses trigger export, whether past orders are included, how payment methods map, what happens when a sync fails, and how retries avoid duplicates. Confirm whether edits after export update, reverse, or leave the Xero document unchanged.
Design account and tax mappings
Map product sales, shipping income, discounts, refunds, processor fees, gift cards, tips if relevant, and other order components to defined accounts. Map tax to liability accounts under the business’s approved tax setup, not to revenue. Separate marketplace or facilitator activity where the facts require different treatment.
Do not use a connector mapping as the legal conclusion about taxability, sourcing, registration, filing, or facilitator rules. Confirm those decisions for the products, customers, jurisdictions, channels, and current law, then configure the connector to reflect the approved treatment.
Reconcile payouts through clearing
Record the economic components that bridge gross order activity to the net processor payout. A clearing account can receive customer payments and be reduced by refunds, chargebacks, fees, reserves, and transfers to the bank. Reconcile the clearing account to processor settlement reports and the bank, by payout where practical.
For an illustrative payout, gross customer payments of $10,000 less $400 of refunds and $300 of processor fees produce a $9,300 bank deposit. The accounting should retain the $10,000 sales-related activity and separately represent the refund and fee rather than recording $9,300 as unexplained net revenue.
Handle refunds, cancellations, and chargebacks
Test a full refund, partial refund, cancellation before export, cancellation after export, chargeback, recovered chargeback, and fee reversal. Confirm which system initiates the event and what accounting document follows. The order status, Xero record, clearing account, and bank movement should tell the same story.
Use an exception queue for events that do not sync. Record order ID, Xero document, processor reference, amount, cause, owner, and resolution. Manual corrections should preserve the original event and approval.
Test timing and cutoff
Order date, payment date, shipment or fulfillment date, invoice date, payout date, and bank date may differ. Choose the accounting policy and connector trigger deliberately. At month-end, identify orders, refunds, and payouts that cross the cutoff so sales, tax, cash, receivables, and clearing are not shifted without explanation.
Time zones also matter. Configure systems consistently and test an order near midnight, a weekend payout, and a month-end refund. A one-day difference can become a different reporting period.
Treat inventory as a separate design
Confirm whether WooCommerce, another inventory application, or Xero owns quantity and cost. Test products, variants, bundles, landed costs, returns, damage, and adjustments. A sales connector that sends order detail does not automatically provide a complete perpetual inventory or cost-of-goods-sold process.
Reconcile inventory value and quantity to controlled reports. Document how purchases, receipts, sales, returns, and write-downs enter the accounting records.
Run a parallel test
Use representative orders in a test or controlled period: taxable and nontaxable items, shipping, discount, multiple payment methods, full and partial refunds, failed payment, chargeback, guest customer, and month-end order. Compare WooCommerce totals, connector logs, Xero documents, processor settlements, bank deposits, tax, fees, and clearing.
Do not approve the connection from one successful order. Reconcile a complete payout cycle and confirm how errors are identified, retried, and reviewed.
Monthly close checklist
- Store sales and refunds agree with controlled reports
- Tax totals agree with the approved reporting workflow
- Processor fees and chargebacks are recorded separately
- Payouts reconcile through clearing to the bank
- Duplicate and failed syncs are resolved
- Month-end cutoff differences are documented
- Inventory and cost schedules reconcile where relevant
- Access, mappings, and connector changes receive review
Official product resources
- WooCommerce Xero extension: https://woocommerce.com/products/xero/
- WooCommerce Xero documentation: https://woocommerce.com/documentation/products/extensions/xero/
Retain connector logs, mapping approvals, test evidence, and the final reconciliation with the close records.
Frequently asked questions
Do I need a paid connector?
It depends on volume, whether you need inventory sync, and how many payment methods you take. Capabilities vary and change, so compare current documentation rather than older comparisons.
Why does my bank reconciliation not match?
Common causes include net-of-fee payouts, timing differences, refunds, chargebacks, reserves, duplicates, or missing syncs. Reconcile the processor settlement and clearing detail before changing the mapping.
Should each order be an invoice in Xero?
The official extension currently uses Xero invoices, while other workflows may aggregate activity. Choose only after testing volume, customer detail, tax, refunds, inventory, reporting, and reconciliation requirements.
Does the official WooCommerce Xero extension create invoices?
Current WooCommerce product documentation says the extension creates Xero invoices for WooCommerce sales and sends transaction details. Verify the current documentation and test the configured version before relying on it.
How should processor fees be recorded?
Record fees separately from gross sales and connect them through the payout or clearing reconciliation. Recording only the net deposit can understate both activity and expense.
What should I test before going live?
Test normal sales, taxes, shipping, discounts, payment methods, partial and full refunds, cancellations, chargebacks, failed syncs, duplicates, month-end cutoff, and a complete payout reconciliation.
Turn this guide into action