The debits and credits of accounting remain the same, but accounting for nonprofit organizations includes a unique challenge: functional expenses. In another article, I explained how to separate expenses by function. In this article, I’ll explain how those functions are tracked in the financial statements using by using QuickBooks Online aka QBO classes for your nonprofit accounting, and identify a few potential mistakes to avoid.

QBO Statement of Activity by Class

When setting up a nonprofit organization’s books in QBO, we recommend using QBO’s “class” feature to track functional expenses. This supports organization-wide reporting and assists with translating the financial statements into the form 990.

When discussing how expenses (and revenues) are coded, I describe the account code as the “vertical” element and the class as the “horizontal” element. This is because when reviewing a statement of activity by class, the accounts make up the vertical descriptions for each row, and the classes make up the horizontal descriptions across each column.


A new nonprofit organization should have no fewer than three classes: General & Administrative, Fundraising, and Program. Technically there should be a fourth, Allocate, but this class is for period-end procedures only, and should not appear in final financial reports. See How to Allocate Overhead Expenses in a Nonprofit Organization for more information on the Allocate class, and how it’s used. As the organization grows and develops additional programs, projects, and campaign, it provides financial clarity to add sub-classes to the Program class for those separate programs, projects, or campaigns.

Using QBO classes to align your statement of activity by functional expense type is a way to implement fund accounting for nonprofits.

**Use Classes For Tracking Functional Expenses – Not Grantors


It’s very easy to leap from using classes to track functional expense types, to using classes to track revenues and expenses associated with individual grants – especially when talking about Program-specific grants. There are a few things to consider before doing this.

**Not all Grantors fall into only one functional expense


One of the big reasons to use classes to track functional expenses is to produce financial statements that clearly and cleanly align with the organization’s 990, and audited financial statements when they undergo an independent audit. If you can classify the revenue and expenses for each grant 100% under one – and only one – functional expense type, this will work until you have more grants than fit across your screen. But if any of your grants fall into more than one functional type (many grants have budget elements under both Program and General & Administrative), you no longer have a statement of activity by class that will align with your 990 or audited financial statements.

For example, let’s say that Craig’s Plant Rescue organized their accounting to use QBO classes to track each grantor instead of by organization function. Craig’s Plant Rescue has four different programs (Alpha, Beta, Gamma, and Delta) and five grantors (Basswood, Elm, Oak, Maple, and Pine). When Craig’s Plant Rescue won the grants, they submitted budgets for use of the funds in the amounts shown below. If Craig’s Plant Rescue deviates from these usages, they may be asked to return the funds.


When Craig’s Plant Rescue runs their statement of activity by class from QBO to show that the book financial statements reconcile to the organization’s 990, and to the audited financial statements, they’ll have a report that looks like this:


This statement of activity by class where the classes represent each class is very easy to tie back to the grant budgets. But the statement of activity on the 990 and the 990 look like this:


The two statements are very difficult to reconcile without going through each grant individually, and breaking out the activity.

If your grant expenses can be 100% assigned to a specific program or 100% general and administrative – like grants Oak and Maple, above – it would be easy to have Programs by Grantor. However, grants tend to grow in complexity, allowing for multiple types of functional expenses.

**Your organization will (hopefully!) grow


Ideally, your organization will grow and obtain more grants and contracts each year. Very likely, you’ll also have agreements that do not align perfectly with your fiscal year, and/or will have agreements that repeat for more than one year. The result is an increasing number of grantors each year, and if you’re using QBO classes to track each grant, eventually you’ll have a very high number of classes. An organization with high growth and a mission with any kind of breadth will eventually – possibly within the first few years – have an unmanageable number of classes in QBO. Compounding this issue with having grant budgets covering more than one functional expense type (as discussed above) renders your statement of activity by class extremely cumbersome, to the point where its use is limited to a few members of the internal finance and operations team only.

**Track Grantors outside of QBO


Due to the pitfalls discussed above, I recommend tracking your grants outside of QBO. Some organizations use Excel or Gsheet spreadsheets, and some use grant tracking software like Bloomerang, FastFund, or Little Green Light. Some software (like Little Green Light) integrates with QBO to reduce input and errors in your accounting system.

If you’re experimental, you can try tracking your grants in QBO by using Tags, but the reports that you can run will be limited.

Why Use QBO Classes for Nonprofit Accounting

If QBO doesn’t specifically support grant tracking, you may be wondering why we recommend using QBO for nonprofit accounting at all. We recommend using QBO because grant tracking is a detailed and complicated task that is worthy of a separate software. If you do choose a different software, be sure that their reporting options support multi-class statements of activity, and that the functional expense reporting is truly integrated into the basic financial statements.

Final Word on Using QBO for Nonprofit Accounting

When setting up your nonprofit accounting, be selective about setting up your classes. Definitely use as many as you need, but be wary that having TOO MUCH detail can render your financial statement reporting ineffective. If you have any questions about setting up a QBO file for your nonprofit, or about improving your existing classes, let us know!