Remove Unused Classes, Customers, Vendors, and Other Names in QuickBooks Desktop
Clean up bloated Class, Customer, Vendor, and Other Names lists to speed up dropdowns and reduce company file size before or after condensing.
When list-based entries accumulate over years of use, QuickBooks Desktop dropdown selectors slow down and the overall company file grows larger than it needs to be. Classes, Customers, Vendors, and Other Names entries that carry zero transaction history are prime candidates for cleanup. Our engineers routinely recommend purging these unused records before or after a SuperCondense to maximize the reduction in file size and improve list responsiveness.
Preconditions
Before removing or inactivating any list entries, take the following precautions:
- Create a full backup of the company file (
File ▸ Back Up Company ▸ Create Local Backup) and store it on separate media. Do not skip this step — deletions are permanent. - Switch to Single-User mode (
File ▸ Switch to Single-User Mode) so that no other workstation adds or edits transactions while you work. - Sign in as the Admin user.
Identify Entries With Zero Transaction History
QuickBooks does not expose a single "unused list entries" report, but you can isolate candidates with a custom filtered report:
- Open
Reports ▸ List ▸ Vendor Contact List(or the equivalent contact list for Customers, Other Names, or Classes). - Click Customize Report.
- On the Filters tab, add the Transaction Amount filter and set it to
0. - Set the Date range to All so every historical period is covered.
- Click OK and review the results.
Any entry that appears with zero transaction activity across all dates is a safe deletion candidate — provided it is not a parent or sub-customer/vendor that other active entries roll up to. Note that QuickBooks will not delete an entry that has any transaction linked to it, even a long-inactive one, so the filter is effectively a hard gate.
Delete vs. Make Inactive
These are two distinct operations with different consequences:
- Delete — Permanently removes the entry from the list. Available only when the entry has zero transactions. The deletion cannot be undone except by restoring from backup.
- Make Inactive — Hides the entry from dropdown lists and most reports without removing it from the database. This is the correct choice when you are unsure whether the entry may be needed again, or when the entry has historical transactions but is no longer in active use.
Our engineers generally recommend deleting only those entries the zero-transaction report confirms as unused, and making the remainder inactive.
Step-by-Step Removal
For each list you want to clean up:
- Open the relevant Center (
Customers,Vendors) or list (Lists ▸ Class List,Lists ▸ Other Names List). - Select the entry you confirmed as unused.
- For deletion: right-click the entry and choose Delete (or press
Ctrl+D). If the option is greyed out, the entry has a linked transaction somewhere and cannot be deleted — make it inactive instead. - For inactivation: right-click the entry and choose Make Inactive.
- Repeat for each confirmed entry.
To verify that hidden entries are gone from your dropdowns, open any transaction form (invoice, bill, check) and confirm the entry no longer appears in the Name or Class field.
Signs It Worked
After cleanup, you should see faster population of dropdown selectors, a shorter Class list when filtering reports, and a measurable reduction in file size. Press F2 (or Ctrl+1) to open the Product Information window and compare the file size and list counts before and after.
Limitations
This cleanup reaches only the list layer. If the underlying file is already large because of years of transaction detail — invoices, payments, journal entries — removing unused list entries alone will not produce a dramatic size reduction. In that situation, list cleanup is best paired with a condensing process that removes old transaction history. Similarly, if dropdowns remain sluggish after cleanup, the bottleneck may be network latency or hardware rather than list count.
Entries that participate in payroll, sales tax, or inventory assembly relationships may resist deletion even when the zero-transaction filter suggests otherwise, because QuickBooks treats certain structural links as active regardless of transaction volume.