Export Bank Statement — bank statement PDF to Excel
sync_altGuide

Xero Transaction Matching Guide

How Xero transaction matching works — suggested matches, Find & Match, one-to-many splits and bank rules — and why a reconciled CSV makes every match easier.

bolt

Transaction matching in Xero is the step where you pair each imported bank statement line with the invoice, bill, or payment it relates to, so the line clears and your books agree with the bank. Xero does most of the first pass for you: it shows a green OK suggested match when a statement line lines up with an existing invoice or bill, and you confirm it. Where there's no obvious pairing, you use Find & Match to pick the right document — one statement line to one invoice, or one line split across several. Matching is part of reconciliation, not a replacement for it, and it goes far smoother when the statement you imported is already complete and reconciled before it ever reaches Xero.

That last point is the one people learn the hard way. If a transaction was dropped at a page break during conversion, Xero has nothing to match it against, and you spend the afternoon hunting a 40 gap that should never have existed.

What "matching" actually means in Xero

When you import a bank statement as a CSV, each row becomes a bank statement line sitting in the bank account's reconciliation screen. Matching is the act of telling Xero which accounting record each of those lines corresponds to. A statement line saying "Stripe 1,240.00 in" gets matched to the sales invoice it paid. A line saying "BT 58.00 out" gets matched to the BT bill, or coded straight to a phone expense account if there's no bill.

A line isn't reconciled until it's either matched to a transaction or coded to an account and confirmed. Matching is the more precise of the two: it links the money movement to a specific document, so the invoice or bill is marked paid and nothing gets double-counted.

It helps to keep three terms straight:

  • Suggested match — Xero's automatic guess, shown with a green OK when it's confident. You still click to accept it.
  • Find & Match — the manual tool for choosing the document yourself when there's no suggestion, or the suggestion is wrong.
  • Bank rule — a saved instruction that auto-codes recurring lines (rent, a regular subscription) so you're not re-coding the same payee every month.

How Xero suggests matches

Xero compares each incoming statement line against your unpaid invoices, unpaid bills and any payments already entered. When the amount matches and the payee or reference is close, it surfaces a green OK and a proposed match on the reconcile screen. You read it, agree, and click OK.

It's a suggestion, not a fact. We've seen Xero confidently propose the wrong invoice when two customers paid the identical amount in the same week, so glance at the date and reference before you accept. The suggestion is there to save typing, not to make the decision for you.

Amount is the anchor. If the statement line is 1,240.00 and the invoice is 1,240.00, you'll usually get a clean suggestion. If the customer short-paid by a few pence, or paid two invoices in one transfer, the simple suggestion won't fire and you move to Find & Match.

Find & Match: one-to-one and one-to-many

When there's no automatic suggestion, click the statement line and choose Find & Match. Xero opens a list of all outstanding invoices, bills and payments. From here you can do two things.

One-to-one. Tick the single invoice or bill that the statement line pays. The amounts must agree. This is the everyday case — one payment, one document.

One-to-many. Tick several documents that a single bank line covers. A customer who settles three invoices with one 900 bank transfer is the classic example: tick all three, confirm they total 900, and match the lot to that one line. The same works in reverse for a supplier payment that clears several bills at once.

A couple of things worth knowing while you're in there. If the totals don't tie exactly, Xero won't let you confirm until you account for the difference — through bank fees, a minor adjustment, or an extra line. And if you genuinely can't find a match because the document was never raised, that's your cue to create it (or code the line to an account) rather than force a wrong match.

Bank rules: stop matching the same thing twice

If the same payee shows up every month and always codes the same way, build a bank rule so Xero handles it automatically. Go to the bank account, open Bank Rules, and set conditions — for example, "when the payee contains 'GitHub' and it's money out, code it to Software, 20% VAT". From then on, matching lines arrive pre-coded and you just confirm.

Rules are a real time-saver on recurring spend, but keep them tight. A rule that's too loose will grab transactions it shouldn't and quietly miscode them. Match on payee plus direction (spent/received) rather than amount alone, since amounts drift. Review your rules every few months and retire the ones for suppliers you no longer use.

