{
  "slug": "multi-grant-overhead-allocation",
  "title": "Multi-Grant Overhead Allocation Calculator",
  "heading": "Multi-Grant Overhead Allocation Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/multi-grant-overhead-allocation",
  "summary": "Spread total overhead across multiple grants proportional to direct cost.",
  "description": "When you're managing several grants at once and each has a different allowed indirect rate, or some grants disallow indirect recovery entirely, you need a way to see whether your total overhead is actually getting covered across the portfolio or whether unrestricted funds are quietly subsidizing restricted grants that should be paying their fair share. This calculator takes your total organizational overhead and a list of up to four grants with their direct cost size and allowed indirect rate, calculates how much each grant contributes toward covering overhead, and flags the shortfall that unrestricted revenue has to absorb if grant-allowed rates don't fully cover your real indirect cost pool.",
  "formula": "Overhead covered by each grant = grant direct cost × its allowed indirect rate; shortfall = total overhead − sum covered.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=multi-grant-overhead-allocation",
  "inputs": [
    {
      "id": "totalOverhead",
      "label": "Total organizational overhead",
      "kind": "number",
      "hint": null,
      "default": 200000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "grant1Direct",
      "label": "Grant 1 direct costs",
      "kind": "number",
      "hint": null,
      "default": 300000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "grant1Rate",
      "label": "Grant 1 allowed indirect rate",
      "kind": "number",
      "hint": null,
      "default": 10,
      "unit": "%",
      "min": 0,
      "max": 50
    },
    {
      "id": "grant2Direct",
      "label": "Grant 2 direct costs",
      "kind": "number",
      "hint": null,
      "default": 200000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "grant2Rate",
      "label": "Grant 2 allowed indirect rate",
      "kind": "number",
      "hint": null,
      "default": 0,
      "unit": "%",
      "min": 0,
      "max": 50
    },
    {
      "id": "grant3Direct",
      "label": "Grant 3 direct costs (unrestricted/other)",
      "kind": "number",
      "hint": null,
      "default": 150000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "grant3Rate",
      "label": "Grant 3 allowed indirect rate",
      "kind": "number",
      "hint": null,
      "default": 15,
      "unit": "%",
      "min": 0,
      "max": 50
    }
  ],
  "outputs": [
    {
      "id": "totalCovered",
      "label": "Overhead covered by grants",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "shortfall",
      "label": "Shortfall absorbed by unrestricted funds",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "coveragePct",
      "label": "% of overhead covered",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "g1",
      "label": "Grant 1 contribution to overhead",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "g2",
      "label": "Grant 2 contribution to overhead",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "g3",
      "label": "Grant 3 contribution to overhead",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Total organizational overhead: 200000 $",
      "Grant 1 direct costs: 300000 $",
      "Grant 1 allowed indirect rate: 10 %",
      "Grant 2 direct costs: 200000 $",
      "Grant 2 allowed indirect rate: 0 %",
      "Grant 3 direct costs (unrestricted/other): 150000 $",
      "Grant 3 allowed indirect rate: 15 %"
    ],
    "outputs": [
      "Overhead covered by grants: $52,500",
      "Shortfall absorbed by unrestricted funds: $147,500",
      "% of overhead covered: 26.3%",
      "Grant 1 contribution to overhead: $30,000",
      "Grant 2 contribution to overhead: $0",
      "Grant 3 contribution to overhead: $22,500"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter total organizational overhead ($).",
      "Enter grant 1 direct costs ($).",
      "Enter grant 1 allowed indirect rate (%).",
      "Enter grant 2 direct costs ($).",
      "Enter grant 2 allowed indirect rate (%).",
      "Enter grant 3 direct costs (unrestricted/other) ($).",
      "Enter grant 3 allowed indirect rate (%).",
      "Read your overhead covered by grants on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "totalOverhead": 120000,
        "grant1Direct": 180000,
        "grant1Rate": 6,
        "grant2Direct": 120000,
        "grant2Rate": 0,
        "grant3Direct": 90000,
        "grant3Rate": 9
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "totalOverhead": 200000,
        "grant1Direct": 300000,
        "grant1Rate": 10,
        "grant2Direct": 200000,
        "grant2Rate": 0,
        "grant3Direct": 150000,
        "grant3Rate": 15
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "totalOverhead": 320000,
        "grant1Direct": 480000,
        "grant1Rate": 16,
        "grant2Direct": 320000,
        "grant2Rate": 0,
        "grant3Direct": 240000,
        "grant3Rate": 24
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "Why do some grants disallow indirect cost recovery entirely?",
      "a": "Some private foundations and government programs cap or refuse indirect recovery for policy reasons, even though this contradicts the federal 2 CFR 200 requirement that federal pass-through entities must honor a subrecipient's federally negotiated rate or the 10% de minimis at minimum. Non-federal funders aren't bound by that rule though."
    },
    {
      "q": "What do we do about a persistent overhead shortfall?",
      "a": "Options include negotiating better indirect terms into new grant agreements, growing unrestricted revenue (individual giving, unrestricted board gifts) specifically to close the gap, or in the worst case declining grants whose restrictive terms would meaningfully erode the organization's sustainability."
    },
    {
      "q": "Should we track this by grant year or fiscal year?",
      "a": "Fiscal year, aligned with your audited financials, since that's the period your board and auditors evaluate overhead coverage against. Grant years that don't match your fiscal year need to be pro-rated into the fiscal year view to get an accurate real-time picture."
    },
    {
      "q": "Does this replace a formal indirect cost rate proposal?",
      "a": "No, this is a portfolio monitoring tool to see if your current mix of grants is sustainable, not a substitute for negotiating an actual federally approved indirect cost rate, which is a formal process with your cognizant agency."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/indirect-cost-rate",
    "https://www.revenuelab.fyi/toolbox/grant-budget-builder"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Multi-Grant Overhead Allocation Calculator (https://www.revenuelab.fyi/toolbox/multi-grant-overhead-allocation)"
}