Skip to main content

Nonprofit Chart of Accounts for Restricted Funds

Published: Last updated: Reviewed: Sources: asc.fasb.org aicpa-cima.com quickbooks.intuit.com sageintacct.com

TLDR

Most nonprofits track restricted funds by multiplying account numbers — creating a separate expense account for each grant. This approach produces an unmanageable chart of accounts, makes cross-grant reporting impossible, and fails as the portfolio grows. The correct architecture uses a segment or dimension to carry restriction and fund identity separately from the natural account. Whether the system is QuickBooks, Sage Intacct, or a specialized nonprofit accounting platform, the principle is the same: nature of expense in the account, identity of fund in the segment.

BLUF

The fundamental design choice in a nonprofit chart of accounts is whether fund identity lives in the account number or in a separate dimension. When fund identity is in the account number, the COA expands with every new grant and cross-fund reporting requires manual aggregation. When fund identity is in a dimension, the natural account captures what the cost is and the dimension captures which fund it belongs to. The dimension approach scales, produces cleaner reports, and supports FASB ASC 958 presentation without restructuring accounts.

TL;DR

  • Wrong approach: separate account number per grant per expense type
  • Right approach: natural account for expense type + dimension/segment for fund identity
  • FASB ASC 958 requires: two net asset classes on the balance sheet (with and without donor restrictions)
  • QuickBooks: classes help but are not true fund accounting
  • Sage Intacct: dimension architecture is designed for this; configure funds, grants, programs as separate dimensions

The core design problem

A nonprofit receives a HUD CoC grant and an HHS ACF grant in the same year. Both fund salaries. The organization needs to:

  • Track salary costs separately for each grant
  • Produce total salary costs across all programs for the functional expense report
  • Show the restricted fund balance for each grant on the balance sheet
  • Release restrictions as qualifying costs are incurred

The multiplied-account approach creates accounts like 6101-Salaries-CoC and 6102-Salaries-ACF. This works for two grants. By year five, with 15-20 active or recently closed grants, the COA has hundreds of accounts, reports are unusable without significant manual manipulation, and adding a new grant requires adding 15-20 new accounts.

The dimension approach keeps account 6100-Salaries as the single account for all salary expense. The CoC grant identity is carried in a fund dimension. Reports run against Account=6100 show total salaries. Reports run against Fund=CoC-2024 show all costs for that grant. No account proliferation.

Net asset accounts: FASB ASC 958 structure

Under ASU 2016-14, effective for fiscal years beginning after December 15, 2017, the balance sheet shows two net asset classes:

Net assets without donor restrictions — previously called “unrestricted.” Includes board-designated reserves.

Net assets with donor restrictions — previously called temporarily restricted and permanently restricted combined. Includes purpose-restricted grants, time-restricted pledges, and permanently restricted endowments.

A minimal compliant net asset structure in the COA:

AccountDescription
3100Net assets without donor restrictions
3110Board-designated — [reserve name]
3200Net assets with donor restrictions
3210Donor-restricted — purpose
3220Donor-restricted — time
3230Permanently restricted — endowment

Organizations do not need a separate net asset account for each grant. The grant-level balance is tracked in the fund dimension, with the balance rolling into the 3200 class account.

Revenue account structure for grants

Grants appear in the revenue section of the COA. A clean structure:

AccountDescription
4100Contributions without donor restrictions
4200Contributions with donor restrictions
4300Government grants — federal
4310Government grants — state/local
4400Net assets released from restrictions

The 4400 account records the offset to the net asset release journal entries. It shows on the statement of activities as a transfer between restriction classes.

Grant revenue hits 4300 or 4200 depending on whether it is a government contract or a private foundation grant. Federal grants that are exchange transactions (fee-for-service) may be classified differently under ASC 606. Fund dimension carries the specific grant identity in either case.

QuickBooks: what classes can and cannot do

