Guides/nonprofits and the firms that serve them
Nonprofit functional expense allocation bookkeeping
Oct 22, 2026 · 6 min read

Nonprofit functional expense allocation works when every expense account carries one allocation rule, set once, that splits it across program, management and general, and fundraising at every monthly close. The rule states the basis (direct, staff time, or square footage) and the percentages, so the statement of functional expenses is a by-product of closing the month instead of a project in April.
We run an accounting firm, and the nonprofits that come to us for cleanup all have the same shape of problem: the books are fine as a P&L, and the functional statement is a spreadsheet the treasurer rebuilds from memory every year for the 990. The percentages change with whoever is doing the remembering.
What is a statement of functional expenses?
Every nonprofit that files a full Form 990 reports expenses two ways at once: by natural class (salaries, rent, supplies, the lines a P&L has) and by function (what the money was for). The functions are program services, management and general, and fundraising. Under current nonprofit accounting standards, the analysis of expenses by both nature and function is required in the financial statements for all nonprofits, not only the large ones, and Part IX of the 990 is the same grid.
The reason anyone outside the finance committee cares is the ratio. Donors, watchdog sites, and grant reviewers read the share of expenses that went to program versus overhead, and an organization that reports 92 percent program because someone guessed is in a worse position than one that reports 78 percent because someone measured. The number has to be defensible, which means it has to come from a stated method applied consistently.
How do nonprofits allocate expenses between program and administration?
Three bases cover nearly everything, and the method is to assign one to each expense account.
Direct. Some costs belong entirely to one function. Program supplies, client transportation, the case manager's salary, the fundraising gala venue, the audit fee. These are coded to their function at the transaction, and the rule is simply "100 percent program" or "100 percent management and general." Most of the chart is direct, and the more of it you can make direct through account design, the less allocation you argue about.
Staff time. Salaries, benefits, and payroll taxes for people who split their week get allocated on time. The executive director who spends 60 percent on program, 25 percent on management, and 15 percent on fundraising drives a 60/25/15 rule on her compensation lines. The basis is a time study, a quarterly estimate the staff member signs, or timesheets for organizations with federal awards that require them. The percentages are reviewed and re-signed at least annually, and the rule updates when the job does.
Square footage or usage. Occupancy costs (rent, utilities, insurance, cleaning, depreciation on the building) allocate on the share of space each function uses. Measure it once. If the program space is 2,400 of 3,000 square feet, occupancy is 80 percent program, and the rule for every occupancy account is 80/15/5 or whatever the floor plan says. Technology, phones, and shared subscriptions often ride on headcount by function instead.
The rule is written down per account: the basis, the percentages, the date set, and who approved them. That document is the allocation methodology, and it's the first thing an auditor or a federal grant monitor asks for. The second thing they ask is whether the books actually applied it, which is where "set once, applied every close" earns its keep.
How do you track restricted grants in bookkeeping?
Functional allocation is what the money was spent on. Restriction tracking is whose money it was, and the two systems have to coexist in the same ledger.
Contributions come in two kinds: without donor restrictions, which the board can spend on anything within the mission, and with donor restrictions, which are limited to a purpose or a time period by the donor. A foundation grant for the after-school program is restricted. The proceeds of the gala are usually not.
The mechanics that keep this straight:
- One tracking dimension per grant. Each restricted award gets its own class, project, or grant code, and every dollar of the award and every expense charged to it carries that code. The grant's budget by line lives next to its actuals.
- Recognize on award, not on receipt. For most grants, revenue is recognized when the commitment is unconditional, which is usually the award letter, and the unspent portion sits in net assets with donor restrictions. Cost-reimbursement contracts are the exception: revenue follows the qualifying expense.
- Release as spent. Each month, the qualifying expenses charged to the grant code trigger a release: a reclassification from net assets with donor restrictions to without. The release equals the expenses, so the grant balance in restricted net assets always shows what's left to spend.
- Report per grant. The funder wants a budget-versus-actual for their award, in their categories, at their reporting dates. When every expense carried the grant code at the transaction, that report is a filter, not a reconstruction.
A grant expense also carries a function. A restricted award for the tutoring program is 100 percent program by definition, but the allocated share of the ED's time and the rent that the grant allows you to charge still flows through the same allocation rules. The grant dimension and the functional dimension are independent, and the ledger has to hold both at once.
The board packet from the close
When allocation and restriction both live in the ledger, the monthly board packet stops being a separate production. Off a closed month, the same close produces:
- Statement of financial position with net assets split into with and without donor restrictions.
- Statement of activities, with revenue by restriction and the releases shown as a line, so the board can see restricted money becoming available.
- Statement of functional expenses, by nature and function, year to date, with the program ratio on top.
- Grant schedule: each restricted award, its total, spent to date, remaining, and end date, so the board sees which grants are running short or running out.
- Budget versus actual by natural class, with variances over a threshold explained in a sentence each.
That's a packet a treasurer can present in ten minutes. It's the same set of numbers the 990 preparer needs in the spring and the auditor needs in the summer, which is the point: one close, three audiences. For how to structure the recurring package so it ships on schedule without a month-end scramble, see owner reports without the month-end crunch; the mechanics are the same for a board as for an owner.
Common mistakes in inherited nonprofit files
The files we take over usually have some combination of these:
- Allocation done once a year in a spreadsheet. The percentages aren't in the ledger, so every monthly report the board saw all year showed 100 percent of everything in one column, and the 990 shows a different picture than the board ever discussed.
- Restricted revenue booked to a bank account and nothing else. No grant code, no restriction, no release. The grant "balance" is whatever the ED thinks is left.
- Releases never posted. Restricted net assets grow every year because grants came in and were spent, but no reclassification ever moved the money out of restricted. The balance sheet shows money the organization doesn't have.
- In-kind contributions ignored. Donated space, donated legal work, and donated goods are revenue and expense at fair value, and they change the functional ratios.
- Fundraising cost buried in program. The development director coded to program because "she talks to clients too." Allocation on measured time fixes this, and a 0 percent fundraising column on the 990 is a flag reviewers know well.
- Chart of accounts built for a business. Cost of goods sold, no net asset classes, no way to tell a grant from a gala. The first fix is always the chart.
None of these are hard to correct. The hard part is building the ledger so they can't come back, which is what one allocation rule per account does.
Where the platform comes in
Disclosure: Woven is our product. Each expense account carries its allocation rule and each grant its own tracking class, so the monthly close posts the functional split and the restricted releases as part of closing, and the board packet runs as a report package off that closed month, delivered as a PDF or by email. To see the functional statement come out of a close on live books, book a demo.
Frequently asked questions
- What is functional expense allocation?
- Splitting each expense across program, management and general, and fundraising, using a stated basis such as staff time or square footage, for the 990 and the board.
- How are restricted grants tracked?
- Per grant, as restricted net assets, released to unrestricted as the qualifying expenses are incurred.
- Can functional expenses be automated?
- Yes. With a rule per account set once, the functional statement is produced by every monthly close.
See Woven on your own books.
14-day free trial, no card. Migration imports your chart of accounts, customers, vendors, balances, and history so you verify instead of re-enter.
Book a demo