QuickBooks cleanup: why voiding beats deleting transactions
When deleted transactions quietly erase the story
You open a new QBO file for a cleanup, head straight to the Audit Log, and your stomach drops.
Page after page of Deleted next to checks, invoices, bills, and journal entries. The client proudly tells you, "Don't worry, I cleaned up a bunch of mistakes before you came in. I just deleted the bad ones."
On the surface, the balances might even look fine. Bank reconciles, A/R aging kind of makes sense, vendors are roughly right. But the history is gone. You can't see what was there, what changed, or why cash moved the way it did.
This is the mess: instead of voiding bad transactions, someone has been deleting them. The numbers today might be close, but the audit trail is shredded. And as the cleanup firm, you inherit all of that risk.
Where this problem hides inside QuickBooks Online
The only place you really see this pattern is the Audit Log. The standard reports won't tell you what used to exist.
In a typical messy file, you'll see things like:
- A run of deleted checks tied to the operating bank account over the last few months
- Deleted invoices and receive payments around the same dates as big customer disputes
- Deleted bills and bill payments right before year-end
- Deleted journal entries that look like prior bookkeepers "fixing" problems by nuking history
A realistic example:
- Cleanup period: last 6 months
- Audit Log shows 50
Deletedevents- 25 deleted checks from the main bank account
- 15 deleted invoices and sales receipts
- 8 deleted bills and bill payments
- 2 deleted journal entries
None of those transactions exist anymore. You can't open them, can't see the original amount, and can't see which accounts they hit. All you know is that they were there, and now they're not.
Common red flags:
- More than a handful of deleted checks or credit card expenses in the cleanup period
- Deleted invoices or receive payments clustered around the same customers
- Deleted bills or bill payments tied to key vendors
- Deleted journal entries used as "fix everything" buttons
- Deletions happening during your cleanup window, not just in the distant past
If you only have a few minutes to assess a new file, filter the Audit Log to the last 12 months and sort by Event = Deleted. A quick scan of counts by transaction type tells you a lot about how the books have been "cleaned" historically.
What happens if you just live with it
The temptation is to shrug and say, "Well, the current balances look okay." But heavy use of deletion instead of voiding has consequences that show up later, usually when it hurts the most.
The damage inside your numbers
Deleting a transaction removes it from the ledger entirely. Voiding keeps the shell of the transaction with a zero amount and a clear status.
When you delete instead of void:
- You lose the original date, amount, and accounts hit
- You can't easily reconstruct why a bank statement doesn't line up with historical reports
- Prior reconciliations can become impossible to explain
- Cash, A/R, and A/P histories stop making sense when you look back more than a few months
For example, if a $5,000 check from March was wrong and got deleted in June, March's bank reconciliation no longer ties to the current register detail. If you're ever asked to prove what happened in March, you're stuck.
This matters for:
- Bank rec support during due diligence or lending
- IRS or state notices that reference prior-period activity
- Year-over-year comparisons when prior periods have been "cleaned" by deletion
The damage in client conversations
The other problem is credibility.
When a client asks, "Why does my 2023 cash flow look so different from what my old accountant showed me?", and you can't trace the history because transactions were deleted, it undermines trust in the entire set of books.
You also lose:
- The ability to show the client what went wrong and how you fixed it
- Training opportunities ("Here’s the voided invoice and the correcting entry")
- A defensible story if there's ever a dispute with a customer, vendor, or tax authority
In other words, you can get to the right ending balance while still having a file you would never want to defend.
A better way to handle bad transactions
Strong cleanup firms treat deletion as the exception, not the default. The default is: void and correct.
Here's a practical way to approach it:
- Define a cleanup period. Usually the engagement window (e.g., last 12–24 months). That's where you care most about audit trail quality.
- Pull a deletion summary. From the Audit Log, filter to that period and event type
Deleted, and note counts by transaction type: checks, expenses, invoices, bills, journal entries, etc. - Segment by module. Group deletions into: bank/credit card, A/R, A/P, and journal entries. A single deleted invoice is different from 20 deleted checks.
- Set a practical threshold. For example, more than ~10 deletions in the cleanup period, or more than 3–5 in any one module, triggers deeper review.
- Review patterns, not every transaction. You don't need to investigate every deleted $10 test invoice. Focus on clusters: many deleted checks, lots of deleted invoices for one customer, or repeated deleted JEs.
- Lock in a policy going forward. During your engagement, train your team and the client: void erroneous transactions and post correcting entries instead of deleting, except for obvious duplicates or immediate mis-clicks.
Tools like CleanupOwl can do the heavy lifting on step 2–3 by automatically counting deletions by module over your defined cleanup period and surfacing where the volume looks off.
Not every deletion is a problem. Immediate reversals of a mis-click, obvious duplicate sales receipts, or test entries in a sandbox phase are fine to delete. Your internal threshold should focus on patterns of deleting real, posted activity in bank, A/R, A/P, and journal entry modules.
Turning this into a consistent firm standard
This isn't just a one-time cleanup trick; it's a control.
Bake it into your standard workflow like this:
- Pre-engagement diagnostic. As part of your initial file review, run a deletion-volume check over the last 12 months. If the counts are high, you know you're dealing with a fragile audit trail.
- Engagement kickoff. Tell the client plainly: "From this point on, we don't delete posted transactions unless they're obvious duplicates. We void and correct so we can always see what happened."
- Internal SOP. Document when deletion is allowed (e.g., same-day mis-entry, zero-impact test transactions) and when it's forbidden (anything that ever hit a bank rec, A/R, A/P, or a closed period).
- Ongoing monitoring. Once a month, a senior reviews the Audit Log for new deletions in the cleanup period. If patterns reappear, you address training or access controls.
CleanupOwl can hand you the deletion summary that used to take 30–60 minutes to build by hand from the Audit Log, so your reviewers can spend their time on judgment instead of data gathering.
If you're a business owner, this is the kind of question you can ask your accountant: "Do you have a policy on deleting vs. voiding transactions in QuickBooks, and how do you monitor it?"
The patterns you'll keep seeing in client files
| Situation | What you see in QBO | Risk if you shrug it off |
|---|---|---|
| Occasional cleanup by a careful user | 1–2 deleted transactions in the last year, mostly obvious duplicates or test entries | Low. Likely harmless, but still worth confirming the policy going forward. |
| Heavy deletion of bank activity | 20+ deleted checks/expenses tied to the main bank account in the last 6 months | Bank rec history is unreliable; hard to defend cash movements or explain prior reconciliations. |
| Customer and A/R history wiped | Many deleted invoices, sales receipts, and receive payments for a few key customers | Customer balances and dispute history become impossible to reconstruct; weak support for revenue and collections. |
| Vendor and A/P "fixes" by deletion | Bills and bill payments deleted around year-end or before 1099 season | Vendor balances and 1099 reporting may be wrong; prior-year expense patterns can't be trusted. |
| Journal entries used as delete-and-replace | Multiple deleted JEs followed by new JEs with vague memos | No clear trail of prior adjustments; difficult to explain changes to tax preparers, auditors, or future accountants. |
When you see only a couple of deletions, you document the context and move on. When you see dozens in a key module, you treat it as a control failure: tighten permissions, retrain users, and be cautious about relying on historical reports.
Be careful in closed or already-filed tax years. If you discover that prior accountants deleted transactions in those periods, resist the urge to "fix" history further. Document what you found, explain the limitations to the client, and focus your corrections on open periods unless there's a compelling reason and proper coordination with tax advisors.
Making this part of your cleanup playbook
This deserves its own line on your cleanup checklist because it isn't about one wrong number; it's about whether the file tells a coherent story over time.
Firms that standardize a "void, don't delete" policy end up with:
- Cleaner audit trails for bank, A/R, A/P, and JEs
- Easier explanations when numbers change between versions of reports
- Less time wasted reconstructing what some prior bookkeeper did three years ago
From a process standpoint, you want two things on every engagement:
- A quick diagnostic on deletion volume in the cleanup period, ideally automated.
- A clear, enforced policy for your team and the client on when deletion is acceptable.
Diagnostic tools like CleanupOwl can run this kind of check before you even quote the work, so you know upfront whether you're walking into a file with a solid history or one that's been repeatedly scrubbed by deletion.
If you're a business owner reading this, ask your accountant how they handle mistakes in QuickBooks: do they delete, or do they void and correct? The answer tells you a lot about how seriously they take your audit trail.
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