Duplicate expenses from bills and bank feeds in QuickBooks Online

CleanupOwl Team

When the same vendor bill hits the P&L twice

You open a new QBO file and pull a simple P&L by month. Office supplies is weirdly high. You drill in and see this pattern over and over:

  • Bill to Vendor X for $750
  • Bill Payment for $750 from Checking
  • Separate Expense for $750 from the same Checking account, coded straight to Office Supplies

Client says, "But my bank is reconciled every month." And they’re not wrong. The bank balance can be reconciled while the P&L is quietly overstated.

This is what happens when someone uses bills and bill payments for A/P, but when the withdrawal hits the bank feed, they click Add instead of Match. QBO happily creates a new Expense or Check, so now you’ve got:

  • The bill hitting expenses (or COGS) once
  • The duplicate bank-feed Expense hitting expenses a second time

Profit is understated, margins look worse than reality, and you’re left untangling which side of the transaction to keep.

Where this problem hides inside QuickBooks Online

You won’t usually see this from the dashboard. It shows up when you follow the trail from vendors to bank accounts.

A classic example:

  • 03/01 – Bill to Vendor X for $750 coded to Office Supplies
  • 03/10 – Bill Payment to Vendor X for $750 from Checking
  • 03/11 – Bank feed brings in a $750 withdrawal
  • User clicks Add, creates a new Expense for $750 to Office Supplies

Now the Checking register shows both a Bill Payment and an Expense for $750. The Office Supplies account detail shows the bill line and the extra Expense. The bank still reconciles because the total cash out matches the bank statement, but expenses are doubled.

Places to look:

  • Transaction Detail by Vendor filtered for Bills and Bill Payments
  • Vendor center > specific vendor > filter for last year or cleanup period
  • Bank register for key operating accounts, filtered for Checks and Expenses
  • P&L drill-down on suspiciously high expense or COGS accounts

Key red flags:

  • Same vendor, same amount, same period: Bill + Bill Payment + Expense/Check
  • Bank register shows a Bill Payment and a same-amount Expense/Check within a few days
  • Expense/Check coded directly to an expense/COGS account instead of A/P
  • Vendor balance looks right, but expense totals feel inflated
  • Bank feed history shows "Added" instead of "Matched" for those withdrawals

If you’re short on time, sort the bank register by amount and scan for rows where a Bill Payment and an Expense/Check share the exact same amount within a week of each other.

What happens if you just live with it

On the surface, nothing explodes. The bank reconciles, vendors show as paid, and the client is happy they’re "caught up." The damage is in the numbers underneath.

The damage inside your numbers

When a bill is entered and then the bank-feed withdrawal is added as a new Expense instead of matched:

  • Expenses or COGS are overstated
  • Net income is understated
  • Margins on key jobs or product lines look worse than reality
  • KPI trends (expense as % of revenue, gross margin) are skewed

Because the vendor bill is already coded to the right expense or COGS account, the duplicate bank-feed Expense is pure noise. On a $750 example, it’s annoying. On a file where this happened 40–50 times, you’re suddenly off by tens of thousands.

If you’re doing tax work, this can mean:

  • Overstated deductions
  • Wrong taxable income
  • Potential issues if the numbers are ever examined

And if you’re doing advisory or controller work, you’re making recommendations off distorted data.

The damage in client conversations

This pattern also erodes trust:

  • You explain that profit is off because expenses were double-booked.
  • Client insists, "But we only paid that vendor once."
  • You now have to walk them through QBO’s bill workflow vs. bank feed behavior.

If you don’t catch this early, you end up revisiting prior months, reissuing reports, and explaining why last quarter’s numbers changed. That’s not the kind of surprise most clients enjoy.

How to unwind these duplicates without breaking everything

The good news: once you know what you’re looking for, the cleanup is straightforward. The work is in being systematic so you don’t:

  • Delete the wrong side of the transaction
  • Break vendor histories
  • Knock reconciled periods out of balance

