Help › Bookkeeping
Review possible duplicates after connecting a bank
Updated
When you connect a bank feed, its transactions may overlap ones you already imported from a PDF or CSV. HQ merges the clear-cut overlaps for you and puts anything it isn't sure about into a review queue:
- A banner on Ledger › Banking reads N possible duplicate transactions need review: click Review now (or go to Banking › Review).
- For each one, either click Adopt this row on the existing transaction it matches (HQ merges the feed onto your row), or Keep both if they're genuinely different transactions.
If one is left waiting for more than a couple of days, it also shows as a card in the Books health panel on the Ledger Dashboard, and it adds to the count beside Dashboard in the sidebar. Review → on the card opens the same queue.
Merging keeps a single, correct copy so a bank event is never counted twice. Reach for Keep both only when the two really are separate. The queue is empty until a connected feed overlaps your imported statements: most of the time you'll never see it.
When the dates are a few days apart
Card statements print the date you paid. A bank feed reports the date the charge settled, which is often two or three days later. So the same charge can appear twice with the same amount but different dates.
HQ merges these only when the dates are within a couple of days of each other. Past that it stops guessing and shows you the pair, headed Possible duplicate, a few days apart. Use Adopt this row if it is the same charge, or Keep both if you really were charged the same amount twice that week.
Both transactions stay in your books either way, so nothing is lost while the review is waiting for you. The one thing worth doing promptly is deciding before you categorize them: coding both copies would count the expense twice.
When your bank drops a transaction
A bank feed can also withdraw a transaction it sent earlier. Usually that is routine: a pending charge is replaced by the posted version a day or two later, and HQ swaps them over without telling you, because there is nothing to decide.
Sometimes there is no replacement, and the charge really happened. Feeds do drop real transactions. HQ keeps the line, and it decides for itself whenever it already holds the evidence:
- If you had matched, categorized or reconciled the line, your own work vouches for it, so the line simply stays. Nothing to answer.
- If the line also came in on a statement you imported, the statement vouches for it, so it stays too.
- HQ also asks the bank feed a second time, a different way. If the feed still shows the transaction when asked directly, the withdrawal was a feed error and the line stays.
You only see a card for the one case HQ genuinely cannot decide: Your bank dropped a transaction and sent nothing to replace it, on a line nothing in your books had claimed yet. Check it against your online banking. If the charge is real, click Keep it; if it never happened, click Remove it to take the line out of your books.
HQ never deletes a dropped line on its own unless the replacement arrived with it. A charge quietly disappearing is much harder to notice than one sitting there waiting for an answer.
When a file you import overlaps your books
Importing a PDF statement, a CSV or an OFX file over days already in your books (from another file, or your bank feed) does not add the same charge twice: HQ links a line to the one already there when it is the only line on that account with the same amount within five days, however each one words it.
When two lines already there fit equally well, HQ cannot tell which one it is, so it imports the line and shows the pair here, headed Possible duplicate from a file you imported. Click It's this one on the line it matches (HQ removes the new copy), or Keep both if they really are separate charges. If you have already categorized or matched the new line, HQ keeps it: undo that first, or keep both.
When the amount changed between two files
A charge can change amount between two files: a restaurant adds the tip after the pending amount, or a foreign charge settles at a different exchange rate. HQ never merges those on its own, because two different charges can look the same. It imports the line and shows the pair here, headed Same charge, amount changed?, with both amounts, dates and files. It asks only when the two are on the same account, come from different kinds of file (a PDF statement and a CSV, say) or from two separate CSV or OFX downloads that overlap (a pending amount in a mid-month download, the posted amount in a later one that lists some of the same charges), are within five days of each other, are worded alike and are no more than a quarter apart in amount. Two PDF statements are never compared this way: statements show posted amounts, so a nearby line at another amount is a different charge.
The buttons are named by amount and file, such as Keep $48.00 (statement) or Keep $40.00 (CSV). When both lines came from the same kind of file (two CSV downloads, say), each button says which one: Keep $48.00 (new CSV) for the file you just imported, Keep $40.00 (CSV in your books) for the one already there. Click the one that is right if it is the same charge: that line stays and the other is removed. Click Keep both if they really are separate charges. A line your bank feed sent is never removed, so when one of the pair came from the feed, the only choices are to keep the feed's amount or keep both.
HQ refuses to remove a line you have already categorized, matched or reconciled (undo that first, or keep both), or a line another file also lists in a way that could mean two separate charges. If you keep the CSV or bank feed amount, the statement whose line was removed no longer adds up to its closing balance. That is expected: don't add the line back by hand. If the removed line came from a CSV or OFX file, that row reads Not imported when you open the file, because the books now hold the charge at the other amount. Importing that file again (or reading the statement again) brings its amount back and shows the pair here again for you to decide.
If you later delete the file whose line you kept, or move it to another account, the other file's line comes back into its own file on this account, so the charge stays in your books at the amount that file shows. It does not come back when that amount is already in your books again (you imported the file a second time, say). If a later move puts the two lines on the same account again, the pair shows here again for you to decide.
Keep both is remembered
When you click Keep both, HQ remembers the answer for those two readings: the line as that file read it (its date, amount and wording) and the line already in your books. Reading the statement again, or importing an overlapping file, does not ask you the same question twice, whichever of the two lines comes back flagged. Each answer covers one line, so if a file lists the same charge twice (two coffees for the same amount on the same day), an answer for one of them does not silence the other.
There is no button to take a Keep both back. The question comes back only when something about it changes: one of the lines reads differently (another date, amount or wording), or a different line in your books could be the same charge. If you kept both by mistake, delete the extra line yourself on Ledger › Banking.