Analyze the profitability of your real estate investment.
Monthly Income
Fixed Expenses
Variable Expenses (%)
Gross Monthly Income$0.00
Total Monthly Expenses$0.00
Net Operating Income (NOI)$0.00
MONTHLY CASH FLOW$0.00
ANNUAL CASH FLOW$0.00
Understanding Rental Property Cash Flow
Calculating cash flow is the most critical step in evaluating a potential rental property investment. Cash flow is the amount of profit you bring in each month after collecting income, paying all operating expenses, and setting aside reserves for future repairs. Positive cash flow indicates a healthy investment, while negative cash flow means the property is costing you money to own.
How to Use This Calculator
This tool is designed to provide a comprehensive look at your monthly financials. Here is a breakdown of the fields:
Gross Monthly Rent: The total rent you expect to collect from tenants.
Other Income: Revenue from laundry machines, parking spots, or storage units.
Vacancy Rate: A percentage of time the property sits empty. 5% is a standard industry average (approx. 18 days per year).
Repairs & CapEx: Money set aside for routine maintenance (painting, leaks) and large Capital Expenditures (new roof, HVAC replacement).
Management Fee: Even if you self-manage, it is wise to budget 8-10% to account for your time or future professional management.
Key Metrics Explained
Net Operating Income (NOI): This is your profitability before the mortgage is paid. It is calculated as Gross Income – Operating Expenses. Banks use this number to determine if the property generates enough income to cover the debt.
Cash Flow: This is your "take-home" money. It is calculated as NOI – Mortgage Payment. Experienced investors typically look for at least $100-$200 per door in positive monthly cash flow for single-family homes.
Example Calculation
Imagine purchasing a property where the rent is $1,500. Your mortgage, taxes, and insurance total $1,130. You budget 5% ($75) for vacancies and 5% ($75) for repairs.
Your total expenses would be $1,280. Your monthly cash flow would be $220 ($1,500 – $1,280). This provides a buffer against unexpected costs and generates passive income.
function calculateRentalCashFlow() {
// 1. Get Income Values
var rent = parseFloat(document.getElementById('monthlyRent').value);
var otherIncome = parseFloat(document.getElementById('otherIncome').value);
// Validation to prevent NaN
if (isNaN(rent)) rent = 0;
if (isNaN(otherIncome)) otherIncome = 0;
var grossIncome = rent + otherIncome;
// 2. Get Fixed Expenses
var mortgage = parseFloat(document.getElementById('mortgagePayment').value);
var taxes = parseFloat(document.getElementById('propertyTax').value);
var insurance = parseFloat(document.getElementById('insurance').value);
var hoa = parseFloat(document.getElementById('hoaFees').value);
if (isNaN(mortgage)) mortgage = 0;
if (isNaN(taxes)) taxes = 0;
if (isNaN(insurance)) insurance = 0;
if (isNaN(hoa)) hoa = 0;
// 3. Get Variable Percentages & Calculate Amounts
var vacancyRate = parseFloat(document.getElementById('vacancyRate').value);
var repairRate = parseFloat(document.getElementById('repairRate').value);
var capexRate = parseFloat(document.getElementById('capexRate').value);
var managementRate = parseFloat(document.getElementById('managementRate').value);
if (isNaN(vacancyRate)) vacancyRate = 0;
if (isNaN(repairRate)) repairRate = 0;
if (isNaN(capexRate)) capexRate = 0;
if (isNaN(managementRate)) managementRate = 0;
var vacancyCost = grossIncome * (vacancyRate / 100);
var repairCost = grossIncome * (repairRate / 100);
var capexCost = grossIncome * (capexRate / 100);
var managementCost = grossIncome * (managementRate / 100);
// 4. Totals
var fixedExpenses = mortgage + taxes + insurance + hoa;
var variableExpenses = vacancyCost + repairCost + capexCost + managementCost;
var totalExpenses = fixedExpenses + variableExpenses;
// Operating Expenses (Expenses excluding debt service – mortgage)
// Note: Technically Mortgage includes Principal (Equity) and Interest (Expense).
// For Cash Flow calc, we deduct the whole mortgage payment.
// For NOI, we usually deduct operating expenses only (Taxes, Insurance, HOA, Variable), not Mortgage.
var operatingExpenses = (taxes + insurance + hoa) + variableExpenses;
var noi = grossIncome – operatingExpenses;
var monthlyCashFlow = grossIncome – totalExpenses;
var annualCashFlow = monthlyCashFlow * 12;
// 5. Update DOM
document.getElementById('resultsArea').style.display = 'block';
// Helper formatter
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2
});
document.getElementById('dispGrossIncome').innerText = formatter.format(grossIncome);
document.getElementById('dispTotalExpenses').innerText = formatter.format(totalExpenses);
document.getElementById('dispNOI').innerText = formatter.format(noi);
var cfElement = document.getElementById('dispMonthlyCashFlow');
cfElement.innerText = formatter.format(monthlyCashFlow);
// Style adjustments for negative cash flow
if (monthlyCashFlow < 0) {
cfElement.classList.remove('rp-cashflow-highlight');
cfElement.classList.add('rp-negative');
} else {
cfElement.classList.add('rp-cashflow-highlight');
cfElement.classList.remove('rp-negative');
}
var annualCfElement = document.getElementById('dispAnnualCashFlow');
annualCfElement.innerText = formatter.format(annualCashFlow);
if (annualCashFlow < 0) {
annualCfElement.classList.add('rp-negative');
} else {
annualCfElement.classList.remove('rp-negative');
}
}