Balance Sheet by Class in QuickBooks Desktop: Transactions That Break the Report
QuickBooks Desktop users report unclassified amounts on Balance Sheet by Class; journal entries, paycheques, and liability cheques are the usual cause.

QuickBooks Desktop users who track funds, locations, or departments by class keep hitting the same wall in the Balance Sheet by Class report. Amounts land in an unclassified bucket, or a class column refuses to balance, even when the books themselves are sound. We reviewed the accepted solution on the vendor’s support pages. It pins the problem on three transaction types the report cannot classify, and it gives a working fix for each.
Three transaction types the report cannot classify
The Balance Sheet by Class is built to split assets and liabilities across the classes you set up. It does that well until one of three things enters the books: a journal entry whose classes do not balance, a paycheque carrying more than one class, or a payroll liability cheque. In each case the affected amounts show as unclassified on both the accrual and the cash basis. Switching bases will not hide the problem.
Nonprofits tracking funds by class and businesses splitting results by location feel this most, since the report is their main window on those divisions.
Why does a balanced journal entry still show as unclassified?
A journal entry can satisfy the basic rule of accounting, with total debits equal to total credits, and still fail the class test. The report wants debits to equal credits inside each class. Picture one class carrying a debit with no offsetting credit, while another carries a credit with no offsetting debit. The entry balances as a whole, but the report cannot place those amounts, so it drops them into unclassified.
The accepted fix is a clearing account. Set one up as a pass-through on your chart of accounts. Then route the offsetting lines of the entry through it, so each class balances on its own. The entry still balances overall, and every class column balances with it.
Paycheques work with one class only
The report supports a single class per paycheque. When lines on one paycheque carry different classes, the amounts turn unclassified on both bases. This tends to catch users who assign classes per earnings line instead of per cheque.
Payroll preferences hold the fix. From the Edit menu, open Preferences, choose Payroll & Employees, then Company Preferences. Find the setting that assigns one class per item, set it to Entire paycheque, and save. Then give each employee a class. Open the Employee Centre from the Employees menu, double-click the name, go to the Payroll Info tab, and pick a class from the drop-down. The accepted answer’s rule of thumb: one class per employee paycheque.
Payroll liability cheques arrive without classes
QuickBooks does not assign classes to payroll liability cheques on its own. The payment amount therefore shows as unclassified, again on both bases. The fix is manual. Review the cheque details and assign a class to each line whenever you pay a liability.
The workflow runs through the Payroll Centre. From the Employees menu, open the Payroll Centre and select the Payroll Liabilities tab. Under Pay Taxes & Other Liabilities, double-click the scheduled payment you intend to make. Enter the appropriate class for each amount, save, and review the payment summary before closing. When paycheques carry different classes, the accepted answer takes a longer route. It starts from the last day of the period you are paying liabilities for, then classifies each amount line by line.
The ledger is fine; the report is picky
None of this points to corruption in your file. The transactions post correctly and the general ledger stays balanced. The report simply refuses to guess where an amount belongs when a class does not balance or is missing. That is a design constraint, not a fault in your data.
It also explains why the problem survives a re-run. Users often rebuild the report, verify their data, or toggle between accrual and cash hoping the stray amounts resolve. They will not. The cause sits in the transactions themselves, so the repair has to happen there.
Keeping the report clean
Three habits stop the unclassified bucket from filling. Balance each class inside journal entries, using a clearing account as the offset. Keep one class per paycheque, set at the employee level. Hand-classify every payroll liability payment, line by line, at the moment you pay it. Do that, and the report settles into the job it was built for: a clean split of your balance sheet across the classes you actually run.