Statement of Functional Expenses: Example & Form 990 Guide

A statement of functional expenses sorts nonprofit spending by nature and function. See a worked example, allocation methods, and the Form 990 Part IX map.

By:
, co-founder, KleerCard
•
Originally published
June 17, 2026
•
Last updated
October 15, 2026

A statement of functional expenses is a nonprofit financial report that lays your spending out in a grid. Each row is a natural expense like salaries or rent. Each column is a function: program services, management and general, and fundraising. The grid shows how much of every dollar supported your mission.

Most finance teams meet this report at year-end. The auditor asks for it, or the Form 990 preparer does, and the scramble begins. The work feels harder than it should, because the spending was never sorted by function while it happened.

I've spent much of my career in nonprofit finance. I was a budget director at Compassion International, then ran a fractional CFO practice for nonprofits. Today I serve as my church's volunteer treasurer.

I've built this statement on enterprise fund accounting systems and on spreadsheets. The mechanics are the same either way, and you can learn them in an afternoon.

‍

The statement of functional expenses in plain terms

The report answers one question for donors, boards, and grantmakers. Of everything you spent, how much carried out the mission, and how much kept the organization running and the money coming in.

The format is a matrix. Natural expense categories run down the rows. Functional categories run across the columns.

Each cell holds the share of that cost assigned to that function. Salaries might split across all three columns, while audit fees sit in a single one.

‍

Two ways to classify every expense

Functional expenses are a nonprofit's costs grouped by why the money was spent. Natural classification describes what you bought. Salaries, rent, supplies, insurance, software. Functional classification describes why you spent it: to deliver a program, to run the organization, or to raise money.

Your accounting system already tracks the natural side. Functional reporting adds the second view, and the statement is the one place both meet for the same dollars.

A staff salary shows why this matters. One person's pay can land partly in program, partly in management, and partly in fundraising, depending on how they spend their week.

‍

One of four core financial statements

The statement of functional expenses sits alongside three others: the statement of activities, the statement of financial position, and the statement of cash flows. Those three have for-profit equivalents in the income statement, balance sheet, and cash flow statement.

This one is specific to nonprofits. It exists to tie spending to purpose, which is the question your supporters care about most. For the wider context, our overview of how nonprofit accounting works walks through how these reports fit together.

Grid with natural expenses in rows and functions in columns. A staff salary splits 60% program services, 30% management and general and 10% fundraising, while program supplies, audit fees and grant-writing fees each land 100% in program services, management and general, and fundraising respectively.

‍

When a statement of functional expenses is required

‍

Is a statement of functional expenses required?

A statement of functional expenses, or the same analysis in another format, is required for every nonprofit that follows GAAP under FASB ASU 2016-14. Separately, organizations that file the full Form 990 report functional expenses in Part IX.

‍

The GAAP rule: ASU 2016-14

Under FASB ASU 2016-14, every nonprofit that follows GAAP has to present an analysis of expenses by both natural and functional classification. The guidance lives in ASC 958-720-45-15, and it took effect for fiscal years beginning after December 15, 2017. For a plain-language walk-through of the change, see Grant Thornton's summary of ASU 2016-14.

You can present that analysis in one of three places. ASC 958-720-45-15 allows it on the face of the statement of activities, as a schedule in the notes, or in a separate financial statement. Following GAAP triggers the requirement, whatever your organization's size.

Before this update, only voluntary health and welfare organizations had to produce a full statement of functional expenses. The update extended the nature-and-function analysis to every nonprofit. It also asks you to disclose how you allocate shared costs. That disclosure is why the allocation steps that follow matter.

‍

The IRS rule: Form 990 Part IX

The IRS requirement runs on its own track. Organizations that file the full Form 990 report expenses in Part IX of the return. Section 501(c)(3) and 501(c)(4) organizations complete every column, splitting each line across program services, management and general, and fundraising. Other filers must complete the total column and may complete the rest.

The version you file depends on size, and the IRS sets the thresholds:

  • Full Form 990: gross receipts of $200,000 or more, or total assets of $500,000 or more at year-end.
  • Form 990-EZ: gross receipts under $200,000 and total assets under $500,000. The EZ has no Part IX, so there is no four-column functional matrix.
  • Form 990-N, the e-Postcard: gross receipts normally $50,000 or less.
  • Form 990-PF: private foundations, which use a different column structure.

So a small nonprofit that follows GAAP still owes the nature-and-function analysis in its financial statements. That holds even in a year when it files the 990-EZ and never touches Part IX. The two rules can both apply, and they can apply at different sizes.

