Guides

AP automation for Xero: what it does, what it never will

Xero's bills workflow is deliberately simple. Here is exactly which accounts payable stages it covers, the three it structurally does not, and what to add for each.

Three cards on a light dotted canvas: a purchase order and a bill joined by a mint check, and a third card for the goods receipt drawn only as a dashed violet outline with a question mark.

Xero’s bills workflow is deliberately simple, and the simplicity is the product. It covers capture, coding, light approval and batch payment for a small business, and it does that well. Three accounts payable stages it does not cover, and two of those are structural rather than missing features.

This is what Xero does at each stage, where it stops, and what is worth adding for each gap.

Stage by stage

StageXero nativeVerdict
CaptureEmail-to-bills, file inbox, Hubdoc extractionGood for recurring suppliers
CodingPrevious-bill defaults, tracking categoriesGood, dimensionally limited
Purchase ordersCreate, send, copy to billPresent
Goods receipt—Absent by design
Three-way matching—Not possible without a receipt
ApprovalBill approval, plan-dependentBasic
PaymentBatch payments, bank payment file exportGood
ReconciliationBank feed, bank rules, batch matchingGood until aggregation

What Xero does well

Capture on recurring suppliers is genuinely solved. A supplier emailing the same shape of invoice every month gets extracted, coded from last month’s treatment, and presented as a draft bill. For a business with thirty regular suppliers this removes nearly all of the typing.

Batch payments work. Select the bills, create a batch, export the file in your country’s format, upload it to the bank. Xero keeps the batch as an object, which matters at reconciliation: the single bank line that comes back can be matched to the batch rather than to twenty individual bills.

Bank rules automate the tail. Recurring, recognisable, low-value transactions get a predetermined treatment and stop consuming attention.

The three gaps

1 · No goods receipt, therefore no three-way match

Xero has purchase orders. It has no object representing this arrived. So the strongest control in accounts payable — three-way matching between order, receipt and invoice — cannot be performed, because one of the three documents does not exist.

What you get instead is a two-way comparison: copy the purchase order to a bill and compare what was ordered with what was billed. That catches price and quantity errors on the invoice. It does not catch being billed for something that never turned up.

This is a genuine design decision, not a defect. Xero targets businesses where the person approving the bill usually knows whether the thing arrived. That assumption holds for a ten-person agency and stops holding somewhere around the point you have a warehouse or a site.

If you need real three-way matching: the receipt has to come from somewhere else — an inventory system, a procurement layer, or a job-costing tool that records deliveries. Adding an AP workflow product on top of Xero does not create receipts.

2 · Approval is routing, and barely that

Xero’s bill approval is a single step on the plans that carry it: someone marks the bill approved. There is no threshold-based routing, no hierarchy, no delegation, no per-category approver.

For a business where one director approves everything, that is sufficient and anything more is overhead. For a business with cost centres and spending limits, the policy has to live outside Xero — usually in a spreadsheet, a Slack convention or somebody’s memory — which means it is not enforced and not auditable.

This is the clearest case for a workflow layer, and the market for it is well served. The evaluation question is whether the layer writes its decision back onto the Xero bill, or keeps its own parallel status that has to be reconciled.

3 · The gap between what you paid and what your books say

The largest remaining cost, and the one no AP tool addresses.

Three routine cases break the link between a bill and the money:

  • Aggregated settlement. One deposit or one debit represents many documents. Xero’s batch object handles the outbound case. It has nothing for the inbound equivalent — one customer settlement covering forty invoices, net of fees.
  • Foreign currency. The bill carries one rate. The bank applied another, plus an FX markup that is not itemised. The difference is real, correct, and looks like an error.
  • Payments outside the flow. Someone paid a supplier by card because it was urgent. The bill stays open, the money is gone, and the bank line has no bill to attach to.

In each case both records are right and nothing connects them, so somebody rebuilds the connection by hand every month. That is not a Xero limitation — it is what happens when the payment and the record of the payment are created by two different systems that never spoke.

What to add, by symptom

Your actual problemWhat to add
Too much typingCapture / extraction tool
No spending controlApproval workflow layer that writes back to the bill
Need to prove deliveryInventory, procurement or job-costing layer with receipts
Bills and bank never agreeA payment layer that keeps the link, not an AP tool
Outgrown one entityConsider whether the constraint is Xero itself

Do not buy for the wrong symptom. These are four different markets and the products in them do not substitute for each other. An approval tool bought to fix reconciliation will fix nothing.

Where Fynex fits

Fynex sits underneath Xero, on the fourth row of that table.

Payments carry what they settle. A batch of supplier payments arrives in Xero as settled bills, not as one line to decompose. An incoming settlement covering forty invoices arrives as forty applied payments with the fee posted as a fee. Foreign-currency payments carry the rate that was actually applied, so the difference is explained rather than discovered.

Fynex does not do capture and does not do approval — Xero does the first well and the market serves the second properly. What it closes is the gap that opens after the payment, where the money moved and the record of it did not follow.

Related: Accounts payable automation, explained · Xero vs QuickBooks on reconciliation · Reconciling payments to Xero · Reconciliation

FAQ

Frequently asked questions

Not natively, and this is a design decision rather than an omission. Three-way matching requires a goods receipt — a record that what was ordered actually arrived — and Xero has purchase orders but no goods receipt object. You can copy a purchase order to a bill, which gives you a two-way comparison against what was ordered, but nothing confirms delivery. Businesses that need genuine three-way matching either add an inventory or procurement layer that carries receipts, or accept a two-way match and control the risk through approval.
Xero produces a batch payment and a bank payment file in your country's format, which you upload to your bank. That part works well. The friction arrives afterwards: the bank returns one statement line for the whole batch, so reconciling it means confirming that one line against the batch payment record rather than against the individual bills. Xero handles this specific case reasonably because it keeps the batch as an object, but any bill paid outside that flow breaks the chain and has to be matched by hand.
It depends entirely on which stage is costing you time. If the cost is data entry, a capture tool pays for itself quickly and integrates cleanly. If the cost is approval control, Xero's native approval is limited and a workflow layer is justified. If the cost is that payments and the ledger disagree at month end, no AP workflow tool will help, because that gap sits after the stage those tools cover. Diagnose which of the three it is before shortlisting, because the three markets barely overlap.
Usually because one payment covered several bills, or the amount that left your account differs from the bill total. A batch payment arrives as a single bank line covering many bills. A foreign-currency payment lands at the bank's rate, not the rate on the bill. A payment made by card or manual transfer outside Xero's payment flow leaves the bill open while the money is gone. In each case the bank line is real and the bill is real, and nothing links them, so somebody rebuilds the connection during reconciliation.
Book a demo