When “unpaid” invoices in QuickBooks are actually already paid

CleanupOwl Team

The unpaid invoices that aren’t really unpaid

You open a new QBO cleanup file, run an A/R Aging Summary, and your stomach drops.

There’s a stack of 30–60–90+ day invoices for good customers. You ask the owner about one of the big ones and they say, “Oh, they paid that months ago. We’re totally caught up with them.”

You dig into the bank feed and, sure enough, there’s a deposit for the exact invoice amount a week after the invoice date… coded straight to an income account, no customer, no Receive Payment. The invoice is still sitting open, A/R is overstated, and income is inflated.

This is one of the most common A/R cleanup headaches in QuickBooks Online: invoices that look past due but have actually been paid and misposted directly as bank deposits to income.

Where this problem hides inside QuickBooks Online

You’ll usually spot this first on the A/R Aging Summary. Look for customers with big balances sitting in the past-due columns. Then:

  1. Drill into a specific customer.
  2. Open one of the “unpaid” invoices.
  3. Check the payment status and linked transactions.

If there’s no Receive Payment, but the client swears it’s paid, your next stop is the bank register.

A typical pattern:

  • Invoice #101 for $2,100 dated 1/1/25 to “Design Customer”.
  • A/R Aging shows it in the 31–60 days past-due bucket, fully open.
  • In the main checking account, there’s a $2,100 deposit on 1/10/25 coded to “Design Services Income”, no customer.
  • No Receive Payment exists, and the deposit is not tied to Undeposited Funds.

From QBO’s perspective, A/R is still owed $2,100. From the bank’s perspective, the money is in. From the P&L’s perspective, income is $2,100 higher than it should be for that customer’s open balance.

Red flags you’ll see over and over:

  • Past-due invoices for round amounts that match common invoice sizes.
  • Bank deposits for the exact same amount within a week or two of the invoice date.
  • Deposits coded directly to income or “Sales” with no customer on the line.
  • No Receive Payment or payment link anywhere on the invoice.
  • Owners insisting “that customer is current” while the aging report disagrees.

Run A/R Aging Summary, click into a single customer, then open the invoice and use “More → Transaction journal” to see if any payment-type entries ever touched that invoice. If not, jump straight to the bank register around the invoice date and search for a matching deposit amount.

What happens if you just live with it

You can technically leave these alone and still reconcile the bank. The cash is real. But the books stop being trustworthy.

The damage inside your numbers

When a customer payment is posted straight to income instead of through A/R:

  • A/R stays overstated. The invoice remains open, so receivables look higher and older than reality.
  • Income is overstated in the period of the deposit. You’ve recognized revenue twice: once on the invoice, again on the deposit.
  • Collections metrics are useless. Days Sales Outstanding, average collection period, and aging reports all look worse than they are.
  • Allowance for doubtful accounts gets distorted. You might reserve against “old” invoices that are actually paid.
  • It complicates tax work. If the client is on accrual, you’ve potentially double-counted revenue. If they’re on cash, the pattern can still create timing and classification issues.

Multiply this by a year or two of sloppy posting and you end up with A/R that’s off by tens of thousands, and income that doesn’t tie to reality.

The damage in client conversations

This is also where trust erodes.

The owner sees an aging report full of “past-due” invoices and says, “But my bank is reconciled every month.” They’re not wrong. The bank is reconciled. The workflow isn’t.

If you shrug and say, “Yeah, QuickBooks is just weird sometimes,” you’ve missed an opportunity to:

  • Explain why their reports don’t match their lived experience.
  • Show how much cash has actually been collected vs. what’s still outstanding.
  • Build confidence that your firm has a repeatable way to catch and fix this.

When you can point to specific invoices and matching deposits and say, “Here’s exactly what went wrong, and here’s how we’ll fix it going forward,” you move from bookkeeper to advisor.

How to clean these up without making a bigger mess

You don’t want to chase every $12 invoice. Focus on material, clearly matched items and avoid creating duplicate income or misdated payments.