Why a reconciled import makes matching painless

Here's the wedge most matching guides skip. Matching can only work against lines that are actually there. If your imported statement is missing a transaction — a row lost at a page break, an OCR misread on a scanned statement, a duplicated line — then Xero will either have nothing to match, or match the wrong thing, and your bank balance won't agree at the end.

This is where checking the file *before* import pays off. Export Bank Statement converts the PDF (including scanned and photographed statements, via OCR) into a clean CSV in Xero's import shape, then runs a reconciliation check: it verifies every extracted transaction against the running balance — opening balance plus the transactions should equal the closing balance — and flags any statement that doesn't reconcile. So you catch a missing or misread line on your screen, not three weeks later when a customer's payment won't match anything in Xero.

Be clear on what this is: a file you convert and import yourself under Xero's Import a Statement tool. It is not a live bank-feed API pushing transactions across — that path needs partner certification Export Bank Statement doesn't claim. You produce a reconciled CSV with the columns Xero expects, import it as statement lines, and then match and reconcile inside Xero exactly as you would lines from a feed.

The columns matter for the match to land cleanly. Xero's importer maps to Date, Amount, Payee, Description and Reference; get the payee and reference populated and Xero's suggested matches are far more likely to fire, because that's the data it compares against your invoices.

A quick worked example

You've imported March, and Xero shows 42 statement lines.

  1. The top eight light up green — customer payments matched to sales invoices. Scan the dates, confirm each OK.
  2. One line is a 900 transfer from a customer who paid three invoices together. No suggestion, so you open Find & Match, tick the three, confirm they total 900.
  3. Five recurring payments come in pre-coded because you built bank rules last quarter. Confirm.
  4. One line won't match. Because you reconciled the CSV before importing, you know the file is complete, so it's a missing bill in Xero, not a missing transaction. You raise the bill, then match.

Twenty minutes, and March reconciles. The slow version is the one where line 4 was dropped during conversion and you don't find out until the balance is 900 off.

Frequently asked questions

What is the difference between matching and reconciling in Xero?keyboard_arrow_down

Matching links a bank statement line to a specific invoice, bill or payment. Reconciling is the wider process of confirming every line — whether by matching it, coding it to an account, or transferring it — so the Xero balance agrees with the bank. Every match is part of reconciliation; not every reconciled line is a match.

Why isn't Xero suggesting a match for my transaction?keyboard_arrow_down

Usually because the amount doesn't match an outstanding invoice or bill exactly, the document hasn't been raised yet, or the payee and reference are blank so Xero has nothing to compare. Populate the Payee and Reference columns in your import file, and use Find & Match for part-payments and combined payments.

Can I match one bank payment to several invoices in Xero?keyboard_arrow_down

Yes. Open the statement line, choose Find & Match, and tick every invoice (or bill) the payment covers. Confirm the selected documents total the bank line, then match them all at once. This is one-to-many matching, and it's the normal way to handle a customer who settles multiple invoices in a single transfer.

Do bank rules replace matching?keyboard_arrow_down

No. Bank rules auto-code recurring lines so you don't re-enter the same coding each month, but you still confirm them, and they don't link to specific invoices the way a match does. Use rules for predictable spend; use matching for anything tied to a document.

Does Export Bank Statement push transactions into Xero automatically?keyboard_arrow_down

No. It converts your PDF or scanned statement into a reconciled CSV in Xero's import format, and you import that file yourself through Import a Statement. There's no live bank-feed API. What it adds is the reconciliation check that confirms the file is complete before you import, so your matches don't break later. For the steps before this one, see how to import PDF bank statements into Xero and, when an import won't go through, fix Xero import errors. More guides live on the Xero pillar hub.

verified

Try it on your own statement

Clean Excel/CSV, with every transaction checked to balance.

upload_fileConvert free
Keep reading

More guides

verifiedChecked to balance

Convert your bank statement — every transaction verified

Upload any PDF, get clean Excel or CSV ready for Xero & QuickBooks. Scanned statements too.

upload_fileConvert a statement free