River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Nonprofit Program Budget Template

Three documents and three sheets that load allocated overhead into every programme's cost, so a subsidy no grant is paying for shows up in dollars.

Free download  ·  No account needed

Every serious nonprofit program budget template gets you to the same finish line. Split direct and indirect costs, pick a driver like FTE or square footage, and allocate the indirect pool across programmes. Propel Nonprofits and Bridgespan both do this well, and reaching that finish line already puts an organisation ahead of the majority that still budgets by direct cost alone. None of them take the next step: checking the resulting full cost against what each programme's own grants actually pay toward it.

This pack allocates overhead through three pools: occupancy, staff support time, and a residual pool of insurance and audit. Each pool is spread by the driver that actually explains it, square footage, FTE, or a share of direct cost, under 2 CFR's multiple allocation base method for indirect costs benefiting programmes unevenly. In the worked example, Cedar Line Community Health's three programmes carry $874,000 of direct cost and $381,200 of allocated overhead. Diabetes Education Course alone moves from a $412,000 direct budget to a $600,600 full cost, a 45.8% jump the direct-cost budget never shows.

Of that $381,200, the six awards behind these programmes pay $21,600 toward it. One clears the federal de minimis rate, one clears a state contract's own negotiated rate, and the rest pay zero. The remaining $359,600 has no grant behind it and comes out of whatever unrestricted money exists: $410,000 in net assets for Cedar Line. This year's gap alone draws down 87.7% of that reserve, and a programme reading as fully funded on its own line can be the one an impact report still lists as such.

Full cost, who actually pays it, and what growth would cost

Three programmes allocated across three overhead pools, checked against every award's own indirect terms, and priced forward into a specific growth decision.

Full Cost by Programme

Illustrative, for a fictional organisation called Cedar Line Community Health. Three programmes, one indirect cost pool split by the multiple allocation base method 2 CFR Part 200 Appendix IV describes for nonprofits: occupancy by square footage, finance/HR/executive support labor by FTE, and a residual pool of insurance, audit and IT licensing by a share of direct cost.

ProgrammeDirect costAllocated overheadFull costOverhead rate on direct
Diabetes Education Course$412,000$188,600$600,60045.8%
Nutrition Counseling$268,000$113,400$381,40042.3%
Community Health Screenings$194,000$79,200$273,20040.8%
Total$874,000$381,200$1,255,20043.6%
Diabetes Education awardDirect amountIndirect rateIndirect actually paid
A-01 through A-04$282,0000%$0
A-05, federal, 15% de minimis MTDC under 2 CFR 200.414(f)$90,00015%$13,500
A-06, state contract, own negotiated rate$40,00012%$4,800
All six awards$412,000blended 4.4%$18,300
ProgrammeAllocated overheadReimbursed by any awardSubsidy gap
Diabetes Education Course$188,600$18,300$170,300
Nutrition Counseling$113,400$3,300$110,100
Community Health Screenings$79,200$0$79,200
Total$381,200$21,600$359,600

Cedar Line's unrestricted net assets stood at $410,000 at the start of the year. This year's $359,600 subsidy gap alone draws down 87.7% of that entire reserve, and it recurs at roughly this rate every year the award mix does not change. Every one of the three programmes still reads as grant-funded on its own direct-cost budget line.

Staffing Requirement

Budgeted FTE is what each programme's direct-cost budget assumes. Filled FTE is who is actually on staff today.

ProgrammeBudgeted FTEFilled FTEVacant FTE
Diabetes Education Course4.23.60.6
Nutrition Counseling2.62.60.0
Community Health Screenings1.81.40.4
Diabetes Education Course, delivery ratioValue
Cohorts delivered per year5
FTE per cohort (4.2 FTE / 5 cohorts)0.84
Average direct cost per cohort ($412,000 / 5)$82,400
Scaling scenario: a sixth, evening cohortValue
FTE the sixth cohort needs, on the existing ratio0.84
Vacant FTE already open before this cohort is added0.60
Honest hiring need before the cohort is deliverable1.44
Incremental direct cost$82,400
Incremental labor overhead (0.84 FTE x $25,000)$21,000
Incremental occupancy$0, reuses the existing classroom
Incremental residual (5% of direct)$4,120
Incremental full cost$107,520
Prospective award offered for the sixth cohort$85,000
Shortfall if accepted as offered$22,520