QuickBooks class tracking assigns a class label to transaction lines. For basic program-vs-admin allocation, classes work. For multi-grant restricted fund tracking, classes have structural limitations:

  • Classes are flat — no parent-child hierarchy
  • Class reports show expenses by class but cannot produce a fund-level balance sheet or statement of financial position by fund
  • Classes cannot enforce double-entry by fund (debits and credits stay at the transaction level, not balanced by class)
  • Class-based restricted fund reporting requires manual adjustments at period end

Organizations managing 3-5 grants with simple restrictions can operate with QuickBooks classes if they supplement with grant spreadsheets. Organizations with more complex portfolios need a system with true dimension or fund architecture.

Sage Intacct: the dimension approach in practice

Sage Intacct is the most widely used accounting system for mid-sized nonprofits with complex grant portfolios. Its dimension architecture allows independent tracking of:

  • Fund — the specific grant or restriction source (CoC-2024, ACF-2023, Foundation-XYZ)
  • Grant — can duplicate Fund or add a layer for sub-grants
  • Program — the functional program activity (Housing, Family Services, Youth)
  • Department — the organizational unit (Case Management, Finance, Administration)
  • Location — if the organization operates across multiple sites

Each transaction carries all applicable dimensions. Reports run against any dimension independently. A functional expense report by program uses the Program dimension; a grant budget-vs-actual uses the Grant or Fund dimension. Neither requires a separate COA restructuring.

At period end, restricted fund balances appear at the fund dimension level. Net asset release entries reduce the fund balance and increase the unrestricted fund balance — captured by the dimension, not by separate accounts.

Segment structure for organizations without Sage Intacct

Organizations using accounting systems without native dimension support (older versions of Intacct, Blackbaud Financial Edge, church management systems) can approximate the dimension approach by:

  • Using a multi-segment account format: 6100-2024-CoC where the first segment is the natural account and subsequent segments are fund and program
  • Enforcing consistent segment population at transaction entry
  • Building reports that aggregate and filter by segment

This approach is less clean than native dimensions but avoids uncontrolled account proliferation. The segment separator must be consistent and the segment values must be maintained in a reference table.

How GrantPipe helps

GrantPipe tracks grant-level financial activity — drawdowns, expenditures, net asset releases — in parallel with the general ledger, using the grant as the organizing entity. For organizations where the accounting system’s dimension structure is not yet clean, GrantPipe provides grant-level reporting that supplements the GL without requiring a COA redesign. Grant budget vs actual, restriction balance, and compliance status are visible per award. Start with a free trial to see grant-level financial reporting alongside your compliance calendar.

Free resource

Get the Nonprofit Grant Compliance Checklist

A practical checklist for post-award grant compliance: restricted funds, reporting cadence, audit prep, and common failure points. Delivered by email.

Email is required for delivery. We'll send the resource to your inbox.

Email is required because the download link is delivered by email, not on-page.

DEFINITION

Natural account
The base account code that describes the economic nature of a transaction — for example, salaries, rent, supplies. The natural account answers 'what kind of cost is this?'

DEFINITION

Segment (dimension)
A separate data field attached to transactions that carries classification information beyond the natural account. Common segments in nonprofit accounting include fund, grant, program, department, and location. Segments answer 'which fund does this belong to?' and 'which program does this serve?'

DEFINITION

Fund accounting
An accounting approach where resources are segregated into self-balancing sets of accounts (funds), each with its own assets, liabilities, and equity/net assets. Used by governments and some nonprofits. Mid-sized nonprofits more commonly use segment tracking rather than true fund-level balance sheet segmentation.

DEFINITION

Net assets
The nonprofit equivalent of equity: total assets minus total liabilities. Under FASB ASC 958, presented in two classes — with and without donor restrictions — on the statement of financial position.

DEFINITION

Class tracking
QuickBooks' mechanism for segmenting transactions. Classes are single-level labels attached to transaction lines. Useful for basic program allocation; insufficient for multi-grant restricted fund tracking.

Q&A