Here’s a practical approach:

  1. Define your cleanup window. Decide whether you’re cleaning the current fiscal year, a custom date range, or a specific engagement period. Don’t chase this back to the beginning of time unless you’ve scoped for it.
  2. Identify suspect bill payments. From a Transaction Detail by Vendor (or Vendor Bills list), filter for Bill Payments in the cleanup period. Focus on key operating bank accounts.
  3. Cross-check the bank register. For each Bill Payment, look in the same bank account for Expense/Check transactions with the exact same amount within a few days of the payment date (±7 days is usually reasonable).
  4. Confirm it’s truly a duplicate. Open the Expense/Check:
    • Was it created from the bank feed (you’ll often see a bank icon or source info)?
    • Is it coded to an expense/COGS account, not A/P or another balance sheet account?
    • Does the vendor/payee and memo line clearly refer to the same bill?
  5. Decide what to remove. In most A/P workflows, the Bill + Bill Payment are the "real" entries. The bank-feed Expense is the duplicate. Usually you:
    • Keep the Bill and Bill Payment
    • Delete or void the duplicate Expense/Check
  6. Protect reconciliations. If the duplicate Expense/Check is in a reconciled period, be careful:
    • Consider voiding and re-reconciling that month
    • Or, if the impact is immaterial, document and leave it, adjusting only from your cleanup start date forward
  7. Re-run key reports. After cleanup, re-run P&L, vendor balances, and bank rec summaries to confirm:
    • Vendor balances still make sense
    • Bank reconciliations are intact or intentionally updated
    • Expense accounts dropped by the expected amounts

For older, tax-filed years, weigh materiality and scope before touching reconciled periods. Often it’s better to document known duplicates and start strict cleanup from the first open year or agreed start date.

Building this into your standard review

This shouldn’t be a one-time heroic effort. It belongs on your standard diagnostic checklist for any file that uses bills and bank feeds together.

A simple pattern:

  • Early in scoping, run a diagnostic that looks for bill payments with same-amount Expenses/Checks from the same bank account within a short date window.
  • Use a tool like CleanupOwl to generate that list automatically so you’re not manually scanning registers for every new client.
  • During cleanup, work that list from top to bottom, documenting which duplicates you removed, which you left (and why), and any impact on reconciliations.

CleanupOwl can hand you the set of bill payments that appear to have matching bank-feed Expenses, grouped by vendor and bank account, so your team can focus on decisions instead of hunting.

If you’re a business owner reading this, this is the kind of question you can ask your accountant: "When you clean up my QuickBooks, how do you make sure vendor payments from the bank feed aren’t counted twice as extra expenses?"

The patterns you’ll keep seeing in client files

Here are the common situations that show up once you start looking for this:

SituationWhat you see in QBORisk if you shrug it off
Single bill, single duplicateBill $750, Bill Payment $750, and an Expense $750 from the same bank within a few daysOverstated expenses and understated profit for that period; usually easy to fix now, painful later if ignored in volume
Multiple bills in one payment, single duplicateBill Payment $2,500 paying several bills, plus one Expense $2,500 from the same bankAll underlying bills are correct, but total expenses are overstated by $2,500; vendor history looks fine so it’s easy to miss
Repeated pattern with one vendorMonthly bill to Vendor Y for $1,200, plus a matching bank-feed Expense every monthAnnual expenses overstated by $14,400; margins and tax position significantly distorted
Old reconciled period with duplicatesPrior-year Bill Payments with matching Expenses/Checks in reconciled monthsFixing requires re-reconciling or leaving known errors; risk of mismatched books to filed tax returns
Mixed-purpose same-amount paymentsBill Payment $1,000 and a separate $1,000 Expense that’s truly for something else (e.g., owner draw)If mis-identified, you could delete a legitimate transaction; if ignored, you may leave real duplicates elsewhere

As you review, you’ll quickly see which situations are minor and which are structural. A one-off $200 duplicate in a non-critical account may not justify reworking old reconciliations. A pattern of monthly $3,000 duplicates across a year absolutely does.

For the bigger patterns, it’s worth stepping back and asking how the client is using QBO:

  • Are they entering bills and also letting the bank feed create expenses?
  • Do they understand the Match vs Add workflow?
  • Is there a training or process fix that will stop this from recurring?

Before changing prior-year, reconciled transactions, confirm whether those years tie to filed tax returns or external financials. Coordinate with the tax preparer and document any intentional differences.

Making this part of your cleanup playbook

This issue is common enough that it deserves its own line on your review checklist whenever you see both bills and active bank feeds in a QBO file. It’s one of those quiet distortions that can make a "reconciled" file completely unreliable for decision-making.

Your firm’s goal should be simple: if a vendor is managed through A/P, the bank feed should be used to match payments, not to create new expenses. Any time you see both a Bill Payment and a same-amount Expense/Check from the same bank account, your team should instinctively pause and investigate.

Tools like CleanupOwl can run this kind of check up front, before you quote or start deep cleanup work, so you know whether you’re dealing with a handful of duplicates or a systemic pattern across the year.

If you’re a business owner, ask your accountant how they catch duplicate expenses from bank feeds when you’re using bills. You want them to either have a clear manual process or to be running automated diagnostics that flag these patterns.

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