How to Delete Transactions in QuickBooks Online
Open Bookkeeping, then Transactions, find the transaction, open it, select More at the bottom, then Delete, then confirm. For a transaction still sitting in your bank feed that hasn't been added to your books yet, use Exclude instead, which is reversible, unlike delete. Here's the full process for both.
The full walkthrough
1. Decide where the transaction actually lives. An unreviewed bank feed item, a posted expense, and a check you wrote are all "transactions," but they're deleted through slightly different screens in QuickBooks Online.
2. For a transaction already posted to your books, go to Bookkeeping > Transactions, or straight to the account register under Chart of Accounts, and find it there.
3. Open the transaction. Click on it to expand the row, then click again (or use View more) to open the full transaction form.
4. Click More at the bottom of the screen, then choose Delete. This option shows up on expenses, checks, bills, and most other transaction types.
5. Click Yes on the confirmation prompt. The transaction disappears immediately, there's no built-in undo, and any report covering that date recalculates right away without it.
6. For a transaction still sitting in the bank feed, unreviewed, go to Bookkeeping > Transactions > Bank Transactions instead. Check the box next to it and choose Exclude from the batch actions rather than adding and then deleting it.
7. To delete several at once, check the boxes next to multiple transactions in the list view and look for a batch delete action; it's available on the transaction list for many transaction types, so you don't always have to open and delete each one individually.
Delete, exclude, and void aren't interchangeable
These three sound similar and do genuinely different things. Delete removes a transaction entirely and rewrites any report that covered it, including closed periods. Exclude only applies to bank feed items that haven't been added to your books yet; it keeps the transaction out of QuickBooks without ever having created a record to delete in the first place, and it's easy to undo by re-including it. Void (available on some transaction types) zeroes out the amounts but keeps the record and its number intact.
Picking the wrong one is usually what causes real damage. Deleting something that's already been reconciled against a bank statement throws that reconciliation out of balance. Excluding something that was already added just leaves a duplicate sitting in the bank feed, since exclude doesn't remove something already on your books.
The pattern behind most of these cleanup sessions is the same one: a duplicate import, a bank feed matching rule that fired wrong, or a transaction entered twice because two people were working the same account. Fixing one transaction at a time doesn't fix whatever keeps creating duplicates in the first place.
What we've built on top of QuickBooks transaction cleanup
Duplicate detection before anything posts
Incoming transactions get checked against what's already in QuickBooks before they're added, so a bank feed hiccup or a double import doesn't turn into a list of duplicates someone has to find and delete later.
Reconciliation lock on anything already matched
A transaction that's part of a completed bank reconciliation gets flagged before deletion instead of silently throwing off a balance that was already correct.
What's actually creating the mess you keep cleaning up?
Tell us where the duplicate or bad transactions keep coming from, a specific import, a connected app, a manual habit, and we'll tell you if the source itself can be fixed.
Spending real time deleting duplicate or bad transactions in QuickBooks?
Tell us where they keep coming from, specifically, and we'll tell you whether that source can be caught automatically before it ever reaches your books. Transaction cleanup is one example of manual work we remove; the same logic applies anywhere else in the business you're fixing the same mistake by hand.
Let's talk