Duplicate statement lines in Xero usually come from a manual import whose dates overlap a bank feed or an earlier import, so the same payment arrives twice. Delete only the extra copy, ideally the unreconciled one, from the bank account's Statement lines view. Xero keeps deleted lines, so a line removed by mistake can be restored later.
Why does Xero show duplicate statement lines after an import?
A statement line is Xero's record of one movement the bank reported, whether it arrived by feed or by an imported file. Xero adds every line it is given. When two sources cover the same dates, such as a CSV of last month uploaded after the feed already brought last month in, each payment can appear twice.
The usual overlaps look like this:
- Feed plus file. The bank feed started on the 1st, and someone imported a statement that also covered the 1st to the 10th.
- File plus file. Two monthly statements were exported with a shared day at the boundary, so the 31st is in both.
- Same file twice. One statement was imported, then imported again after a slow screen made it look as if nothing happened.
In each case the Statement Balance moves by the total of the repeated lines. Xero's explanation of the Statement Balance defines it as the opening bank balance plus the sum of all statements imported into the account, so every extra line moves it.
Telling a duplicate statement line from two real payments
Two lines with the same date and amount are not always a duplicate. A business can pay the same supplier the same amount twice in a day. Before deleting anything, prove the line is extra by checking it against the bank's own statement for that date.
Worked example: a feed and a CSV that overlap
The values below are an example. The feed for the checking account began on 1 June. On 12 June, someone imported a CSV covering 25 May to 10 June to fill the gap before the feed. The lines from 1 to 10 June are now in Xero twice.
| Date (example) | Description from feed | Description from CSV | Amount | Bank statement shows |
|---|---|---|---|---|
| 2 June | ACH PAYROLL CO | Payroll | -3,200.00 | Once |
| 4 June | DEPOSIT REF 8812 | Client payment | 1,500.00 | Once |
| 4 June | CARD 4417 FUEL | Fuel | -60.00 | Twice, two separate fills |
The first two rows are duplicates. The third looks like one but is two real purchases, so all four fuel lines need checking: two from the feed, two from the CSV. Keep one source for those dates and delete the other source's copies.
The descriptions differ between feed and file, which hides duplicates when you search by payee. QuickBooks users meet the same thing as imported transactions missing a payee in QuickBooks. Search by amount and date instead.
Deleting duplicate statement lines in the Bank Statements view
Delete duplicates from the account's statement lines list, which lets you select several at once and handles lines that are already reconciled. Pick the copies from one source and leave the other source whole, so the account keeps one complete set.
Xero's guide to deleting or restoring a bank statement line gives these steps:
- In the Accounting menu, select Bank Accounts.
- For the account, open the menu and select Bank Statements.
- From Showing, select Statement lines.
- Tick each duplicate line, then select Delete.
- Choose a reason for the deletion, then confirm.
For a single unreconciled duplicate, the same guide offers a shortcut on the Reconcile tab: open Options on the line and choose Delete statement line. You need the administrator role, or the standard role with bank account access, to delete or restore lines.
Xero warns that deleting a statement line changes the Statement Balance, and says to delete a line only to remove a duplicate. Note the balance before and after. The change should equal the total of the lines you deleted.
What happens to a reconciled transaction when its duplicate line is deleted?
The transaction survives. When you delete a statement line that is reconciled, Xero deletes the line and sets the account transaction it was matched to back to unreconciled. The payment or receipt stays in your books, waiting for the remaining copy of the line to be matched to it.
That behaviour comes from Xero's delete-or-restore guide, and it means you can choose which copy to delete freely. Deleting the unreconciled copy is less work, because nothing has to be matched again. Deleting a reconciled copy is fine too, as long as you reconcile the surviving line to the same transaction afterwards.
The guide also says a statement line cannot be removed permanently. Deleted lines stay on the bank statement so they can be restored. If you deleted the wrong copy, the post on restoring deleted statement lines in Xero walks through bringing it back.
A whole Xero statement imported twice: when not to delete line by line
When an entire file went in twice, do not tick through it line by line. Xero's guide says that if a whole bank statement was imported twice in error, you can delete the entire statement. That removes every line from the repeated import in one step and avoids missing one.
Line-by-line deletion is still right when only part of a file overlaps, as in the feed example above. Deleting the whole CSV there would also remove its lines from 25 to 31 May, which the feed never brought in.
Moving books between systems is a common source of repeated statements, because the same history gets imported into a new file more than once. If you are moving software, the guide to switching from Sage to QuickBooks Online covers choosing one cut-off date so history comes in once. When you rebuild a statement file for Xero from a PDF, SimpleBankConvert is being built to output a CSV in the layout Xero's import expects. It is not open yet; the get started page takes sign-ups.