0.84 FTE reads like a fraction of a hire. Add the 0.6 FTE that is already vacant on the other five cohorts and the honest hiring need is 1.44 FTE, and the $85,000 on offer is $22,520 short of the sixth cohort's full cost before anyone is hired. Neither number appears if the new cohort is priced off last year's average cost alone.

Cost per Participant

The same full-cost figures from the first tab, translated into a per-unit rate, so the gap is visible in the terms a funder already reports in.

ProgrammeUnitCountFunded rate (direct only)Full rate (with overhead)Increase
Diabetes Education CourseUnduplicated individual, billable encounter812$507.39$739.6645.8%
Nutrition CounselingIndividual counseling session640$418.75$595.9442.3%
Community Health ScreeningsCompleted screening1,350$143.70$202.3740.8%

Each increase equals that programme's own overhead rate exactly, because both rates divide the same headcount by a numerator that differs only by the allocated overhead. The three rows are never added into one blended figure: a person, a session and a screening are different grains, and summing across grains is the same mistake as treating a headcount and an encounter count as interchangeable.

What is in the pack

01

Programme Budget Narrative for the board

Walks direct cost to full cost to the reserve draw-down, in the dollars a board packet needs rather than an allocation percentage alone.

02

Full Cost by Programme, three pools

Occupancy, staff support labor and a residual pool, each spread by the driver that actually measures its benefit, not one blended rate.

03

Award-by-award reimbursement, then the gap

What each award actually pays toward overhead, subtracted from the full allocation to produce the subsidy gap, per programme.

04

Capacity Assessment against budgeted FTE

Filled staff checked against what each programme's own budget already assumes, before any new hiring ask gets priced.

05

Staffing Requirement with the delivery ratio

Budgeted against filled FTE by programme, plus the FTE-per-cohort or per-site ratio that prices the next growth ask.

06

Scaling Note before the award is signed

Full incremental cost of one named growth decision, vacancy included, checked against the money actually being offered.

07

Cost per Participant, translated

The same full-cost figure stated as a per-unit rate, so the gap between funded and true cost is visible in a funder's own terms.

How it works

  1. 1

    Send the current numbers

    Each programme's direct cost, FTE and square footage, plus whether overhead is already partly folded into a budget line the logic model's own gap costing prices separately.

  2. 2

    Build the three pools

    Occupancy, staff support labor and a residual pool, each assigned the driver, square footage, FTE, or a share of direct cost, that actually measures its benefit.

  3. 3

    Reconcile every award

    Sort each award into direct-cost-only, de minimis-eligible, or its own negotiated rate, then sum what each one actually reimburses toward overhead.

  4. 4

    Compute the gap and the ratio

    The subsidy gap per programme against unrestricted reserves, and the FTE-per-unit ratio that prices the next cohort or site before it gets accepted.

Frequently asked questions

Do we need to allocate overhead if our budgets already look fine on direct cost alone?

Looking fine on direct cost is the problem, not evidence against it. A programme funded at exactly its direct cost is, by definition, not paying for the space, HR, and finance functions it still uses. Allocating overhead is what makes that cost visible instead of invisible.

How do we choose which driver to allocate a cost by?

Match the driver to why the cost exists. Occupancy tracks square footage because space is the resource. Staff support time tracks FTE because it exists to support people. A residual pool with no clean driver of its own is the one place a share of direct cost is defensible.

What if a funder refuses to pay any indirect rate at all?

State the subsidy that decision creates, in dollars, rather than absorbing it silently. Federal awards without a negotiated rate can elect up to 15% of modified total direct costs under 2 CFR 200.414(f); a funder paying zero is choosing not to use an allowance that exists.

Should we turn down a grant that does not cover full cost?

Rarely, on that basis alone. Most sustainable nonprofits run on a mix that includes direct-cost-only funding. The point is knowing the subsidy each one creates and sizing it against unrestricted reserves, not screening out every award that fails a full-cost test.

How is this different from a program evaluation?

A program evaluation asks whether a programme works. This asks what it costs to run and staff, including the overhead a direct-cost budget never shows, and whether the money on the table actually covers that, regardless of whether the programme is effective.

Does the functional expense allocation on our 990 already do this?

It allocates the same overhead across the same categories, for a different purpose: Form 990 reports what happened last year. This prices a specific programme, or a specific new award, before the money is spent, which is a decision a filed return cannot inform.

Find out who is really paying for your programmes

Send each programme's direct cost, FTE and space, and every award's indirect terms. The full cost, the subsidy gap and the staffing ratio come back priced.

Price my programmes