When a statement of functional expenses is required. The GAAP analysis under FASB ASU 2016-14 applies to every nonprofit that follows GAAP, at any size. On the IRS side, Form 990-N (receipts up to $50,000) and Form 990-EZ (under $200,000 in receipts and $500,000 in assets) have no Part IX; the full Form 990 ($200,000 or more in receipts, or $500,000 or more in assets) requires Part IX, and 501(c)(3) and 501(c)(4) filers complete every column.

‍

The three functional categories

The three functional expense categories are program services, management and general, and fundraising. Every expense falls into one of them.

  • Program services carry out the mission. For a food bank, that's food and distribution; for a school, instruction; for a shelter, veterinary care and adoptions. These costs vary the most from one organization to the next.
  • Management and general keeps the organization running. Accounting and legal fees, the finance function, general office costs, insurance, and board governance. The share of leadership time spent managing rather than delivering belongs here too.
  • Fundraising brings in revenue. Events, donor communications, grant writing, and fundraising software. The cost of asking, in other words.

Some organizations add a fourth function, membership development, for the cost of recruiting and keeping members. At the higher level, the split is program services on one side and supporting activities on the other. Management and fundraising make up the support.

Joint costs, such as a mailing that both educates and asks for gifts, are split between program and fundraising only when the activity meets the purpose, audience, and content criteria in ASC 958-720. Otherwise the cost goes to fundraising.

‍

A note on overhead and the program ratio

Overhead means management and fundraising combined. For years, a common rule of thumb put at least 65% of spending toward programs and no more than 35% toward overhead. That figure is now treated as a rough guide, not a law.

A young organization spends more on overhead while it builds its donor base and infrastructure. An established one usually spends less. Healthy ratios vary by mission, size, and age.

Overhead isn't automatically waste. The ratio is only as reliable as the coding behind it. Here's how nonprofits keep program and administrative spending separate all year, so the split is measured, not estimated.

Underfunding your operations and your fundraising is one of the quieter ways a nonprofit stalls. For more on presenting these numbers well, see our guide to nonprofit expense reporting.

The three functional categories: program services carries out the mission, management and general keeps the organization running, and fundraising brings in revenue. Overhead is management and general plus fundraising. A donut shows the old rule of thumb of 65% to programs and 35% to overhead, a rough guide, not a law.

‍

Allocating shared costs across functions

This is the part that takes real time. Some costs are direct and need no math. Others are shared and need a method you can defend.

Direct costs go where they belong at full value. Grant-writing fees are fundraising, program supplies are program, and audit fees are management and general. No splitting required.

Shared costs need an allocation basis. Functional expense allocation comes down to five common methods. Pick the one that best reflects how each cost was used, write it down, and apply it the same way every year. The figures below are illustrative.

  1. Direct charge: the cost goes to one function at full value. A $4,000 grant-writer invoice is 100% fundraising.
  2. Time and effort: salaries follow time records. A director logging 60% program, 30% management, and 10% fundraising splits a $90,000 salary into $54,000, $27,000, and $9,000.
  3. Square footage: occupancy follows floor space. Program space of 3,000 out of 4,000 square feet puts 75% of rent in program.
  4. Headcount: shared costs follow staff counts per function. With 8 of 10 staff in programs, 80% of a shared insurance line goes to program.
  5. Usage: technology follows who uses it. A donor database used only by development is 100% fundraising.
Shared costAllocation basisWhat you measure
Salaries and benefitsPersonnel timeHours each person spends per function, from a time log or calendar review
Rent, utilities, maintenanceSquare footageFloor space each function occupies
Software and technologyHeadcount or usageWho uses the system, or which function depends on it

‍

I learned the value of tagging spending in real time the hard way. The reporting tools at the organizations I worked with could produce this statement without much trouble. The recurring problem was reconstructing how money was spent months later, from transactions nobody had coded to a function while they happened.

The allocation gets far easier when each cost is tied to a program or function at the moment it happens. If you skip that step, you spend every spring reconstructing a year of untagged spending. Tag each cost once, when it happens, and the year-end statement becomes a quick review.

ASU 2016-14 also asks you to disclose the methods you use, so a short written policy does double duty.

Five methods for allocating shared costs, with illustrative splits: direct charge sends a $4,000 grant writer 100% to fundraising; time and effort splits a $90,000 salary 60% program, 30% management and general and 10% fundraising; square footage puts 75% of rent in program for 3,000 of 4,000 square feet; headcount puts 80% of insurance in program for 8 of 10 staff; usage sends a donor database 100% to fundraising.

‍

