ResourcesOperations & Finance › Chart of Accounts
Operations & Finance

Building a Nonprofit Chart of Accounts

A chart of accounts (COA) is the master list of every category your nonprofit uses to record money — every asset, liability, net asset balance, source of revenue, and type of expense. It is the spine of your bookkeeping: get it right and your financial statements, board reports, grant reports, and IRS Form 990 all fall out of the same clean data. Get it wrong and you will fight your books every month.

A nonprofit COA has five sections, each with its own number range: assets (1000s), liabilities (2000s), net assets (3000s), revenue (4000s), and expenses (5000s–6000s). What makes it nonprofit rather than for-profit is two things: net assets are split by donor restriction (FASB), and expenses must be reportable by function — program, management and general, and fundraising — to satisfy Form 990. The single biggest design decision is to keep the account list lean and push program/grant detail into classes or funds (a separate dimension) rather than cloning expense accounts for every program.

The one rule that saves you

Don't create a separate expense account for every program. Create one set of expense accounts (salaries, rent, supplies) and tag each transaction with a class or fund for the program or grant it belongs to. One COA, many programs — that's what keeps your books readable for years.

Why your chart of accounts is worth getting right

Every report you will ever produce is just a re-slicing of the transactions in your books — and the slices are defined by your chart of accounts. A well-built COA means your monthly financials, your budget-to-actuals, your grant reports, and your Form 990 all pull from the same accounts with no manual re-keying. A messy COA means year-end becomes an archaeology project.

Three forces should shape the design from day one:

A common mistake is to design the COA only for the tax return, or only for internal use, and then bolt on the other later. Design for all three at once. As of 2026, the structure below satisfies all three for the vast majority of small and mid-size nonprofits — verify the specific 990 line mapping with your accountant for your situation.

Lean beats elaborate

A small nonprofit rarely needs more than 60–120 accounts. If your COA has hundreds of accounts, you almost certainly have program or grant detail buried in the account list that belongs in a class or fund dimension instead. More accounts means more places to miscode and reconcile.

The five sections and how numbering works

A chart of accounts is organized into five top-level types, and the standard nonprofit convention assigns each a block of numbers. The first digit tells you the type at a glance, and the digits after it let you nest subcategories. As of 2026 the widely used ranges are:

RangeAccount typeAppears on
1000–1999Assets (cash, receivables, prepaids, fixed assets)Statement of Financial Position
2000–2999Liabilities (payables, accrued, loans, deferred revenue)Statement of Financial Position
3000–3999Net assets (with / without donor restrictions)Statement of Financial Position
4000–4999Revenue & support (contributions, grants, program fees)Statement of Activities
5000–6999Expenses (salaries, occupancy, supplies, services)Statement of Activities

Ranges as of 2026 — these are conventions, not law; some software or templates shift the blocks (e.g. expenses starting at 6000). Verify against the template you adopt and keep it consistent.

Within each block you leave gaps so you can insert accounts later without renumbering. The first one or two digits group related accounts: for example, in the assets block you might reserve 1000–1099 for cash accounts, 1100–1199 for receivables, and 1500–1599 for fixed assets. A four-digit scheme is plenty for most organizations; some use five digits to leave room for sub-accounts.

Resist the urge to encode everything into the account number. The account number should answer "what kind of money is this?" The program, grant, or location it relates to is a separate question best answered by a class or fund tag (covered below).

Net assets and donor restrictions (the nonprofit difference)

The biggest structural difference from a for-profit COA lives in the 3000s. Under FASB ASU 2016-14 (ASC 958), effective for fiscal years beginning after December 15, 2017, nonprofits report net assets in just two classes (as of 2026 — verify the current standard with your accountant):

On your external statements you present only those two classes. But internally you almost always want more detail — which grant, which purpose, when the restriction releases. The clean way to handle this is not to create dozens of net-asset accounts, but to track restricted balances by fund or class and roll them up to the two required classes for reporting. This is the heart of fund accounting.

Why this matters for funders

Restricted grant money can only be spent on what the grant specified — it can't fill a gap or build a reserve. That's why operating reserves have to come from net assets without donor restrictions. Your COA has to make that distinction visible, or you risk over-spending restricted funds and under-funding the flexible money that keeps the lights on.

The same idea applies to revenue: separate contributions with donor restrictions from contributions without restrictions in the 4000s so the release of restrictions each year is easy to calculate.

The UCOA standard and mapping to Form 990

