Chart of Accounts

The filing system that classifies every dollar flowing through your nonprofit.

Updated April 9, 2026

Your chart of accounts is the filing system for every dollar that flows through your organization. It's a list of categories -- called accounts -- that you use to classify transactions. When you record a donation, pay a bill, or receive a grant, each amount goes into one of these accounts.

NP Ledger creates a starter chart of accounts when you set up your organization, pre-loaded with common nonprofit categories like "Donation Revenue," "Program Expenses," and "Checking Account." Every transaction you record touches at least two accounts (that's how double-entry bookkeeping works -- money always moves from one place to another). Your financial reports pull directly from these accounts, so how you organize them determines what your reports look like.

Every account falls into one of five types. Think of them as five big filing cabinets:

Assets -- What You Have

Money in the bank, equipment, accounts receivable. Examples: - Checking Account - Savings Account - Office Equipment - Donations in Transit (money on its way from a donation platform to your bank)

Liabilities -- What You Owe

Bills to pay, loans, deferred revenue. Examples: - Accounts Payable - Credit Card Balance - Payroll Taxes Payable - Pass-Through Liability (money held on behalf of another organization -- see Pass-Through and Agency Contributions)

Net Assets -- The Difference

Assets minus liabilities. This is your organization's total worth, split by donor restrictions: - Without Donor Restrictions -- money you can spend on anything (your operating budget) - With Donor Restrictions -- money that donors said must be used for a specific purpose or after a specific date

See Understanding Restrictions and Releases for more on how restrictions work.

Revenue -- Money In

Income your organization receives. Examples: - Donation Revenue - Program Revenue - Grant Revenue - In-Kind Revenue (for non-cash gifts)

Expenses -- Money Out

Money your organization spends. Examples: - Salaries and Wages - Rent - Office Supplies - Program Expenses

Each account has a GL code (general ledger code) -- a short number that identifies it. NP Ledger assigns these automatically:

Account Type Code Range Example
Assets 1000-1999 1010 Checking Account
Liabilities 2000-2999 2010 Accounts Payable
Net Assets 3000-3999 3010 Without Donor Restrictions
Revenue 4000-4999 4010 Donation Revenue
Expenses 5000-5999 5010 Salaries and Wages

You can customize GL codes if your accountant uses a different numbering system, but the defaults work well for most small nonprofits.

Each transaction is recorded in both an account and a fund. The account tells you what kind of money it is (revenue, expense, etc.). The fund tells you whose rules apply to it (general operations, building campaign, etc.).

For example, a $500 donation restricted to youth programs is recorded in the "Donation Revenue" account within the "Youth Program Fund." The account categorizes the type; the fund tracks the restriction. See Funds and Programs for more on how funds work.

Common reasons to add an account: - You opened a new bank account (add it as an Asset account) - You started a new expense account (like a new program with its own budget line) - You received a type of revenue you haven't tracked before (like investment income)

How to add an account: 1. Go to Accounts from the sidebar 2. Click New Account 3. If you're new to accounting, look for the helper banners at the top of the page — they offer template tiles for common account types (like "Program Expense" or "Checking Account") that pre-fill the form for you. You can dismiss these once you're comfortable. 4. Enter the account name, select the type, and optionally set a custom GL code 5. Click Save

When NOT to modify accounts: - Don't delete an account that has transactions -- the transactions would lose their categorization. Instead, mark the account as inactive. If you have duplicate accounts, you can merge them to consolidate transactions into one account. - Don't change an account's type after recording transactions against it (changing an expense to a revenue account would distort your reports). - Don't create too many accounts. A small nonprofit typically needs 20-40 accounts. More than that makes reporting harder, not better.

A small food bank might have this chart of accounts:

GL Code Account Name Type
1010 Main Checking Asset
1020 Savings Asset
1030 Donations in Transit Asset
2010 Accounts Payable Liability
3010 Without Donor Restrictions Net Asset
3020 With Donor Restrictions Net Asset
4010 Donation Revenue Revenue
4020 Grant Revenue Revenue
4030 In-Kind Revenue Revenue
4040 Program Revenue Revenue
5010 Salaries Expense
5020 Rent Expense
5030 Food Purchases Expense
5040 Transportation Expense
5050 Office Supplies Expense
5060 Insurance Expense

This is 16 accounts -- enough to produce clear reports without being overwhelming.

  • During initial setup -- review the default chart of accounts and add any accounts you need before entering transactions
  • When your accountant asks -- they may want to add accounts for better reporting granularity
  • Before closing a period -- make sure all transactions are in the right accounts (it's harder to reclassify after closing)
  • When preparing your 990 -- the 990 Wizard maps accounts to 990 line items; a well-organized COA makes this mapping cleaner

Accountant Note: NP Ledger's chart of accounts follows ASC 958-205 for net asset classification, supporting the two-class model required by ASU 2016-14 (with and without donor restrictions). The default account structure provides sufficient detail for GAAP-compliant financial statements while remaining accessible to non-accountant users. Organizations with functional expense reporting requirements (ASC 958-720-45) should ensure expense accounts align with their functional categories.

Ready to try NP Ledger?

Native fund accounting, Form 990 support, and smarter bookkeeping for nonprofits.