Preparing your statement, step by step

  1. Clean up your chart of accounts. Make sure each expense account carries a clear natural label before you start. Our nonprofit chart of accounts guide covers the setup.
  2. Pull your natural totals. Total each natural category for the fiscal year: salaries, benefits, occupancy, and the rest.
  3. Assign the direct costs. Place every direct cost in its single function at full value.
  4. Allocate the shared costs. Split shared costs using your chosen basis, and write the method down.
  5. Build the matrix. Put natural categories in rows, functions in columns, allocated amounts in each cell, and totals along the bottom and the right.
  6. Add a percentage row. Show what share of total spending each function represents, so a reader sees the split at a glance.
  7. Reconcile. Tie the totals back to your statement of activities, and to Form 990 Part IX if you file the full return.

Your chart of accounts sets up most of this work. If it's messy, fix that first, because every later step inherits its structure.

Seven-step workflow for preparing the statement: clean up the chart of accounts, pull natural totals, assign direct costs, allocate shared costs, build the matrix, add a percentage row, and reconcile to your statement of activities and Form 990 Part IX.

‍

Mapping your statement to Form 990 Part IX

Part IX of the Form 990 is itself a statement of functional expenses. It uses four columns: total expenses, program services, management and general, and fundraising. The natural lines on the return are fixed, covering compensation, fees, occupancy, and the rest.

An internal statement that already uses those natural categories transfers almost line for line. That's the payoff for building your chart of accounts with the 990 in mind.

‍

What are functional expenses on the 990?

Functional expenses on the 990 are the expense lines in Part IX, split by purpose. Column (A) is total expenses, (B) program services, (C) management and general, and (D) fundraising.

Your statement columnForm 990 Part IX column
Total(A) Total expenses
Program services(B) Program service expenses
Management & general(C) Management and general expenses
Fundraising(D) Fundraising expenses

‍

Run one reconciliation check before you file. The column totals in Part IX should agree with total expenses on your statement of activities. A clean tie-out is what a preparer looks for, and it's an early check for many auditors. The Form 990 instructions cover each line.

Mapping your statement to Form 990 Part IX: Total maps to column (A) total expenses, program services to (B) program service expenses, management and general to (C), and fundraising to (D) fundraising expenses. Part IX totals should tie to total expenses on your statement of activities.

‍

Producing it in your accounting software

The software you already run shapes how hard this step is.

QuickBooks can produce a version of this report using Classes. Create a Class for each function, require a Class on every transaction, then run Profit and Loss by Class at year-end. It works, but it depends on disciplined tagging, and a single mistagged transaction distorts the report.

QuickBooks Online works on the same Class approach, and the discipline requirement is the same.

Fund accounting platforms built for nonprofits, like Aplos and ACS Technologies' Realm, handle functional reporting more directly. The structure is built in, so you spend less time forcing a general-ledger tool to behave like a nonprofit one.

Whichever you use, the statement is only as clean as the data feeding it. Spending that arrives already coded to a function turns the year-end build into a quick review instead of a month of cleanup.

QuickBooks compared with fund accounting software such as Aplos and Realm. QuickBooks uses one Class per function and a Profit and Loss by Class report, and one mistagged transaction distorts the report. Fund accounting has the functional structure built in and reports by function directly. Either way, the statement is only as clean as the data feeding it.

‍

What does a statement of functional expenses look like?

A statement of functional expenses looks like a grid: natural expenses down the left, program services, management and general, and fundraising across the top, with totals and a percentage row at the bottom.

Here's a finished statement for a midsize nonprofit. The numbers are illustrative, built to show the structure rather than to model any real organization.

Natural expenseProgram servicesManagement & generalFundraisingTotal
Salaries and wages$520,000$140,000$90,000$750,000
Employee benefits$104,000$28,000$18,000$150,000
Professional fees$20,000$55,000$15,000$90,000
Occupancy$84,000$42,000$14,000$140,000
Supplies$60,000$8,000$7,000$75,000
Technology and software$36,000$18,000$26,000$80,000
Travel$50,000$5,000$10,000$65,000
Total$874,000$296,000$180,000$1,350,000
Percentage64.7%21.9%13.3%100%

‍

The bottom row shows the split at a glance. Almost two-thirds of spending goes to programs, with the rest split between running the organization and raising money. That profile reads as healthy for an established nonprofit, though the right mix depends on your mission and your age.

‍

Build your own from this example

Copy the column headers and row labels above into any spreadsheet. Rename the rows to match your chart of accounts, add a SUM across each row for the total column and down each column for the totals row, then divide each function total by the grand total for the percentage row.

Check the grand total against total expenses on your statement of activities before you share it.

Example statement of functional expenses for an illustrative midsize nonprofit, with seven natural expense rows from salaries and wages ($750,000) to travel ($65,000). Totals are $874,000 program, $296,000 management and general, $180,000 fundraising and $1,350,000 overall, a split of 64.7%, 21.9% and 13.3%.

