How to Categorize Bank Transactions for a Nonprofit (Form 990 Functional Expenses)

Jul 20, 2026

Convert your bank statement to Excel now

PDF, JPG, PNG, BMP, HEIC, TIFF, MT940

Upload your bank statement

Last updated July 2026.

To categorize bank transactions for a nonprofit, code every line twice: once by its natural category (what you bought, like salaries, rent, or supplies) and once by function (program services, management and general, or fundraising). That double coding is what lets the same transactions roll up into a Statement of Functional Expenses and into Form 990, Part IX. A for-profit business only needs the first classification. A nonprofit needs both, and building the habit at the transaction level is far easier than untangling it at year end.

Why nonprofits classify every transaction twice

FASB ASC 958-720 requires a nonprofit to report expenses by both natural and functional classification. Natural classification answers what the money was spent on. Functional classification answers which purpose the spending served. The IRS mirrors this on Form 990: Part IX is a grid where each natural expense row is split across three functional columns. If your bookkeeping only records the natural category, you have to reconstruct the functional split later from memory, which is where errors and audit questions come from.

FunctionWhat belongs hereForm 990 column
Program servicesDirect mission work: the services and activities your exempt purpose exists to deliver.Column (B)
Management and generalRunning the organization: governance, accounting, HR, insurance, general office costs.Column (C)
FundraisingSoliciting gifts and grants: appeals, events, donor software, campaign staff time.Column (D)

How do you categorize expenses for a nonprofit?

Categorize a nonprofit's expenses by assigning each transaction a natural category and a function, then a fund or grant if the money is restricted. Start from the bank and card statements, because they are the complete record of what actually moved. Convert each statement into rows with a date, payee, and amount, then add three columns of your own: natural category, function, and fund. Most lines have an obvious function once you know the payee. A check to a teaching artist is program. A QuickBooks subscription is management and general. A Mailchimp charge for the year-end appeal is fundraising.

The fastest way to get to clean rows is to categorize the transactions from the bank statement in one pass rather than typing them in. Nonprofits running on donated or reimbursed spending also lean on automated receipt and card-spend capture so the paper side of each purchase is coded the same way the bank line is.

The natural categories to use

Natural categories are the ordinary expense accounts on your chart of accounts. Form 990, Part IX lists many of them explicitly, so it helps to name yours to match. Salaries and wages, payroll taxes, and benefits are usually the largest. Below those sit occupancy (rent and utilities), office expenses, information technology, travel, conferences, professional fees, and grants paid to others.

Natural categoryTypical statement lines
CompensationPayroll runs, payroll tax deposits, benefit premiums, retirement contributions.
OccupancyRent, electric, gas, water, building maintenance.
Office and technologySoftware subscriptions, internet, supplies, printing, postage.
Professional feesAudit, legal, contract bookkeeping, consultants.
Program costsMaterials, stipends, participant support, grants paid.

What are the three functional expense categories?

The three functional expense categories are program services, management and general, and fundraising. Program services are the activities that carry out your mission, and donors and rating sites watch this number closely because it shows how much of each dollar reaches the work. Management and general covers the cost of simply operating: governance, accounting, insurance, and general administration. Fundraising covers the cost of asking for support, including appeals, events, grant writing, and donor-management tools.

What is the difference between natural and functional classification?

Natural classification groups expenses by their nature, meaning what was purchased, such as salaries, rent, or supplies. Functional classification groups the same expenses by the purpose they served, meaning program, management, or fundraising. A single payroll run is one natural category (compensation) but may split across all three functions if the employee spends time on program work, administration, and a fundraising campaign in the same period. That is why the Statement of Functional Expenses is a grid rather than a list.

Allocating shared costs across functions

Some costs serve more than one function and have to be split on a reasonable, documented basis. Payroll is the classic example: if a program director spends 70 percent of their time delivering services, 20 percent administering the organization, and 10 percent on the annual gala, their salary and related taxes get allocated 70/20/10. Rent and utilities are often allocated by square footage or headcount. Pick a method, write it down, and apply it consistently. When you categorize from the statement, put the full amount on its natural row and record the allocation percentages in a note column so the split is repeatable at year end.

Tagging restricted funds

Beyond function, track whether money is restricted. Current standards use two buckets: net assets without donor restrictions and net assets with donor restrictions. When a grant can only be spent on one program, tag every transaction paid from it with that fund or grant name. This is fund accounting, and it is how you prove to a funder that their money went where they intended. A simple fund column next to your function column handles it, and it makes grant reporting a filter rather than a rebuild.

From statement PDF to categorized rows, step by step

Here is the workflow that keeps a small nonprofit's books clean without accounting software doing the sorting for you.

  1. Gather every checking, savings, and card statement for the period, including any restricted-grant account.
  2. Convert each statement to a spreadsheet so you have dated rows with payee and amount. The bank statement converter for nonprofits keeps the running balance and merges multiple accounts.
  3. Add three columns: natural category, function, and fund.
  4. Code the obvious lines first (rent, payroll, software), then handle shared costs with your allocation method.
  5. Pivot the rows by function to preview your Statement of Functional Expenses, and by fund to preview grant reports.
  6. Import the coded rows into your accounting system, or hand the clean sheet to your accountant.

Do nonprofits have to file a statement of functional expenses?

Yes. Every organization that files the full Form 990 must complete Part IX, the Statement of Functional Expenses, which reports expenses across program, management and general, and fundraising columns. Organizations small enough to file the 990-EZ or 990-N do not complete Part IX, but they still benefit from tracking function, because board members, grant applications, and charity-rating sites all ask how much of the budget reaches the mission. Coding by function all year is what makes that answer trustworthy.

Keep it clean all year

The nonprofits that dread year end are the ones that categorize once, in a panic, from a pile of statements. The ones that sail through code each month as they go. Convert the statements, add your three columns, and reconcile monthly. When the auditor or the board asks how a grant was spent, the answer is a filter on a spreadsheet you already keep, not a weekend of detective work. If your books live in QuickBooks, you can carry the same coded rows straight into the ledger and keep the program, management, and fundraising split intact.

Ready to convert your bank statement?

Upload a PDF and get clean Excel or CSV in seconds. Works with statements from any bank.

Convert to Excel now

Free to try, no credit card required

From the same family of tools