Skip to content
ArumSoft Learning
KO
    Excel templateConstruction and property management

    HOA Budget and Reserve Planner for Excel

    An HOA board has two numbers to get right: next year's operating budget and the reserve contribution that keeps roofs and pavement from becoming special assessments. This workbook builds the operating budget line by line, lists every reserve component with its last replacement, useful life and cost, computes the fully funded balance and percent funded, and runs a 30-year funding plan with inflated replacements, interest and rising contributions. The dues per unit fall out at the end, with a check that the reserve never goes negative.

    Sheets:
    6
    Works with:
    Excel for Microsoft 365, Excel 2016 or later, Excel for Mac and Excel for the web
    Updated:

    HOA Budget and Reserve Planner.xlsx

    Excel workbook (.xlsx) · 32 KB · 6 sheets

    Download template

    Free to download. No sign-up needed.

    What you can do with it

    • Operating budget vs prior year with per-unit-per-month cost
    • Reserve components: next replacement year, remaining life, inflated cost, fully funded balance, annual accrual
    • 30-year funding plan with repeat replacements, inflation, interest and contribution increases
    • Monthly dues per unit, reserve share of dues, percent funded and the contribution needed to stay solvent
    Start Here sheet of the HOA budget Excel template showing units, reserve balance, contribution, inflation and interest, operating expenses, dues per unit and change, reserve share, fully funded balance, percent funded, replacements due, lowest projected balance and a 30-year reserve balance chart
    The Start Here sheet with the sample 120-unit association.

    What's inside

    The workbook has 6 sheets. You only type on a few of them; the rest calculate.

    SheetWhat it's forYou enterCalculated for you
    Start HereAssociation settings, dues and reserve healthUnits, reserve balance, monthly contribution, increase %, inflation, interest, other income, current duesOperating total, reserve contribution, total to fund, dues per unit and change, reserve share, fully funded balance, % funded, 5-year replacements, lowest balance and year, years negative, contribution needed
    OperatingLine items (30)Line, prior-year actual, budgetChange, change %, per unit per month, totals
    ComponentsReserve components (30)Component, last replaced, useful life, current costNext replacement, remaining life, age, inflated cost, fully funded balance, annual accrual
    Funding30 yearsNothingOpening, contributions, interest, replacements, net change, ending, status
    ListsReferenceNotesNothing
    ChecksSix checksNothingOK or Review

    Before you start

    • Get last year's actuals by line from the management company or the bank statements.
    • List every common element that wears out, with the year it was last replaced, how long it lasts and what it costs today; a reserve study, if you have one, has this list.
    • Know the current reserve balance and the dues per unit today.

    Step-by-step guide

    1. Set the association

      Start Here B6–B14: units, reserve balance, proposed monthly contribution, annual increase, inflation, interest and other income.

    2. Build the operating budget

      Operating tab: prior-year actual and budget per line. Lines up more than 10% are highlighted; per-unit-per-month shows what each line costs an owner.

    3. List the reserve components

      Components tab: last replaced, useful life, current cost. Next replacement, inflated cost, fully funded balance and annual accrual calculate; items due within 3 years are highlighted.

    4. Read reserve health

      Start Here B28–B30: fully funded balance, percent funded (under 30% is weak), and replacements due in the next five years.

    5. Check the 30-year plan

      Funding tab and Start Here B31–B34: the lowest projected balance and its year, how many years go negative, and a rough contribution that keeps the balance above zero. Adjust B10 until it does.

    6. Set the dues

      Start Here B18–B24: operating plus reserve less other income, divided by units and twelve, compared with current dues, and the reserve share of dues.

    Formula map

    Every formula in the workbook, grouped by the sheet and column it lives in. A column of copied formulas counts once; the range it covers is shown.

    SheetCellsFunctionsWhat it computesReadsFeeds
    ComponentsD5 copied down to row 34IF, MAXNext replacement yearB5, C5The Funding tab looks for this year and its repeats.
    ComponentsH5 copied down to row 34IFInflated cost at replacementF5, E5What the Funding tab charges in the replacement year.
    ComponentsI5 copied down to row 34IF, ORFully funded balanceF5, G5, C5Summed on Start Here B28; percent funded = actual ÷ this.
    FundingC5 copied down to row 34arithmeticContributions in a yearA5Added to the opening balance.
    FundingE5 copied down to row 34SUMIF, SUMPRODUCT, IFERROR, MODReplacements in a yearA5The big outflows in the 30-year chart.
    FundingG5 copied down to row 34arithmeticEnding balanceB5, F5Next year's opening; the minimum is the solvency test.
    FundingH5 copied down to row 33IFStatusG5, E6Colored by conditional formatting.
    Start HereB21IF, ROUNDMonthly dues per unitB20, B8Compared with current dues in B23.
    Start HereB29IFPercent fundedB9, B28The standard reserve-study health measure.
    Start HereB34IF, ROUND, MIN, MATCHContribution needed to never go negativeB33, B10, B31Type it into B10 and re-check; interest and increases make it slightly conservative.

    Every formula, explained

    Each formula below is copied straight from the file, so what you read here is exactly what the cell contains. Click any cell in Excel to see it in the formula bar.

    Next replacement yearComponents!D5 · copied down to row 34
    =IF(A5="", "", MAX(B5+C5, 'Start Here'!$B$7))

    Last replaced plus useful life, but never earlier than the budget year so an overdue item lands in year one.

    Piece by piece

    B5+C5
    Last replaced + useful life.
    'Start Here'!$B$7
    The budget year.
    MAX(…, …)
    Whichever is later.

    With the sample data: B5 = 2,021, C5 = 5 → D5 result 2,027

    How it is used: The Funding tab looks for this year and its repeats.

    How to change it: Nothing to change.

    Learn this: How to Use MIN and MAX in Excel →
    Inflated cost at replacementComponents!H5 · copied down to row 34
    =IF(A5="", "", F5*(1+'Start Here'!$B$12)^E5)

    Today's cost grown by inflation for the years until replacement.

    Piece by piece

    F5
    Current cost.
    (1+'Start Here'!$B$12)^E5
    Inflation compounded over the remaining life.

    With the sample data: F5 = 18,000, E5 = 0 → H5 result 18,000

    How it is used: What the Funding tab charges in the replacement year.

    How to change it: Nothing to change.

    Learn this: How to Write Basic Formulas in Excel →
    Fully funded balanceComponents!I5 · copied down to row 34
    =IF(OR(A5="", C5=0), "", F5*G5/C5)

    The share of the component's cost that should already be saved: cost × age ÷ useful life.

    Piece by piece

    F5
    Current cost.
    *G5
    Age in years (capped at the useful life).
    /C5
    Divided by useful life.

    With the sample data: F5 = 18,000, G5 = 5, C5 = 5 → I5 result 18,000

    How it is used: Summed on Start Here B28; percent funded = actual ÷ this.

    How to change it: Nothing to change.

    Learn this: How to Write Basic Formulas in Excel →
    Contributions in a yearFunding!C5 · copied down to row 34
    ='Start Here'!$B$10*12*(1+'Start Here'!$B$11)^(A5-'Start Here'!$B$7)

    Monthly contribution × 12, increased by the annual rate for each year after the budget year.

    Piece by piece

    'Start Here'!$B$10*12
    First-year contribution.
    (1+'Start Here'!$B$11)^(A5-'Start Here'!$B$7)
    Compounded increase.

    With the sample data: A5 = 2,027 → C5 result 70,800

    How it is used: Added to the opening balance.

    How to change it: Nothing to change.

    Learn this: How to Write Basic Formulas in Excel →
    Replacements in a yearFunding!E5 · copied down to row 34
    =SUMIF(Components!$D$5:$D$34,
           A5, Components!$H$5:$H$34)+SUMPRODUCT(IFERROR((Components!$D$5:$D$34<A5)*(MOD(A5-Components!$D$5:$D$34, Components!$C$5:$C$34)=0)*Components!$F$5:$F$34*(1+'Start Here'!$B$12)^(A5-'Start Here'!$B$7),
           0))

    First replacements scheduled for this year (SUMIF on the Components tab) plus repeat replacements: components whose first replacement is earlier and where the years since divide evenly by the useful life, each inflated to this year.

    Piece by piece

    SUMIF(Components!$D$5:$D$34, A5, Components!$H$5:$H$34)
    First replacements due this year.
    (Components!$D$5:$D$34<A5)
    Already replaced once.
    MOD(A5-Components!$D$5:$D$34, Components!$C$5:$C$34)=0
    A repeat falls in this year.
    Components!$F$5:$F$34*(1+'Start Here'!$B$12)^(A5-'Start Here'!$B$7)
    Cost inflated to this year.
    SUMPRODUCT(IFERROR(…, 0))
    Add them all, ignoring blank rows.

    With the sample data: A5 = 2,027 → E5 result 18,000

    How it is used: The big outflows in the 30-year chart.

    How to change it: Nothing to change.

    Learn this: How to Use SUMIF and SUMIFS in Excel →
    Ending balanceFunding!G5 · copied down to row 34
    =B5+F5

    Opening plus contributions and interest minus replacements.

    Piece by piece

    B5
    Opening balance.
    +F5
    Net change: contributions + interest − replacements.

    With the sample data: B5 = 186,000, F5 = 56,520 → G5 result 242,520

    How it is used: Next year's opening; the minimum is the solvency test.

    How to change it: Nothing to change.

    Learn this: How to Write Basic Formulas in Excel →
    StatusFunding!H5 · copied down to row 33
    =IF(G5<0, "Shortfall", IF(G5<E6*0.5, "Thin", "OK"))

    Shortfall when the ending balance is negative; Thin when it is under half of next year's replacements; OK otherwise.

    Piece by piece

    G5<0
    Negative: Shortfall.
    G5<E6*0.5
    Less than half of next year's outflow: Thin.

    With the sample data: G5 = 242,520, E6 = 74,160 → H5 result OK

    How it is used: Colored by conditional formatting.

    How to change it: Change 0.5 to your own comfort level.

    Learn this: How to Use the IF Function in Excel →
    Monthly dues per unitStart Here!B21
    =IF(B8=0, 0, ROUND(B20/B8/12, 0))

    Operating expenses plus reserve contribution minus other income, divided by units and twelve, rounded to the dollar.

    Piece by piece

    B20
    Total to fund by dues.
    /B8
    Per unit.
    /12
    Per month.
    ROUND(…, 0)
    Whole dollars.

    With the sample data: B20 = 312,200, B8 = 120 → B21 result 217

    How it is used: Compared with current dues in B23.

    How to change it: Nothing to change.

    Learn this: How to Round Numbers in Excel: ROUND, ROUNDUP and ROUNDDOWN →
    Percent fundedStart Here!B29
    =IF(B28=0, 0, B9/B28)

    Actual reserve balance divided by the fully funded balance.

    Piece by piece

    B9
    Reserve balance today.
    /B28
    Fully funded balance.

    With the sample data: B9 = 186,000, B28 = 602,563.33 → B29 result 30.9%

    How it is used: The standard reserve-study health measure.

    How to change it: Nothing to change.

    Learn this: How to Write Basic Formulas in Excel →
    Contribution needed to never go negativeStart Here!B34
    =IF(B33=0, B10, ROUND(B10-MIN(Funding!$G$5:$G$34)/(12*MATCH(B31, Funding!$G$5:$G$34, 0)),
        -2))

    If any year goes negative, spreads the worst shortfall over the months until that year and adds it to the current contribution; a rough starting point, rounded to $100.

    Piece by piece

    B33=0
    No shortfall: keep the current contribution.
    MIN(Funding!$G$5:$G$34)
    The worst (most negative) balance.
    MATCH(B31, Funding!$G$5:$G$34, 0)
    Years until it happens.
    B10-shortfall/(12*years)
    Extra per month.
    ROUND(…, -2)
    To the nearest $100.

    With the sample data: B33 = 0, B10 = 5,900, B31 = 52,142.16 → B34 result 5,900

    How it is used: Type it into B10 and re-check; interest and increases make it slightly conservative.

    How to change it: Nothing to change.

    Learn this: How to Use INDEX and MATCH in Excel →

    Tips and limits

    • Capacity: 30 operating lines, 30 components, 30 years. Extend components with Ctrl+H ($34).
    • The 30-year plan is only as good as the component list. Walk the property with a contractor every three years and update lives and costs.
    • Percent funded under 30% is the level at which lenders and buyers get nervous; some states require disclosure of it.
    • A contribution increase of 3% a year with 3% inflation keeps pace; set the increase to 0% to see how fast a flat contribution falls behind.
    • Keep the reserve in its own account. Mixing it with operating cash is how boards accidentally spend the roof.

    Learn the skills behind this template

    Was this guide helpful? Spot a mistake? Send feedback · admin@arumsoft.com