Catching duplicate expenses from bank feeds and manual checks
When bank feeds quietly double your client’s expenses
You open a new QBO file, pull a P&L, and expenses look… heavy. Rent is up 20% year over year, but revenue is flat. The client swears nothing changed.
Then you look at the bank register and see the pattern: a manually entered Check for $1,200 to the landlord on March 1, and right under it, an Expense for $1,200 from the bank feed on March 2. Same payee, same amount, same bank account.
Client says, "But my bank is reconciled every month." And they’re not wrong—reconciled doesn’t mean clean. If they clicked Add instead of Match in the bank feed, you’ve got duplicate money-out transactions: one from their manual entry, one created from the feed.
This is one of those issues that doesn’t scream at you. The bank still reconciles. Vendors are paid. But expenses are overstated, cash is understated, and your cleanup just got more complicated.
Where this problem hides inside QuickBooks Online
The pattern usually shows up in checking, savings, and credit card accounts where the client (or prior bookkeeper):
- Entered Checks or Expenses manually (often to keep up with bills or to print checks), and
- Later connected the bank feed and started adding transactions from the feed instead of matching.
A classic example:
- 3/1/2024: Manually entered Check #1050 for $1,200 to "Landlord", coded to Rent Expense, from Checking.
- 3/2/2024: Bank feed shows a $1,200 withdrawal. QBO suggests "Found a match" to Check #1050.
- User ignores the match suggestion and clicks Add, creating a new Expense for $1,200 to "Landlord", also coded to Rent Expense.
Now the checking account register has two money-out transactions for the same $1,200. The bank feed item is linked only to the bank-feed-created Expense, not to the original Check.
How to surface these in QBO
You can spot these patterns using:
- Transaction Detail by Account report filtered to a specific bank/credit card account and money-out types (Check, Expense).
- The bank register view, sorted by date, scanning for identical amounts on adjacent days.
- Filters for Payee and Amount when you see a suspicious spike in a particular vendor’s spend.
Red flags to look for:
- Two money-out transactions on the same bank account, same amount, within a few days of each other.
- One is a Check, the other an Expense, both coded to similar expense accounts.
- One has a check number; the other doesn’t.
- The bank feed history (if you open the feed) shows items marked "Added" instead of "Matched" for amounts that clearly correspond to pre-entered checks.
If you suspect duplicates, sort the bank register by amount (or export to Excel and sort) and scan for repeated dollar amounts within a short date window. It’s much faster than scrolling by date alone.
What happens if you just live with it
The reason this issue is so sneaky is that it doesn’t always break the bank reconciliation. The bank balance can still tie, even while the books are wrong.
The damage inside your numbers
Here’s what’s really happening when a manual Check and a bank-feed Expense both exist for the same withdrawal:
- Expenses are overstated – That $1,200 rent hit twice. Multiply that across utilities, insurance, loan payments, and you can easily overstate expenses by tens of thousands over a year.
- Cash is understated – The bank register shows two reductions in the bank balance. Reconciliation can still work if the total of all cleared transactions matches the statement, but your internal detail is off.
- Margins and KPIs are distorted – Gross profit may look fine, but operating expenses and net income are wrong. Any advisory work based on those numbers is on shaky ground.
- Tax returns can be wrong – If the prior accountant trusted the P&L, they may have deducted expenses that never actually happened twice. Fixing that later means amended returns and awkward conversations.
And because the bank is "reconciled", everyone assumes the numbers are solid.
The damage in client conversations
From the client’s perspective, this shows up as confusion and mistrust:
- "Why does my P&L show $36k in rent when my lease is $3k a month?"
- "My cash looks low in QuickBooks, but my bank app shows more. Which one is right?"
- "Last year’s accountant said we were barely breaking even. Were we actually profitable?"
If you miss these duplicates in a cleanup, you inherit that confusion. If you catch them and explain what happened, you become the person who finally made the numbers make sense.
How to clean up duplicate bank-feed expenses systematically
You can absolutely fix these one by one in the register, but on a real cleanup you need a repeatable approach. Here’s a practical workflow:
- Define your review window. Pick the cleanup period (e.g., current fiscal year, or the last 12–24 months). Don’t try to fix the entire history unless there’s a specific reason.
- Work bank account by bank account. Start with the main operating checking account, then savings, then credit cards.
- Identify likely duplicate pairs. Look for same-amount, close-date pairs where one transaction is clearly manual (Check/Expense entered before the feed) and the other was added from the bank feed. Payee matches are helpful but not required.
- Decide which transaction to keep. Usually you keep the one that’s correctly coded and/or carries the check number (often the manual Check) and delete or reclass the bank-feed-created Expense.
- Check for downstream links. Before deleting anything, confirm whether the transaction is tied to attachments, jobs/classes, or other workflows (e.g., a reimbursable expense). Adjust instead of delete if needed.
- Reconcile impact. After cleanup, rerun the bank reconciliation or at least verify that cleared totals still match the bank statements for the periods you touched.
- Document your adjustments. Note which months and accounts you corrected, and summarize the total reduction in expenses and increase in cash.
Tools like CleanupOwl can scan bank accounts for these same-amount, close-date pairs and hand you a list of likely duplicates to review, instead of you hunting them down manually.
Set a clear materiality threshold for your firm. You might fix every duplicate over $100 in the last 12 months, but only flag larger items in older, already-filed years unless there’s a specific tax or audit reason to go deeper.
Building this into your standard cleanup workflow
This shouldn’t be a one-off hero move; it should be a checklist item.
A simple way to operationalize it:
- Add a line to your bank section: "Scan for duplicate money-out transactions (manual vs bank-feed-added)."
- Run this check right after you pull your initial diagnostic reports and before you start reclassing expenses.
- Use a diagnostic tool like CleanupOwl at intake to automatically flag likely duplicate pairs by bank account, with counts and total duplicated amounts. That lets you scope the cleanup and communicate clearly with the client about how messy the bank feeds are.
- During review, have a senior or reviewer spot-check a sample of the flagged pairs to confirm the logic and make sure nothing legitimate is being removed.
If you standardize this, your team stops relying on "I’ll notice it if it’s there" and starts relying on a repeatable test.
The patterns you’ll keep seeing in client files
Here are some common situations and how they show up:
| Situation | What you see in QBO | Risk if you shrug it off |
|---|---|---|
| Manual checks plus bank feed "Add" | Check for $1,200 on 3/1 and Expense for $1,200 on 3/2 from same bank, same payee | Rent (or other expense) doubled, cash understated, year-end expenses inflated |
| Client starts using bank feeds mid-year | First half of year is mostly manual Checks; second half has both Checks and Expenses for same amounts | Mixed workflow creates many duplicates, making trend analysis and budgeting unreliable |
| Vendor paid by printed checks | Checks entered and printed; later, bank feed entries added as Expenses instead of matched | Vendor history and 1099 totals overstated, bank balance off in detail |
| Credit card charges entered manually, then feed connected | Manual Expenses for card charges plus bank-feed Expenses for same swipes | Operating expenses overstated, card balance doesn’t reconcile cleanly period-to-period |
| Old data migration plus new bank feed | Historical checks imported; then bank feed is connected and everything is added again | Opening balances and historical P&Ls are wrong, making multi-year comparisons misleading |
Not every duplicate is equally important. A $12 duplicate coffee charge in 2019 is not the same as a $12,000 duplicate rent payment this year.
For smaller, older duplicates, you may simply document the issue and move on, especially if tax returns are already filed and the amounts are immaterial. For current-year or high-dollar duplicates, you’ll usually want to clean them up, tie them back to bank statements, and adjust any tax or management reporting that relied on the bad numbers.
Before making large adjustments in closed or already-filed years, confirm how prior returns were prepared, whether there are audit or lender requirements, and get explicit client approval. Fixing the books is great; creating a mismatch with filed tax returns without a plan is not.
Making this part of your cleanup playbook
This issue is common enough—and impactful enough—that it deserves its own line item in your cleanup standards. Any time you see a mix of manual entries and bank feeds, assume there are at least a few duplicates until you’ve proven otherwise.
Your future self (and your reviewers) will thank you if every cleanup workpaper clearly shows: which bank accounts you tested, how many duplicate pairs you found, and the total adjustment to expenses and cash. A tool like CleanupOwl can generate that summary automatically so you’re not rebuilding the same analysis in Excel for every new file.
If you’re a business owner reading this, this is a good question for your accountant: "Are you checking for duplicate expenses from the bank feed and manual entries in my QuickBooks file?" Whether they do it manually or with a diagnostic tool, you want to know someone is watching for it.
The firms that consistently catch these patterns don’t just reconcile; they diagnose. That’s the difference between books that merely tie to the bank and books you can actually trust.
Ready to run deeper QuickBooks diagnostics?
Use CleanupOwl to automatically flag issues like this before you quote or start your next cleanup project.
Start Free Trial