Blog · Board and management reporting · Finance and FP&A teams
A statement of functional expenses shows nonprofit costs by natural account and purpose. Build a reconciled view from an approved allocation workbook, with spreadsheet formulas, a worked example, and checks against the expense ledger.
A statement of functional expenses shows what a US nonprofit spent and which purposes the spending served. Natural accounts describe the costs; functional columns separate program services, management and general, and fundraising. Build the report from approved expense classifications and allocations, then prove that both dimensions reconcile to the same ledger total.
Salaries, occupancy, supplies, professional fees, and depreciation are natural classifications. Program services, management and general, and fundraising are functional classifications. A program director's salary and a development officer's salary can share a natural account while belonging to different functions.
The IRS Form 990, Part IX makes this structure visible: expense types run down the rows, with total, program service, management and general, and fundraising columns across the page. This article uses the same familiar dimensions for management analysis; it does not prepare a regulatory filing.
The organization-wide result belongs in the income and expenditure statement. This expense schedule explains the composition of that report's costs. The wider nonprofit financial statements guide shows how the statements fit together.
Take the closed general ledger expense export for the reporting period. Retain the transaction identifier, date, natural account, amount, department or program, and approved functional classification. Obtain the allocation workbook for costs that serve more than one function, including its effective period and accounting approval.
Keep direct expenses separate from shared pools. A vendor invoice for a specific program should not also enter an overhead pool unless the approved accounting treatment requires it. Retain a reference from each allocated amount to the original expense and the supporting allocation rule.
The IRS instructions for Part IX require accurate amounts and documentation of allocation methods; they also explain the expense amounts excluded from Part IX because they are reported elsewhere on the return. That is a reason to maintain a separate reconciliation when a filing schedule and the financial ledger have different scopes.
Use columns A through F in this order. The example is an illustrative US community nonprofit's annual expense schedule. All values are whole USD, and the supplied allocations produce exact dollar amounts without rounding.
| Natural account | Ledger total (USD) | Program services (USD) | Management and general (USD) | Fundraising (USD) | Unallocated difference (USD) |
|---|---|---|---|---|---|
| Salaries and benefits | 600,000 | 400,000 | 120,000 | 80,000 | 0 |
| Occupancy | 120,000 | 84,000 | 24,000 | 12,000 | 0 |
| Supplies | 100,000 | 95,000 | 4,000 | 1,000 | 0 |
| Professional fees | 70,000 | 20,000 | 35,000 | 15,000 | 0 |
| Depreciation | 30,000 | 21,000 | 6,000 | 3,000 | 0 |
| Total | 920,000 | 620,000 | 189,000 | 111,000 | 0 |
The header is worksheet row 1, natural accounts occupy rows 2 through 6, and totals are in row 7. Populate column B from the approved ledger summary. Populate columns C through E using approved direct classifications and shared allocations.
For every natural account, the row check in F2 is:
=B2-SUM(C2:E2)
Fill it through F6. Every row should return zero. A positive residual means the function columns are below the ledger amount; a negative residual means they exceed it. A zero result proves arithmetic completeness, not that the classification policy is correct.
For occupancy only, assume the controller has approved documented space shares of 70% for programs, 20% for management and general, and 10% for fundraising. The shares sum to 100%.
In the occupancy row, enter:
C3: =$B3*70%
D3: =$B3*20%
E3: =$B3*10%
The results are $84,000, $24,000, and $12,000, totaling the original $120,000. Those percentages apply only to the approved occupancy pool in this example. The salary and professional-fee amounts come from their own approved classifications; do not borrow the occupancy percentages because they are convenient.
For a workbook with fractional cents, use the organization's approved rounding method and account for any rounding difference explicitly. Do not hide an allocation gap by changing a source expense.
In B7, use the following formula and copy it across through E7:
=SUM(B2:B6)
The program total is $400,000 + $84,000 + $95,000 + $20,000 + $21,000 = $620,000. Management and general totals $189,000, while fundraising totals $111,000. Their combined $920,000 equals the natural-account total.
The overall difference in F7 is:
=B7-SUM(C7:E7)
Check each row as well as this total. Two classification errors can offset at the bottom while leaving individual accounts wrong. Finally, tie B7 to the approved expense ledger and tie C7 through E7 to the corresponding functional expense amounts in the activity report.
If the organization sells goods, the cost of goods sold owner explains that cost category. Its treatment in the relevant financial or tax schedule needs an approved mapping before it is mixed into a functional expense comparison.
Suppose accounting approves moving $10,000 of professional fees from management and general to program services after reviewing the underlying work. Only that allocation changes.
| Professional-fee allocation | Program (USD) | Management and general (USD) | Fundraising (USD) | Total (USD) |
|---|---|---|---|---|
| Before approved change | 20,000 | 35,000 | 15,000 | 70,000 |
| After approved change | 30,000 | 25,000 | 15,000 | 70,000 |
The revised functional totals are $630,000, $179,000, and $111,000. Together they still equal $920,000. No expense was saved; its reported purpose changed. Finance should preserve that explanation when comparing periods so leadership does not mistake a classification movement for lower administration spending.
Upload your expense export and approved allocation workbook. Covirage maps the columns, its tools compute and check natural-account and functional totals, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data; account creation takes about a minute.
See Covirage for finance teams for the reporting context.
Natural classification describes what was purchased, such as salaries, rent, supplies, or professional services. Functional classification describes why the organization incurred the cost, such as program delivery, management and general, or fundraising. The same salary account can contain expenses serving several functions.
No. Direct costs should follow their approved purpose, while shared costs need an allocation basis appropriate to the expense. Occupancy might use documented space usage, while payroll might use approved time records. The controller should approve the method and supporting documentation before analysts compare the results.
They share a natural-by-functional view, but a financial statement presentation and a tax return have different instructions and possible adjustments. Reconcile the approved financial expense schedule to the return's required scope. Do not assume a management workbook is ready for filing without accounting review.
A classification change moves reported expense between functions without changing the organization's total cost. It requires evidence and approval. To identify actual savings, compare the underlying vendor, payroll, or activity amounts across periods while holding the classification and allocation methods consistent.