How many expense accounts should a nonprofit have in its COA?

A well-designed nonprofit COA typically has 40-80 natural expense accounts organized by type: personnel (salaries by category, benefits, payroll taxes), occupancy, professional services, supplies, travel, depreciation, and other. Organizations with more than 80-100 expense accounts usually have fund identity embedded in account numbers — which is the problem, not the solution. The fund identity should be in a segment, not in the account number.

Q&A

What is the difference between a program and a fund?

A program is a functional activity of the organization — youth services, housing, job training. A fund represents a source of restricted resources — the HUD CoC grant, the XYZ Foundation grant, the board-designated reserve. The same program can be funded by multiple funds; the same fund can support multiple programs. Both should be tracked as independent dimensions so reporting can cut across either axis.

Q&A

How should a nonprofit handle a grant that funds multiple programs?

When a single grant funds activities across multiple programs, each expense transaction should carry both the grant identifier (fund dimension) and the program identifier (program dimension). The fund dimension aggregates all costs for the grant; the program dimension aggregates all costs for the program. Neither dimension is sufficient alone. Most organizations that lack this dual tracking end up doing manual cost allocation in spreadsheets at reporting time.

Frequently asked

Frequently Asked Questions

What is a segment or dimension in nonprofit accounting?
A segment (in Sage Intacct) or dimension (in many systems) is a data field attached to every transaction that carries additional classification information beyond the natural account number. For example, a salary expense might be coded to account 6100 (Salaries) plus dimension: Grant-2024-HUD-CoC. The account captures what the cost is; the dimension captures which fund it belongs to. This separates restriction identity from expense nature.
Why is multiplying account numbers the wrong approach for restricted funds?
When organizations create a separate account for each grant (e.g., 6101 Salaries-Grant A, 6102 Salaries-Grant B), the chart of accounts grows with each new award and must be maintained perpetually. Cross-grant reporting requires summing multiple accounts manually. Budget vs actual reports are difficult to produce. The structure also makes FASB ASC 958 functional expense reporting harder because the split between nature and function is embedded in account numbers rather than tracked as separate attributes.
How should restricted and unrestricted net assets appear in the chart of accounts?
Under FASB ASC 958, the balance sheet shows two net asset classes: with donor restrictions and without donor restrictions. The chart of accounts should have distinct net asset accounts for each class. A typical structure: 3100 Net assets without donor restrictions; 3200 Net assets with donor restrictions; 3210 (sub-account) Temporarily restricted - purpose; 3220 (sub-account) Temporarily restricted - time; 3230 (sub-account) Permanently restricted. Sub-accounts map to specific fund categories, not individual grants.
Can QuickBooks classes be used for restricted fund tracking?
QuickBooks classes can segment transactions by fund, grant, or program — but they are not true fund accounting and have significant limitations. Classes do not enforce balance sheet segmentation by fund; they cannot produce fund-level statements of activities; and the class structure is flat (no hierarchy). QuickBooks classes work for basic program expense allocation but fail for organizations with more than 5-6 active grants or with complex restriction types. See our guide on why QuickBooks classes are not fund accounting.
What is a fund in nonprofit accounting?
A fund is a self-balancing set of accounts used to account for resources designated for specific purposes or from specific sources. In formal fund accounting systems, each fund has its own assets, liabilities, and net assets. For most mid-sized nonprofits tracking donor-restricted grants, a fund corresponds to a single grant award or a category of restriction — though not every accounting system supports true fund accounting at the GL level.
What does a grant-ready chart of accounts look like?
A grant-ready COA uses: a four-digit natural account range organized by statement (1000s for assets, 2000s for liabilities, 3000s for net assets, 4000s for revenue, 5000s-6000s for expenses); a separate dimension or segment for fund/grant identity; a separate dimension for program or functional classification; and a separate dimension for department or location if needed. The result is that a single salary transaction can carry nature (6100), fund (CoC-2024), program (Housing), and department (Case Management) as independent searchable attributes.