South African Tax Rates Calculator

#rental-property-calculator-container { font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; max-width: 800px; margin: 0 auto; color: #333; line-height: 1.6; } .rpc-wrapper { background-color: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 8px; padding: 30px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); margin-bottom: 40px; } .rpc-header { text-align: center; margin-bottom: 25px; } .rpc-header h2 { margin: 0; color: #2c3e50; font-size: 28px; } .rpc-grid { display: flex; flex-wrap: wrap; gap: 20px; } .rpc-column { flex: 1; min-width: 280px; } .rpc-input-group { margin-bottom: 15px; } .rpc-input-group label { display: block; margin-bottom: 5px; font-weight: 600; font-size: 14px; color: #555; } .rpc-input-group input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px; box-sizing: border-box; transition: border-color 0.3s; } .rpc-input-group input:focus { border-color: #3498db; outline: none; } .rpc-input-hint { font-size: 12px; color: #888; margin-top: 3px; } .rpc-btn-container { text-align: center; margin-top: 20px; width: 100%; } .rpc-btn { background-color: #27ae60; color: white; border: none; padding: 12px 30px; font-size: 18px; border-radius: 5px; cursor: pointer; transition: background-color 0.3s; font-weight: bold; } .rpc-btn:hover { background-color: #219150; } .rpc-results { background-color: #fff; border: 1px solid #ddd; border-radius: 6px; padding: 20px; margin-top: 25px; display: none; /* Hidden by default */ } .rpc-result-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #eee; } .rpc-result-row:last-child { border-bottom: none; } .rpc-result-label { font-weight: 500; color: #555; } .rpc-result-value { font-weight: bold; color: #2c3e50; } .rpc-highlight { background-color: #e8f6f3; padding: 15px; border-radius: 5px; margin-top: 10px; border-left: 5px solid #27ae60; } .rpc-highlight .rpc-result-value { color: #27ae60; font-size: 20px; } .rpc-negative { color: #c0392b !important; } /* Article Styles */ .rpc-article { margin-top: 50px; padding: 20px; background: #fff; } .rpc-article h2 { color: #2c3e50; border-bottom: 2px solid #eee; padding-bottom: 10px; margin-top: 30px; } .rpc-article h3 { color: #34495e; margin-top: 25px; } .rpc-article p { margin-bottom: 15px; } .rpc-article ul { margin-bottom: 15px; padding-left: 20px; } .rpc-article li { margin-bottom: 8px; } @media (max-width: 600px) { .rpc-grid { flex-direction: column; } }

Rental Property ROI Calculator

Calculate Cash Flow and Cash-on-Cash Return for your real estate investment.

