Inheriting a QuickBooks Online file with a messy chart of accounts is common. Two hundred accounts, half of them duplicates, ambiguous naming conventions, accounts created in panic to handle one transaction and never used again. The temptation is to throw it out and rebuild. Resist.
You can clean up a messy COA without breaking historical financials. It just requires a methodical approach.
Short version: Audit the current COA first. Merge duplicates (QBO supports this). Make unused accounts inactive (don't delete). Standardize naming. Group related accounts under parent accounts. Document the structure so future bookkeepers don't make a new mess.
Why charts of accounts get messy
The usual causes:
- Multiple bookkeepers, each adding accounts to fit their preferred categorization
- Accounts created in response to one specific transaction and never reused
- QBO's auto-suggest creating "similar but different" accounts
- Vendor names accidentally created as accounts
- Industry-specific accounts that no longer apply
None of these reflect bad bookkeeping per se — they reflect normal usage over years without periodic cleanup.
Step 1: Audit the current COA
Go to Accounting → Chart of Accounts. Export the full list to Excel (the gear icon → Export).
In Excel, sort by Type, then by Name. You'll see patterns:
- Multiple "Office Supplies," "Office Expenses," "Supplies-Office" entries
- Vendor-specific accounts ("Amazon," "Staples" as expense accounts)
- Accounts with no balance and no recent activity
- Accounts with non-standard names (typos, abbreviations)
Mark each account in a fresh column: "Keep," "Merge into X," "Inactive," or "Investigate."
Step 2: Merge duplicates
QBO supports account merging. To merge:
- Decide which name is the "winner" — the account you're keeping.
- Edit the "loser" account: change its name to match the winner exactly.
- QBO will prompt: "An account with this name already exists. Do you want to merge?"
- Confirm. The loser account's history moves into the winner account.
Important: Merging is one-way and irreversible. Double-check the merge direction before confirming.
Also: both accounts must be the same type (both Expense, both Asset, etc.). You can't merge an Expense account into an Income account.
Step 3: Make unused accounts inactive
For accounts with no recent activity but historical balances:
- Edit the account.
- Check "Make inactive."
- Save.
Inactive accounts disappear from your normal COA view but historical transactions remain. You can re-activate later if needed. Don't delete accounts with any historical data — you'll break audit trails and reports.
Step 4: Standardize naming
Pick a naming convention and apply it consistently:
- Title case: "Office Supplies" not "office supplies" or "OFFICE SUPPLIES"
- No abbreviations: "Telephone Expense" not "Tel. Exp."
- Consistent suffixes: Either all expense accounts say "Expense" at the end, or none do. Don't mix.
- No vendor names: "Software Subscriptions" not "Adobe" or "Salesforce" as account names. Use the vendor list for vendors, not the COA.
Step 5: Group related accounts
QBO supports parent accounts and sub-accounts. Use them. Example:
- Marketing (parent)
- Marketing - Ads
- Marketing - Content
- Marketing - Software
- Marketing - Events
In reports, you can drill from the parent to see breakdowns, or roll up to see just the parent totals. This is far cleaner than 20 flat marketing-related accounts.
Step 6: Run financials and compare
Pull a Profit & Loss before and after your cleanup. They should be identical — merging accounts and making others inactive shouldn't change the actual numbers. If the totals don't match, you accidentally moved an account to the wrong category or merged in the wrong direction.
Step 7: Document the new structure
Write a one-page COA guide for the client. Cover:
- Each main category and what belongs in it
- How to handle gray-area transactions ("Is software a marketing expense or an admin expense?")
- Who to contact (you) before creating new accounts
This is the single most important step for keeping the COA clean going forward.
Common cleanup pitfalls
Merging accounts of different types
You can't merge an Expense account into an Income account, even if the names are similar. The types are fundamentally different.
Making the bank account inactive
If you accidentally make a bank account inactive, transactions still exist but the account disappears from registers. Reactivate via Accounting → Chart of Accounts → gear icon → show inactive.
Renaming during merge
If you typo the name during a merge, the merge still goes through but with the typo'd name. Fix the name after the merge.
Deleting accounts with history
QBO won't let you delete an account with transactions. If you really need to remove one, the only path is to journal-entry the balance to zero, then make inactive. Don't try to delete — the error message is confusing and the right answer is inactive.
Long-term maintenance
Quarterly: scan for new accounts that shouldn't exist. Annually: review the whole COA structure.
For ongoing client engagements, also see our year-end cleanup checklist and our scalable bookkeeping workflow guide.