{
  "slug": "grant-budget-builder",
  "title": "Grant Proposal Budget Builder",
  "heading": "Grant Budget Builder",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/grant-budget-builder",
  "summary": "Build a defensible grant budget with personnel, indirect, and fringe rolled up.",
  "description": "Reviewers reject grant budgets for the same handful of math errors every cycle: fringe left out entirely, indirect calculated on the wrong base, or a total that doesn't match the narrative's requested amount. This builder takes your personnel cost, fringe rate, non-personnel direct costs, and indirect rate, and produces a clean total that separates the pieces the way a program officer expects to see them. It also flags what share of the total request goes to personnel versus program delivery, since many funders cap admin-heavy budgets or ask why personnel dominates a request. Run it before you finalize the proposal narrative, not after, because the numbers should drive what you promise to deliver, not the other way around.",
  "formula": "Total request = personnel × (1 + fringe%) + non-personnel direct + indirect (rate × MTDC base).",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=grant-budget-builder",
  "inputs": [
    {
      "id": "personnel",
      "label": "Personnel salary total",
      "kind": "number",
      "hint": null,
      "default": 120000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "fringeRate",
      "label": "Fringe benefit rate",
      "kind": "number",
      "hint": null,
      "default": 28,
      "unit": "%",
      "min": 0,
      "max": 60
    },
    {
      "id": "nonPersonnel",
      "label": "Non-personnel direct costs",
      "kind": "number",
      "hint": null,
      "default": 45000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "indirectRate",
      "label": "Indirect cost rate",
      "kind": "number",
      "hint": null,
      "default": 15,
      "unit": "%",
      "min": 0,
      "max": 50
    },
    {
      "id": "requestCap",
      "label": "Funder's max award (0 = none)",
      "kind": "number",
      "hint": null,
      "default": 250000,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "total",
      "label": "Total grant request",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "fringe",
      "label": "Fringe benefits cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "indirect",
      "label": "Indirect cost recovery",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "personnelShare",
      "label": "Personnel share of total",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "overCap",
      "label": "Amount over funder's cap",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Personnel salary total: 120000 $",
      "Fringe benefit rate: 28 %",
      "Non-personnel direct costs: 45000 $",
      "Indirect cost rate: 15 %",
      "Funder's max award (0 = none): 250000 $"
    ],
    "outputs": [
      "Total grant request: $228,390",
      "Fringe benefits cost: $33,600",
      "Indirect cost recovery: $29,790",
      "Personnel share of total: 67.3%",
      "Amount over funder's cap: $0"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter personnel salary total ($).",
      "Enter fringe benefit rate (%).",
      "Enter non-personnel direct costs ($).",
      "Enter indirect cost rate (%).",
      "Enter funder's max award (0 = none) ($).",
      "Read your total grant request 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": {
        "personnel": 72000,
        "fringeRate": 17,
        "nonPersonnel": 27000,
        "indirectRate": 9,
        "requestCap": 150000
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "personnel": 120000,
        "fringeRate": 28,
        "nonPersonnel": 45000,
        "indirectRate": 15,
        "requestCap": 250000
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "personnel": 192000,
        "fringeRate": 45,
        "nonPersonnel": 72000,
        "indirectRate": 24,
        "requestCap": 400000
      }
    }
  ],
  "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 calculate fringe separately from salary?",
      "a": "Most funders want to see fringe broken out as its own line so they can verify you're using a real rate, typically 20-35% depending on health coverage, retirement match, and payroll taxes, rather than folding it invisibly into salary and inflating the number without explanation."
    },
    {
      "q": "What if my personnel share looks too high?",
      "a": "Funders get nervous above roughly 70-75% personnel share for program grants, since it can look like the grant funds staff rather than services. If you're over that line, look for opportunities to shift some line items to non-personnel direct costs like materials, travel, or subcontracted services."
    },
    {
      "q": "Should indirect be calculated on total direct cost or MTDC?",
      "a": "Almost always MTDC, which excludes big equipment purchases and the portion of subawards over $25,000. Calculating indirect on total direct cost including a $50,000 equipment purchase would overstate your indirect recovery and get flagged in a federal audit."
    },
    {
      "q": "What do I do if my total is over the funder's cap?",
      "a": "Cut non-personnel costs first since they're easiest to trim without changing your staffing model, then consider phasing the project over two grant cycles, or reducing scope so the narrative still matches a smaller, fully-fundable budget."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/indirect-cost-rate",
    "https://www.revenuelab.fyi/toolbox/multi-grant-overhead-allocation"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Grant Proposal Budget Builder (https://www.revenuelab.fyi/toolbox/grant-budget-builder)"
}