‍

Common mistakes that trigger audit questions

A few patterns tend to draw a reviewer's attention. Most are easy to avoid once you know to look for them.

  • No written allocation policy. The method exists only in someone's head, so nobody can check it.
  • Splits that are all round halves. Every shared cost at 50/50 reads as a guess rather than a measurement.
  • Year-over-year swings with no explanation. A program ratio that jumps from 65% to 85% invites questions.
  • Zero fundraising expense in a year of active fundraising. The numbers and the activity don't match.
  • Shared staff booked entirely to program. Leadership clearly touches management and fundraising too.

The fix for most of these fits on one page. Write a short allocation policy, have your board or finance committee approve it, and review it once a year. Reviewers tend to accept a method you apply the same way every year.

Five mistakes that trigger audit questions: no written allocation policy, every shared cost split 50/50, unexplained swings such as program rising from 65% to 85%, $0 fundraising in an active fundraising year, and shared staff booked 100% to program. The fix is a one-page allocation policy, approved by the board and reviewed yearly.

‍

Keeping functional spending organized with KleerCard

I co-founded KleerCard for nonprofits, churches, and schools that need spending sorted as it happens, not reassembled later.

Nonprofit credit cards can be assigned to a program, a team, or an administrative function, and receipts attach at the point of sale. Every purchase ties to a function and a named person from the moment it clears. Your finance team sees the categorized spend in real time through KleerCard's expense management.

By the end of the year, the data that feeds your statement of functional expenses is already organized. That's the same idea behind separating program and administrative spending from the start.

KleerCard doesn't produce your statement of functional expenses, and it doesn't file your Form 990. What we do is hand your accounting team clean, function-tagged data, so the allocation that used to eat a week takes an afternoon.

How KleerCard keeps functional spending organized: assign each card to a program or function, receipts attach at the point of sale, and year-end data arrives already organized. Allocating untagged spending takes about a week; spending tagged at the swipe takes an afternoon.

‍

Frequently asked questions

‍

What is a statement of functional expenses?

A statement of functional expenses is a nonprofit financial report that shows spending in a grid. Each row is a natural expense, like salaries or rent. Each column is a function: program services, management and general, and fundraising. The grid shows how much of every cost supported the mission.

‍

What is the difference between natural and functional expenses?

Natural classification describes what you bought, such as salaries or rent. Functional classification describes why you spent it: program services, management and general, or fundraising. The statement reports both for the same dollars, which is what makes it useful to donors and auditors.

‍

Who is required to prepare a statement of functional expenses?

Every nonprofit that follows GAAP must present expenses by nature and function under FASB ASU 2016-14, somewhere in its financial statements. That rule is separate from the IRS one: full Form 990 filers also report expenses in Part IX, and 501(c)(3) and 501(c)(4) organizations complete the full functional split.

‍

What are the three functional expense categories?

The three functional expense categories are program services, management and general, and fundraising. Some organizations add a fourth, membership development, for the cost of recruiting and keeping members.

‍

How do you allocate functional expenses?

You allocate functional expenses by assigning direct costs to one function at full value and splitting shared costs on a basis that reflects real use: time for salaries, square footage for occupancy, and headcount or usage for technology. Document the method and apply it the same way every year.

‍

Can QuickBooks create a statement of functional expenses?

QuickBooks can produce a version using Classes, with each function tagged on every transaction. It works with disciplined tagging, though purpose-built fund accounting software handles functional reporting more directly.

‍

Is the statement of functional expenses the same as Form 990 Part IX?

A statement of functional expenses and Form 990 Part IX share the same structure, but they are not the same document. Part IX is the functional expense section of the IRS return. Your statement of functional expenses is the financial-statement report that feeds it.

‍

What is the difference between a statement of functional expenses and a statement of activities?

A statement of activities shows revenue, expenses, and the change in net assets for the year. A statement of functional expenses takes the expense total from that report and breaks it down by nature and function, so the totals should tie, and any difference should be explained.

‍

Putting your statement to work

The statement of functional expenses rewards a year-round habit. Sort spending by function as it happens, write down how you allocate the shared costs, and the report mostly builds itself.

If your team wants every purchase tagged to a program from the moment a card is swiped, that's the problem we built KleerCard to solve. You can see how it fits nonprofits like yours.

Blurred purple background behind the demo call-to-action
Four people smiling in individual circular frames on a white background with a red checkmark below.
4.9 / 5 Rated

Schedule a demo

Speak to a member of our team and we can have you up and running in minutes, not weeks.