Inspections, origination fees, etc.
% of Rent set aside for repairs/vacancy
Total Initial Cash Invested: $0.00
Monthly P&I (Mortgage): $0.00
Total Monthly Expenses: $0.00
Net Monthly Cash Flow: $0.00
Cash on Cash Return (ROI): 0.00%
Cap Rate: 0.00%
function calculateRentalROI() { // 1. Get Input Values var price = parseFloat(document.getElementById('purchasePrice').value); var downPercent = parseFloat(document.getElementById('downPaymentPercent').value); var rate = parseFloat(document.getElementById('interestRate').value); var term = parseFloat(document.getElementById('loanTerm').value); var closing = parseFloat(document.getElementById('closingCosts').value); var rent = parseFloat(document.getElementById('monthlyRent').value); var taxes = parseFloat(document.getElementById('annualTaxes').value); var insurance = parseFloat(document.getElementById('annualInsurance').value); var hoa = parseFloat(document.getElementById('monthlyHOA').value); var maintPercent = parseFloat(document.getElementById('maintenanceRate').value); // Validation if (isNaN(price) || isNaN(rent) || isNaN(downPercent)) { alert("Please fill in at least the Price, Down Payment, and Rent fields with valid numbers."); return; } // 2. Initial Investment Calculation var downPaymentAmt = price * (downPercent / 100); var loanAmount = price – downPaymentAmt; var totalInvested = downPaymentAmt + closing; // 3. Mortgage Calculation (Principal & Interest) var monthlyMortgage = 0; if (loanAmount > 0 && rate > 0) { var monthlyRate = (rate / 100) / 12; var numberOfPayments = term * 12; // Formula: M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1 ] monthlyMortgage = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1); } else if (loanAmount > 0 && rate === 0) { monthlyMortgage = loanAmount / (term * 12); } // 4. Monthly Expenses Calculation // Convert annual costs to monthly var monthlyTax = taxes / 12; var monthlyIns = insurance / 12; // Calculate variable expenses (Vacancy + Maintenance) var monthlyMaint = rent * (maintPercent / 100); var totalMonthlyExpenses = monthlyMortgage + monthlyTax + monthlyIns + hoa + monthlyMaint; // 5. Returns Calculation var monthlyCashFlow = rent – totalMonthlyExpenses; var annualCashFlow = monthlyCashFlow * 12; // Cash on Cash Return = (Annual Pre-Tax Cash Flow / Total Cash Invested) * 100 var cocReturn = 0; if (totalInvested > 0) { cocReturn = (annualCashFlow / totalInvested) * 100; } // Cap Rate = (Net Operating Income / Purchase Price) * 100 // NOI = Rent – Operating Expenses (Excluding Mortgage) var operatingExpenses = monthlyTax + monthlyIns + hoa + monthlyMaint; var annualNOI = (rent – operatingExpenses) * 12; var capRate = (annualNOI / price) * 100; // 6. Display Results document.getElementById('resTotalInvested').innerText = formatCurrency(totalInvested); document.getElementById('resMortgage').innerText = formatCurrency(monthlyMortgage); document.getElementById('resExpenses').innerText = formatCurrency(totalMonthlyExpenses); var cashFlowEl = document.getElementById('resCashFlow'); cashFlowEl.innerText = formatCurrency(monthlyCashFlow); if (monthlyCashFlow < 0) { cashFlowEl.classList.add('rpc-negative'); } else { cashFlowEl.classList.remove('rpc-negative'); } var cocEl = document.getElementById('resCoC'); cocEl.innerText = cocReturn.toFixed(2) + "%"; if (cocReturn < 0) { cocEl.classList.add('rpc-negative'); } else { cocEl.classList.remove('rpc-negative'); } document.getElementById('resCapRate').innerText = capRate.toFixed(2) + "%"; // Show results div document.getElementById('rpcResults').style.display = 'block'; } function formatCurrency(num) { return "$" + num.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,'); }

Understanding Your Rental Property ROI

Investing in real estate is one of the most reliable ways to build wealth, but it requires precise math. Unlike buying a stock, where the price is the only variable, a rental property involves mortgages, taxes, insurance, and maintenance. To truly understand if a deal is good, you need to calculate your Cash on Cash Return and Net Monthly Cash Flow.

What is Cash on Cash Return?

Cash on Cash (CoC) return is arguably the most important metric for rental investors. It measures the annual return you make on the actual cash you invested, expressed as a percentage. This is different from a standard "Return on Investment" (ROI) because it specifically focuses on the cash flow relative to the cash put down.

The formula is:

Cash on Cash Return = (Annual Pre-Tax Cash Flow / Total Cash Invested) × 100

For example, if you buy a $250,000 property with $50,000 down (plus $5,000 in closing costs) and it generates $3,000 in positive cash flow per year, your CoC return is:

  • Total Invested: $55,000
  • Annual Cash Flow: $3,000
  • Result: ($3,000 / $55,000) = 5.45%

Key Metrics in This Calculator

1. Net Monthly Cash Flow

This is the money left over after all expenses are paid. This includes your mortgage (principal and interest), taxes, insurance, HOA fees, and a buffer for repairs and vacancy. Positive cash flow ensures the property pays for itself and provides you with passive income.

2. Cap Rate (Capitalization Rate)

Cap rate measures the profitability of a property assuming you bought it with 100% cash (no loan). It is calculated by dividing the Net Operating Income (NOI) by the Property Price. It is useful for comparing the intrinsic value of different properties regardless of financing.

How to Use This Calculator

To get an accurate result, ensure you input realistic numbers for expenses. A common mistake for new investors is underestimating maintenance and vacancy costs.

  • Maintenance & Vacancy: We recommend setting aside at least 10% to 15% of the monthly rent. Even if nothing breaks this month, you will eventually need a new roof or water heater.
  • Closing Costs: Don't forget to include inspection fees, title insurance, and loan origination fees in your initial investment.

Use the tool above to run different scenarios. What happens if the interest rate rises by 1%? What if you can raise the rent by $100? Seeing these numbers change in real-time is the key to making smart investment decisions.

Leave a Comment