Non-profits track funds in QuickBooks Online with classes and sub-accounts
QuickBooks Online has no built-in fund accounting, so non-profits track each fund with class tracking and matching bank sub-accounts.
Community threads from small non-profits tend to share a shape. A treasurer asks how to show the board what remains in the building fund, the scholarship fund, and the general fund. The ledger answers with a single checking balance. The accepted fix, one we see repeated across QuickBooks Online discussions, is a workaround rather than a feature: class tracking for the reporting, bank sub-accounts for the balances, and one easily missed report setting for the lifetime view.
Fund accounting asks for a rule the software does not enforce
Fund accounting allocates money to a purpose before anyone spends it. When a fund runs dry, the method says spending against that fund stops. Charities lean on the discipline to honor donor restrictions and grant terms.
QuickBooks Online has no fund ledger that enforces any of this. A checking account in the software is one pot of money, and nothing in the program refuses a check because a label ran out of cash. That gap is the issue users keep hitting. The workaround delivers visibility, while enforcement stays human.
The symptom: one balance, many promises
Users arrive with the same complaint in different words. Restricted donations land in the same checking account as everything else. Month-end reports cannot say how much remains in any single fund. Grant filings and board packets end up in a side spreadsheet, which then drifts out of step with the books.
Picture a food pantry running a general fund beside a restricted capital campaign. Both live in one bank account. Without structure, the campaign total exists only in someone’s head.
Turn on class tracking first
Class tracking is the switch that makes all of this possible, and it sits buried in settings. Open Settings, then Account and settings. Choose the Advanced tab, find the Categories section, and select edit. Switch on Track classes, then save and close.
The Classes list does not appear under All lists until that toggle is on. Users who skip the step often conclude the feature is missing entirely.
Create one class for each fund
Return to Settings and open All lists, then Classes. Select New and give the class the fund’s name. Repeat for every fund you track.
Keep the names short and durable. A renamed class reaches backward through old reports, and a mid-year relabel can make earlier statements confusing to read.
Give each fund a matching bank sub-account
Classes track flows, not balances, so the accepted answer pairs each class with a bank sub-account. Open the Chart of accounts and select New. The software then shows one of two screens, depending on the account view it presents.
On one layout, you choose Banks and place the account under Bank Accounts. Pick Checking on the tax form line, name the account after the fund, and add a starting date with an opening balance. On the other, you enter the fund name as the category, choose Bank & credit cards, set the account type to Checking, and record the opening balance.
Either path lands in the same place: a checking-type sub-account named for the fund. One caution from practice is worth adding. The bank still sees a single account, so the sub-accounts are internal partitions. Their balances should always add up to the real statement total.
Read the answer in Profit and Loss by Class
Open Reports, then Standard reports, and search for Profit and Loss by Class. The report runs for the current fiscal year by default, which quietly hides a fund’s earlier life. Open the Report period dropdown, choose All Dates, and run the report.
The result is income and expense broken out by class, one column per fund. Compare lifetime inflows against outflows within a column and you have the amount still available to spend. Setting the period to All Dates is the detail many users miss, and without it a multi-year fund looks emptier than it is.
Where the workaround stops
Classes report spending; they do not prevent it. The software will record an expense against an empty fund without complaint, so the control has to be procedural. Check the class balance before committing money, and reconcile the sub-accounts each month.
Formal statements of restricted net assets also exceed what this method produces on its own. For internal board reporting, though, the combination answers the question that opens every one of these threads: how much does each fund hold, and where did the money go. The reporting symptom resolves. The spending discipline remains the treasurer’s job, which is worth knowing before the next restricted gift arrives.