{
  "slug": "capex-reserve-per-door",
  "title": "CapEx Reserve Per Door Calculator",
  "heading": "CapEx Reserve Per Door Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/capex-reserve-per-door",
  "summary": "How much to set aside per unit per month for roofs, HVAC, and big-ticket replacements.",
  "description": "Operating reserves cover routine repairs; a capital expenditure reserve covers the big items that fail on a schedule measured in years, not months — roofs, HVAC systems, water heaters, parking lots, siding. This calculator uses the component-based method appraisers and lenders prefer: take each major system's replacement cost, divide by its remaining useful life, and sum the annual amounts, then divide by unit count and 12 for a per-door monthly reserve. This is more defensible than a flat percentage-of-rent rule because it's tied to your building's actual age and systems rather than a generic assumption that ignores whether you have a 3-year-old roof or one that's 22 years into a 25-year life.",
  "formula": "Annual reserve per system = replacement cost ÷ remaining useful life (years). Per-door monthly reserve = sum of annual reserves ÷ units ÷ 12.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=capex-reserve-per-door",
  "inputs": [
    {
      "id": "units",
      "label": "Number of units",
      "kind": "number",
      "hint": null,
      "default": 10,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "roofCost",
      "label": "Roof replacement cost",
      "kind": "number",
      "hint": null,
      "default": 22000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "roofLife",
      "label": "Roof remaining useful life",
      "kind": "number",
      "hint": null,
      "default": 12,
      "unit": "years",
      "min": 1,
      "max": 40
    },
    {
      "id": "hvacCost",
      "label": "HVAC replacement cost (total, all units)",
      "kind": "number",
      "hint": null,
      "default": 45000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "hvacLife",
      "label": "HVAC remaining useful life",
      "kind": "number",
      "hint": null,
      "default": 8,
      "unit": "years",
      "min": 1,
      "max": 30
    },
    {
      "id": "otherCost",
      "label": "Other systems (parking, siding, appliances) total cost",
      "kind": "number",
      "hint": null,
      "default": 30000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "otherLife",
      "label": "Other systems avg remaining life",
      "kind": "number",
      "hint": null,
      "default": 15,
      "unit": "years",
      "min": 1,
      "max": 40
    }
  ],
  "outputs": [
    {
      "id": "perDoorMonthly",
      "label": "Recommended reserve per door",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "perDoorAnnual",
      "label": "Per door, annualized",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "totalAnnual",
      "label": "Total annual reserve needed",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "roofAnnual",
      "label": "Roof component of reserve",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "hvacAnnual",
      "label": "HVAC component of reserve",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Number of units: 10",
      "Roof replacement cost: 22000 $",
      "Roof remaining useful life: 12 years",
      "HVAC replacement cost (total, all units): 45000 $",
      "HVAC remaining useful life: 8 years",
      "Other systems (parking, siding, appliances) total cost: 30000 $",
      "Other systems avg remaining life: 15 years"
    ],
    "outputs": [
      "Recommended reserve per door: $78.82",
      "Per door, annualized: $946",
      "Total annual reserve needed: $9,458",
      "Roof component of reserve: $1,833",
      "HVAC component of reserve: $5,625"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter number of units.",
      "Enter roof replacement cost ($).",
      "Enter roof remaining useful life (years).",
      "Enter hvac replacement cost (total, all units) ($).",
      "Enter hvac remaining useful life (years).",
      "Enter other systems (parking, siding, appliances) total cost ($).",
      "Enter other systems avg remaining life (years).",
      "Read your recommended reserve per door 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": {
        "units": 6,
        "roofCost": 13000,
        "roofLife": 7,
        "hvacCost": 27000,
        "hvacLife": 5,
        "otherCost": 18000,
        "otherLife": 9
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "units": 10,
        "roofCost": 22000,
        "roofLife": 12,
        "hvacCost": 45000,
        "hvacLife": 8,
        "otherCost": 30000,
        "otherLife": 15
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "units": 16,
        "roofCost": 35000,
        "roofLife": 19,
        "hvacCost": 72000,
        "hvacLife": 13,
        "otherCost": 48000,
        "otherLife": 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": "How does this differ from the flat 5-10% of rent rule?",
      "a": "The flat percentage rule is a rough shortcut that ignores building age and system condition entirely — a newly renovated building and one with a 20-year-old roof shouldn't reserve the same percentage. The component method ties the reserve to what's actually aging in your specific property, which is what lenders and serious buyers expect to see in underwriting."
    },
    {
      "q": "What if I don't know remaining useful life?",
      "a": "Get a property condition assessment (PCA) or ask a contractor to estimate remaining life during an inspection — asphalt shingle roofs typically run 20-25 years, HVAC condensers 12-18 years, and water heaters 8-12 years. When in doubt, be conservative and assume less remaining life, not more."
    },
    {
      "q": "Should the reserve sit in a separate account?",
      "a": "Yes. Commingling reserves with operating cash is the single most common reason landlords get blindsided by a $15,000 roof bill — the money looks available in the operating account until the day you actually need it for something else."
    },
    {
      "q": "Does a HUD or agency loan require a minimum reserve?",
      "a": "Yes — many agency multifamily loans (Fannie Mae, Freddie Mac) require a minimum funded replacement reserve, often $200-$300 per unit per year as a floor, adjusted upward based on a physical needs assessment for older properties."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/hoa-reserve-study-funding",
    "https://www.revenuelab.fyi/toolbox/maintenance-cost-per-unit"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — CapEx Reserve Per Door Calculator (https://www.revenuelab.fyi/toolbox/capex-reserve-per-door)"
}