Duplicate bank feed transactions: check before deleting

Bookkeeping and BAS

Check the bank's own statement before deleting a suspected duplicate. Two similar lines might be one bank transaction imported twice, two accounting entries for one payment, or two real payments. Each needs a different fix. Record the bank reference, import source and ledger IDs first, then correct only the proven duplication.

What you’ll get from this guide: For owners seeing repeated transactions in a feed: identify which layer is duplicated and preserve the records needed for a safe correction.

  • Equal dates and amounts are clues, not proof of duplication.
  • Separate bank statement lines from the accounting entries matched to them.
  • Check closed periods and lodged BAS figures before reversing entries.

Two $220 payments to the same supplier look suspicious. They can also be perfectly real. The safest starting point is the independent bank statement, followed by the supplier documents and then the software records. Don't start with the delete button.

Identify what has actually repeated

A bank feed line is imported information about money moving at the bank. A ledger entry is your accounting record of that transaction. Matching connects them. A manual statement import can duplicate feed information; a bank rule can create an extra expense even when the feed itself is correct.

Write down the bank account, posted date, amount, bank reference, import file or feed source, linked ledger IDs and reconciliation status. Include the time if the bank supplies it. Check whether the statement has one debit or two, and whether one is still pending or has been reversed.

Use this decision tree before making a change

The example below is fictional. It follows two apparent $220 supplier payments.

Where is the duplication?
Start: count posted bank debits

Download the statement. Does it show one $220 debit, or two separate $220 debits with their own references?

One debit, two feed lines

Check an overlapping import or manual statement line. Preserve the matched, supported line; investigate the duplicate feed line and its links.

One debit, two ledger entries

Check whether a bill payment and a new expense recorded the same purchase. Correct the extra accounting entry, not the genuine bank transaction.

Two real debits

Keep both bank movements. Confirm two purchases, an accidental second payment or an unauthorised charge. A refund is a later transaction.

Original ASBG decision tree. If the statement evidence is unclear, pause the correction and obtain the missing record. None of the branches authorises deleting an unexplained payment.

If both debits are real and relate to the same bill, contact the supplier through its established details. Track the overpayment or refund separately. Deleting the second debit from the books would hide money that actually left the account.

Prove a feed duplicate with more than an amount match

Compare references and descriptions, and check whether a CSV import overlaps the live feed. Two identical amounts on the same day might be separate fuel purchases, instalments or card settlements.

Xero's duplicate-statement guidance describes reports that flag potential duplicates using dates and amounts. “Potential” matters: you still need to confirm the duplication against the bank record. The guidance concerns statement lines, not permission to delete unrelated invoices or bills.

Export the affected lines and record which one you will retain. Check whether the suspected duplicate already has a match. Removing a feed line and removing the transaction it was matched to can have different effects, so use the current workflow for your product and ask the bookkeeper if the relationship isn't clear.

Correct an extra ledger entry without losing its bill

Suppose supplier bill B-52 is $220 and payment P-73 settles it. A bank rule also created expense S-19 for $220. The statement contains one debit. Your evidence points to S-19 as the extra record, while B-52 and P-73 remain part of the valid purchase trail.

Before correcting S-19, save its details and check whether it was included in a reconciliation, tax report or closed period. Have the authorised person unmatch or reverse the unnecessary record as appropriate. Then match the bank debit to the supported payment and rerun the reports. This example identifies the error; it doesn't assume every software version uses the same deletion controls.

Check the result and prevent the same import mistake

The bank statement and software should now contain the same real cash movements. The purchase should appear once, the supplier balance should be correct, and the bank reconciliation should still work. Check any goods and services tax (GST) impact with the agent if a business activity statement (BAS) was already lodged.

Keep the original file and import date in an import log. When replacing a missing interval, use the bank feed gap guide to check both boundaries. Review overlapping rules and connections as part of the Xero setup checklist.

Key takeaways

  • Establish how many real payments exist before changing software records.
  • Preserve the supported bill and payment when correcting an extra expense.
  • Save before-and-after evidence and check the reconciliation again.

Where to get help

Give your bookkeeper the bank statement, import details and ledger IDs. Use the monthly bookkeeping routine to keep exceptions from accumulating, or choose the next task in bookkeeping and BAS.

Did this guide help you finish your task?

Optional feedback helps us see which guides need more work.

Feedback is off while site analytics is unavailable or disabled.

We report your choice and this guide’s page through site analytics. Your analytics preference applies. About feedback and privacy.

General information only. This guide doesn't take your personal or business circumstances into account and isn't financial, legal or tax advice. Rates and thresholds change — check the official sources linked in this guide and get qualified advice where your circumstances require it.