You don't have to invent a numbering scheme from scratch. The Unified Chart of Accounts (UCOA) is a free, standardized nonprofit COA developed by the National Center for Charitable Statistics (NCCS, at the Urban Institute) together with the California Association of Nonprofits and several CPA groups. Its key feature: every account code is cross-referenced to IRS Form 990 line items, so a COA built on UCOA translates almost directly onto the return.

A few realities to keep in mind, as of 2026 — verify before adopting wholesale:

The mapping you most want to preserve is the functional expense structure that Form 990 Part IX requires. Every expense must ultimately land in one of three functions:

Crucially, you do not create three copies of every expense account ("Salaries – Program," "Salaries – Admin," "Salaries – Fundraising"). You keep one "Salaries" account and split it across functions using classes or an allocation method. Form 990 Part VIII similarly wants revenue by source, which your 4000-series accounts should already provide. For the full picture of how these accounts feed each statement, see fund accounting & financial statements.

Classes, funds, and dimensions: tracking programs and grants

Here is the concept that keeps a chart of accounts sane. Think of every transaction as having two questions to answer:

  1. What kind of money is it? → answered by the account (e.g. 5010 Salaries).
  2. What is it for? → answered by a separate dimension — a class, fund, program, grant, or location tag.

Keeping these two questions on different axes is what lets you run both a clean Statement of Activities (by account) and a per-program or per-grant report (by class) from the exact same data. Different software calls the second axis different names:

SoftwareWhat the second dimension is called
QuickBooks OnlineClasses (and Locations)
AplosFunds and Tags
Sage IntacctDimensions
XeroTracking categories

Feature names and capabilities as of 2026 — verify on the vendor's current plan, since available dimensions vary by tier.

A practical setup for a small nonprofit:

This single discipline is the difference between a COA that scales gracefully as you add programs and grants, and one that balloons into hundreds of near-duplicate accounts nobody can reconcile.

A sample chart of accounts excerpt

Below is a worked excerpt for a fictional small nonprofit, Riverside Community Center, showing how the five sections, numbering, net-asset split, and functional expenses fit together. This is illustrative, not a template to copy line-for-line — your accountant should tailor it and confirm the Form 990 mapping (as of 2026 — verify).

Account #Account nameType
1010Cash – Operating checkingAsset
1020Cash – Reserve savingsAsset
1100Grants & pledges receivableAsset
1500Equipment (net of depreciation)Asset
2010Accounts payableLiability
2100Accrued payrollLiability
2400Deferred revenueLiability
3010Net assets without donor restrictionsNet assets
3020Net assets without donor restrictions – board-designated reserveNet assets
3100Net assets with donor restrictionsNet assets
4010Contributions – without donor restrictionsRevenue
4020Contributions – with donor restrictionsRevenue
4100Foundation & government grantsRevenue
4300Program service feesRevenue
4500Special events revenueRevenue
5010Salaries & wagesExpense
5020Payroll taxes & benefitsExpense
5200Occupancy (rent, utilities)Expense
5300Program suppliesExpense
5400Professional fees (audit, legal, bookkeeping)Expense
5600InsuranceExpense
5900DepreciationExpense

Notice what is not in the list: there is no "Youth Program Salaries" or "Grant XYZ Supplies." Those are handled by the class/fund dimension. Here's how the same "Salaries & wages" account (5010) splits by class for a single month:

Class / fundFunctionSalaries (5010)
Youth MentoringProgram$6,200
Food PantryProgram$4,800
Management & GeneralAdmin$2,500
FundraisingFundraising$1,500
Total$15,000

One account, four classes — and from this the org can produce a Statement of Activities by nature (account), a Statement of Functional Expenses (by class/function for Form 990 Part IX), and a Youth Mentoring program report, all without a single duplicate account.

Chart of accounts setup checklist

  • Five sections numbered in blocks (1000s assets through 5000s/6000s expenses), with gaps for future accounts
  • Net assets split into with and without donor restrictions (FASB two-class model)
  • Revenue separated by source and by restriction
  • One lean set of expense accounts — no program or grant names in the account list
  • Classes / funds / dimensions set up for programs, the three functions, and restricted grants
  • Account structure mapped to Form 990 Parts VIII (revenue) and IX (functional expense)
  • A short written guide so everyone codes transactions the same way

Building a new COA or cleaning up an old one