A practical cleanup flow:

  1. Pull a focused A/R Aging Summary.

    • As-of your cleanup date.
    • Filter to open invoices only.
    • Optionally export and filter to invoices above a threshold (e.g., $250+).
  2. Identify likely candidates.

    • Look for invoices that are past due but for which the owner insists “they paid that.”
    • Prioritize invoices where the full original amount is still open (no partial payments).
  3. Search the bank around the invoice date.

    • In each bank account, filter the register for deposits equal to the invoice amount.
    • Use a date window around the invoice or due date (e.g., 7–30 days before/after).
  4. Confirm there’s no proper A/R link.

    • Check that there is no Receive Payment tied to the invoice.
    • Confirm the deposit is not coming from Undeposited Funds with that invoice attached.
  5. Inspect the deposit coding.

    • Is the full amount coded to an income account?
    • Is there no customer on the line, or the wrong customer?
    • If yes, you’ve likely found a misposted customer payment.
  6. Reclass and link correctly.

    • Option A (preferred when dates are close and periods are open):
      • Create a Receive Payment dated as of the actual payment date, applied to the invoice, depositing to Undeposited Funds.
      • Edit the original deposit: change the income line to “Undeposited Funds” and link it to the new payment (or rebuild the deposit from payments).
    • Option B (when you can’t touch closed periods):
      • Leave the original deposit as-is.
      • Create a Receive Payment dated in the current open period, applied to the invoice, posting to a clearing account.
      • Offset the clearing account with a journal entry that reverses the duplicate income in the current period, with clear documentation.
  7. Document your decision.

    • Note which invoices were fixed, how you handled closed periods, and any assumptions.
    • This becomes part of your year-end workpapers and your internal review trail.

Set firm standards for this: minimum invoice amount (e.g., only chase items over $200), maximum date window (e.g., ±30 days), and how you handle closed years. For older years already filed, you may decide to leave misposts in place and only correct going forward, as long as you clearly document the known distortion in A/R and income.

Building this into your standard review

The firms that stay sane don’t “hunt and peck” for these one invoice at a time. They build a diagnostic step for it.

At the diagnostic stage, before you quote or start cleanup, you want a list of:

  • Open, past-due invoices above your materiality threshold.
  • Matching bank deposits for the same amount within a defined date window.
  • Cases where the deposit is coded to income or has no customer, and there’s no Receive Payment.

That’s exactly the kind of pattern a tool like CleanupOwl can scan for automatically. Instead of spending an hour clicking between aging reports and bank registers, you get a list of suspect invoice–deposit pairs to review and decide how to fix.

Once you’ve cleaned things up, you can re-run the same check periodically (monthly or quarterly) to catch new misposts before they pile up.

The patterns you’ll keep seeing in client files

SituationWhat you see in QBORisk if you shrug it off
Single invoice, clear matching depositOne open $2,100 invoice; one $2,100 bank deposit 9 days later coded to income, no customerOverstated A/R and duplicated income; easy to fix now, painful later if ignored
Many small invoices with matching depositsDozens of $50–$150 “past-due” invoices; bank deposits for same amounts coded to SalesAging report is meaningless; owner loses trust in A/R; time-consuming to unwind if left for years
Partial payments and mixed depositsInvoice has partial payments; bank deposits don’t match remaining balance exactlyHigh risk of mis-matching; easy to create new errors if you force a match without clear evidence
Closed prior year mispostsOld invoices from prior tax years with matching deposits in those yearsFixing may require amending returns; leaving as-is means A/R is wrong; needs a deliberate, documented decision
Properly recorded paymentsInvoice fully paid via Receive Payment and Undeposited Funds; no stray deposits to incomeNo issue; this is the pattern you want to preserve and train the client on

For “clean” one-to-one matches, you can usually fix confidently and move on. For messy partial payments or mixed deposits, you may decide not to force a match unless you have strong supporting evidence (remittance advice, merchant reports, etc.).

For older, closed years, you’re often choosing between:

  • Leaving the historical mispost in place and documenting that A/R is overstated by X and income was overstated in prior years, or
  • Proposing an adjustment and, if material, discussing amended returns with the tax preparer.

Never quietly adjust prior-year deposits or A/R without considering tax filings and prior financial statements. Coordinate with whoever signed the returns, get client approval in writing, and clearly document any corrections that impact closed periods.

Making this part of your cleanup playbook

This deserves its own line on your cleanup checklist. Any time you see a chunky A/R balance with lots of “good” customers showing past due, assume at least some of those invoices are actually paid and misposted straight to income.

Your process should:

  • Flag suspect invoices based on aging, amount, and date windows.
  • Cross-check for matching deposits in bank accounts.
  • Confirm there’s no proper Receive Payment.
  • Decide, based on period status and materiality, whether to reclass and link or document and move on.

Tools like CleanupOwl can hand you the list it used to take an hour to build by hand, so your team can spend their time on judgment calls instead of hunting for matching amounts in the bank register.

If you’re a business owner, this is the kind of question you can ask your accountant: “When you review my QuickBooks, do you check for invoices that look unpaid but actually have matching deposits coded straight to income?” The answer will tell you a lot about how deep their cleanup process really goes.

When this check becomes routine, your A/R aging starts to mean something again, your income is more reliable, and your cleanup projects stop turning into archaeological digs.

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