How to Categorize Bank Transactions in Xero
Jul 20, 2026
Convert your bank statement to Excel now
PDF, JPG, PNG, BMP, HEIC, TIFF, MT940
Upload your bank statement
Drop file here or click to upload
PDF, JPG, PNG, BMP, HEIC, TIFF, MT940
Uploading...
Last updated July 2026.
To categorize bank transactions in Xero, get the transactions into the account first (through the bank feed or a manual CSV import), then assign each line a category during bank reconciliation, using Cash Coding to bulk-code obvious groups and bank rules to auto-code recurring payees. If you would rather tag transactions outside your accounting software, you can also categorize bank transactions in Excel with a keyword lookup. In Xero a "category" is an account from your chart of accounts, with an optional tracking category on top, so categorizing well is really about mapping each transaction to the right account code before you reconcile.
The catch most people hit is getting the transactions into Xero in the first place. A live bank feed handles the current account automatically, but it does not reach closed accounts, old periods, business accounts a feed will not connect, or a statement your accountant only has as a PDF. In those cases you import a statement, and the cleanest way to produce one is to convert the PDF bank statement to a spreadsheet and save it as the CSV layout Xero expects.
How do I import a bank statement into Xero?
To import a bank statement into Xero, open the bank account on your dashboard, click Manage Account, choose Import a Statement, and upload a CSV. Xero reads two layouts: a three-column file with Date, Amount, and Description, or a four-column file that splits money in and money out into separate Debit and Credit columns. Only Date and Amount are mandatory, and both spend and income sit in the same Amount column, with spend shown as a negative such as -30.00.
A few formatting rules trip people up, so match them exactly before you upload:
| Field | What Xero expects |
|---|---|
| Date | MM/DD/YYYY for a US organization; the format must match your Xero region setting or the rows fail to import. |
| Amount | One column for both directions. Spend is negative (-30.00), deposits are positive. No dollar signs, no thousands commas. |
| Description | Optional but worth keeping. It becomes the payee text bank rules match against. |
| Payee / Reference | Optional extra columns Xero can read to help identify the contact. |
| AccountCode, TaxType, ContactName | Optional. Include these and you import a precoded statement that arrives already categorized. |
If your converter can output the three-column shape directly, you skip the cleanup entirely. That is the fastest route from a PDF to reconciled, categorized data in Xero.
How do I categorize transactions in Xero once they are imported?
Once the statement lines are in Xero, you categorize them on the Reconcile tab of the bank account. For each line Xero suggests a match or lets you create a transaction, and the field it calls the account is your category: Advertising, Office Expenses, Subscriptions, and so on from your chart of accounts. Pick the account, confirm the contact, apply the right tax rate, and click OK to reconcile that line. Repeat down the list, and the running total at the top tells you when the account agrees with the statement.
Doing this one line at a time is fine for a light month, but it is slow for a backlog. Xero gives you two faster tools for that.
What is Cash Coding in Xero?
Cash Coding is a grid view that lets you categorize many bank lines at once instead of reconciling them one by one. Open the Cash Coding tab, sort by Payee, and every transaction from the same vendor lines up together so you can select the group, set one account and tax rate, and code them all in a single action. It is the fastest way to clear a large import, and it pairs well with converting several months of statements at once and coding them in one sitting.
Work the obvious groups in Cash Coding first, the payees where every transaction gets the same treatment, then drop back to the reconciliation screen for the handful of mixed or one-off lines that need a closer look.
How do bank rules categorize transactions automatically?
Bank rules tell Xero to code a transaction automatically when it matches conditions you set on the payee, the description, or the amount. Create a rule once, for example any line containing AMAZON goes to Office Supplies, and Xero pre-fills the account, contact, and tax rate on every future match so you only click OK. Teams that keep a tight set of rules commonly auto-code the large majority of recurring transactions and spend their reconciliation time only on the exceptions.
Build one rule per recurring vendor, name the accounts the way you file taxes, and add a rule that sends account-to-account moves and owner draws to a transfer account so they never inflate income. The same discipline applies whatever tool you use: the way you categorize transactions from a bank statement should map cleanly to the lines on your tax return, because that is what makes year-end totals tie out without remapping.
Can I import a bank statement already categorized?
Yes. A precoded CSV includes AccountCode, TaxType, and ContactName columns alongside Date and Amount, and Xero uses them to pre-populate the account, tax rate, and contact for each line as it imports. That skips most of the reconciliation clicks, because the categories are already assigned before the data lands. It works best when you convert the PDF first and let a tool apply a first-pass category to every row, so the file you upload arrives coded and you only review the ambiguous lines.
If receipts and vendor bills are driving those charges, it is often cleaner to code the spend before it ever reaches the bank feed. A dedicated expense management platform reads the receipt behind each purchase and assigns the category up front, which leaves less to sort out at reconciliation time.
Xero categorization workflow, start to finish
Here is the sequence that turns a stack of PDF statements into categorized, reconciled data in Xero:
- Convert each statement PDF to a clean spreadsheet so every transaction is a row with the amount in its own column. One upload handles any US bank or card with the bank statement converter.
- Save it as a Xero CSV: Date in MM/DD/YYYY, a single Amount column with spend negative, Description kept for matching.
- In Xero open the bank account, choose Manage Account, then Import a Statement, and upload the file.
- Set up bank rules for your recurring payees so the common lines code themselves.
- Use Cash Coding to bulk-code the obvious groups, then reconcile the remaining lines individually.
- Check the reconciliation total agrees with the statement closing balance before you close the period.
For the mechanics of the upload itself across every method, see how to import bank statements into Xero, and if your books are in QuickBooks instead, the same discipline applies when you categorize bank transactions in QuickBooks Online. Once the account is reconciled, the categorized data feeds your profit and loss and your tax return directly, which is the whole point of coding it carefully in the first place.
Frequently asked questions
Can Xero import a PDF bank statement directly?
No. Xero imports bank data through a live feed or a CSV, OFX, or QIF file, not a PDF. To use a PDF statement you convert it to a CSV in the layout Xero reads (Date, Amount, Description), then import that file under Manage Account, Import a Statement.
What does category mean in Xero?
In Xero the category is the account from your chart of accounts that you assign to a transaction, such as Advertising or Office Expenses, plus an optional tracking category for things like department or location. Assigning the account during reconciliation is what codes the transaction to your reports and tax return.
How do I bulk categorize transactions in Xero?
Use Cash Coding. Open the Cash Coding tab on the bank account, sort by payee so identical transactions group together, select a group, set one account and tax rate, and code them all at once. Combine it with bank rules so recurring payees are already coded before you start.
How do I categorize transactions in Xero for taxes?
Name the accounts in your chart of accounts after the lines on your tax return, then code each transaction to the matching account during reconciliation. Keep bank fees, interest, and transfers on their own accounts so you capture every deduction and do not overstate income, and the totals carry straight into your filing.
Ready to convert your bank statement?
Upload a PDF and get clean Excel or CSV in seconds. Works with statements from any bank.
Convert to Excel nowFree to try, no credit card required