If you're starting fresh, begin with the nonprofit COA template built into your accounting software or the UCOA framework, then prune it down to the accounts you'll actually use. If you're cleaning up an inherited mess, the work is usually consolidation: merging near-duplicate accounts and moving program/grant detail out of the account list into classes.

  1. List what you need to report. Start from your outputs — board reports, grant reports, Form 990, the audit — and work backward to the accounts and classes that produce them.
  2. Map to Form 990. Tag each revenue account to a Part VIII source and confirm every expense can be assigned to a function (program / M&G / fundraising) for Part IX.
  3. Move program & grant detail to classes. Every time you're tempted to add an account with a program or grant name in it, add a class instead.
  4. Document it. Write a one-page "how to code transactions" guide. The COA only stays clean if everyone uses it the same way.
  5. Get a professional review for the setup. This is the one place where paying a bookkeeper or accountant to set it up correctly the first time pays for itself many times over — a clean COA makes your annual audit and 990 dramatically cheaper.

A few caveats. Renumbering an existing live COA mid-year can break historical comparisons and integrations — plan such changes for a fiscal-year boundary and keep a crosswalk from old to new codes. And remember that the account ranges and software features described here reflect common practice as of 2026; confirm current FASB standards and your specific Form 990 line mapping with a qualified accountant before you finalize. For the broader context this COA feeds into, see financial management basics, cash vs. accrual accounting, and your annual budget.

Unrestricted income, by design

A 3010 account that actually grows.

Your chart of accounts will have a line for "contributions without donor restrictions" — the flexible money that builds reserves and covers what grants won't. The hard part is filling it. Good Circles is built to feed exactly that line: supporters pick your cause once, then a share of their everyday local spending funds you automatically — about $72 per active supporter per year (≈ $36,000/year from 500 supporters), recurring and unrestricted, free to join. It's an estimate, but it's the kind of durable, flexible revenue that lands cleanly in the 3000s.

Claim a Founding Nonprofit spot →

Sources & tools

Free first

  • Unified Chart of Accounts (UCOA) — The standardized nonprofit chart of accounts from NCCS (Urban Institute) and the California Association of Nonprofits, with codes cross-referenced to IRS Form 990 line items.
  • Propel Nonprofits — accounting & finance tools — Plain-language guides and templates on nonprofit accounting structure, cost allocation, and defining programs and indirect costs.
  • IRS Form 990 — The annual return your COA should map to — Part VIII (revenue by source) and Part IX (expenses by function) define the categories your accounts and classes need to produce.

Paid — optional labor-savers

  • A nonprofit bookkeeper or accountant — A professional to design (or clean up) your chart of accounts, map it to Form 990, and set up your fund/class structure correctly. Worth it when Worth it for the initial setup or a cleanup — a clean COA built right the first time makes every future month, audit, and 990 cheaper and faster.
  • Aplos (nonprofit accounting software) — Fund-accounting software built for nonprofits, with funds/tags to track programs and grants and a nonprofit COA template out of the box. Worth it when Worth it when spreadsheets or generic for-profit software no longer give you clean restricted-fund and functional-expense reporting.

Last verified 2026-06-16. Figures and rules change — verify at the source before you act.

FAQ

What account number ranges should a nonprofit chart of accounts use?

The common convention (as of 2026 — verify against your template) is 1000–1999 for assets, 2000–2999 for liabilities, 3000–3999 for net assets, 4000–4999 for revenue and support, and 5000–6999 for expenses. Leave gaps within each block so you can add accounts later without renumbering. These are conventions, not legal requirements, so consistency matters more than the exact boundaries.

How many net asset categories do nonprofits report?

Under FASB ASU 2016-14 (ASC 958), nonprofits report two external net-asset classes: net assets without donor restrictions and net assets with donor restrictions. This replaced the older three-class model. You can track more detail internally — by grant or purpose — using funds or classes, then roll those up to the two required classes for your external statements.

Should I create separate expense accounts for each program?

No. Keep one set of expense accounts (salaries, rent, supplies) and tag each transaction with a class, fund, or dimension for the program or grant it belongs to. This keeps the account list lean while still letting you produce per-program and per-grant reports, plus the functional-expense split (program, management and general, fundraising) that Form 990 Part IX requires.

What is the UCOA and do I have to use it?

The Unified Chart of Accounts (UCOA), developed by NCCS at the Urban Institute with the California Association of Nonprofits, is a free standardized nonprofit COA whose codes cross-reference IRS Form 990 line items. You don't have to use it, but its 990 mapping is valuable. As of 2026 it's an older reference that predates the 2016 FASB net-asset change, so treat it as a starting framework and modernize the net-asset section — verify with your accountant.