Deleting a bank account in Xero: the three things people mean by it
Delete, archive and disconnect are three separate actions in Xero, and only one of them is usually what you want. Xero will only delete a bank account that has no transactions or statement lines against it, so an account you've been reconciling all year can't be deleted at all, only archived. Archiving takes it off the dashboard and leaves every reconciled transaction sitting in your reports. Disconnecting stops the feed and leaves the account and its lines exactly where they are.
Three different things people mean by delete
Someone asking how to delete a bank account in Xero wants one of three outcomes, and Xero treats them as three separate jobs with three different consequences, two of them reversible and one that can't be done at all on an account that's been used.
- Stop the feed but keep the account: that's disconnecting. The account stays in Xero with every statement line and reconciled transaction on it, and simply stops receiving anything new.
- Get the account off the dashboard so nobody codes to it by accident: that's archiving. The history stays in your reports, and the account comes back if you were wrong.
- Remove the account from Xero entirely: that's deleting, and Xero only allows it while the account has no transactions or statement lines against it. An account with a year of reconciliation behind it isn't eligible, and tidying it first won't make it so.
What people describe as deleting is nearly always archiving, and the reason they give is nearly always a reason to fix something else.
Delete only works while the account is still empty
Xero's rule isn't negotiable: an account can be deleted while nothing has ever been posted to it, and once it has transactions or statement lines the option goes away. That's deliberate, because deleting an account with history would pull reconciled transactions out of periods you've already reported on, and last year's figures would change underneath you.
- Open the Accounting menu and select Chart of accounts, where bank accounts sit alongside everything else rather than only on the dashboard.
- Find the account, tick the checkbox next to it, and look at what Xero offers you: Delete on an untouched account, Archive on one that's been used.
- If the account still has a feed attached, disconnect that first, because Xero won't let you delete or archive an account with a live feed running into it.
- If Delete isn't offered and you're sure the account is unused, check its bank statements before concluding Xero is wrong, because an import somebody abandoned halfway still counts as history.
The clean case is an account created by mistake and never touched, and it's worth clearing up the day you notice it, because one reconciled line is the difference between deleting the account and living with it archived forever.
Archiving is the version of delete you can actually have
Archiving is what most people are picturing when they say delete, and it does the useful part of the job. The account leaves the dashboard and stops appearing in the lists people pick from when coding, so nothing new lands on it by accident, and everything already posted stays as it is, reports and reconciliation history included. It's reversible, so an account archived in a tidy-up comes back if the client turns out to have been using it.
Before you archive, look at what's sitting on the account, because unreconciled statement lines are both the thing that gets in the way and the usual reason somebody wanted it gone. Xero lists every imported statement against the account along with the lines it brought in, which is the quickest way to tell a dead account from a live one somebody stopped reconciling.
Write down the closing balance and the date of the last statement line before the account disappears from view, because an archived account that turns out months later to have been short is easier to put right when you know where the good data stopped.
- View bank statements and bank statement linesWhere to see the statements and individual lines sitting on a bank account, which is what to check before you archive it.
Deleting to clear a duplicated import is the expensive way round
The usual story behind this search isn't a redundant account, it's a mess. Somebody imported a statement covering a period the feed had already delivered, or reconnected a feed carrying history over a stretch entered by hand, and now half the account is doubled and the balance in Xero is nowhere near the bank's. Deleting it feels like the clean reset, and since an account with reconciled history can't be deleted anyway, the effort goes where it can't help.
Removing the duplicated lines is the cheap fix, and it leaves the account, its history and its reconciliations intact. Lines that came in from an imported file are the ones you can take out yourself, and a reconciled line has to be unreconciled first, which is the step people skip and then wonder why the transaction is still in the ledger.
Xero's own route for spotting duplicated lines on an account and dealing with them, and the place to start before you touch anything structural.
- 2Work back to the statement that caused it
Duplicates arrive in a batch, so find the import or reconnection that brought them in and you can deal with a whole period instead of picking off lines one by one.
- 3Unreconcile before you remove
A statement line is attached to the transaction it was matched to, so undo the reconciliation first, then decide what happens to that transaction, because it stays in the ledger until you deal with it.
Disconnecting the feed, and what that doesn't fix
Disconnecting is right when the account is fine and the connection isn't: a feed delivering into the wrong Xero account, an account closed at the bank, or a connection you're about to replace. It stops the deliveries and changes nothing else, so every line already delivered stays where it is, still reconciled.
What it doesn't do is where people end up short without noticing, because reconnecting later doesn't reach back over the gap: a feed runs forward from the day it's restored, and the stretch in between stays missing until somebody puts it there another way. Feed transactions arrive roughly every twelve hours and a feed can be refreshed by hand, so a quiet morning isn't evidence of anything.
Some connections aren't managed from inside Xero either. Where a feed was switched on from within the provider's own app, that's where it gets switched off, and disconnecting at the Xero end alone leaves half a job. UK open banking consent expires every ninety days and needs reauthorising, which is regulation rather than a fault, and is why feeds stop without anything appearing broken.
Reconnecting is where duplicates come from. A new connection often brings history with it, and that overlaps whatever was imported by hand while the feed was down, so check the joins at both ends of the gap rather than assuming they meet neatly.
- About bank feedsHow often feed transactions arrive, how to refresh a feed without waiting for the next cycle, and which accounts can hold one.
- Revolut direct feedsAn example of a feed set up and managed from inside the provider rather than from inside Xero, which changes where you go to turn it off.
The account you want to delete because its feed never worked
The other story is an account added in hope, with no feed available for it, sitting on the dashboard as a reminder that its transactions are somewhere else. Deleting it doesn't get them into Xero, it only removes the place they were meant to arrive, and the gap is still there at year end. Keeping an account like that reconciling without a feed is the subject of our guide to adding a bank account to Xero without a bank feed.
Eligibility is decided per account rather than per bank, which is why one account can feed while another at the same institution has nothing, and cards are where this bites hardest. Corporate cards, supplementary cards, store cards and cards issued outside the covered market regularly sit outside feed coverage even when the issuer is large and obvious, and none of it is fixable from your side.
Xero's documented answer is the manual import, which accepts CSV, OFX, QBO, QFX and QIF and doesn't accept PDF, the format a card statement tends to arrive in. It also checks nothing once the file goes in: it won't confirm the export covered the whole period, it won't recompute the running balance against the statement's closing figure, and it won't notice that every purchase went in the wrong way round. That last one lives on card statements, which commonly print spend as plain positive numbers while the import expects purchases negative, and some use DR and CR markers instead of signs, so a hand-built file can reverse a whole month without anything failing.
StatementClear posts those statements into Xero through the Bank Feeds API, so the lines land the way feed lines land rather than as another file to import. You map the columns once per account and it keeps the mapping after that, each upload is deduplicated against the lines already posted, the running balance is recomputed and checked, and inverted signs are caught before anything reaches the ledger. That last part is why it's safe to post over a period a feed partly covered, which is the state an account somebody wanted to delete tends to be in.
- Import a CSV bank statementXero's manual import, the formats it accepts, and the route most duplicated statement lines arrived by in the first place.
- Bank Feeds API overviewThe interface a posted feed line arrives through, and why that isn't the same thing as an imported file.
- Connect your bank to XeroXero on where feeds come from, and its own fallback for the accounts that can't have one.
Deleting the account won't put the missing transactions in Xero. Posting the statement will.
StatementClear posts the statements you already export into Xero as live bank feed lines, deduped and balance-checked before anything reaches the ledger.