Estimate your potential monthly payment reduction under a Repayment Assistance Plan (RAP).
Estimated New Monthly Mortgage Payment:
$0.00
Understanding Repayment Assistance Plans (RAPs)
A Repayment Assistance Plan (RAP) is a type of program, often offered by lenders or government entities, designed to help eligible borrowers reduce their housing payment burden. These plans are typically used in specific scenarios, such as for first-time homebuyers receiving down payment assistance, or for borrowers facing temporary financial hardship. The core idea is to provide a temporary or conditional reduction in the monthly mortgage payment, making homeownership more affordable or sustainable.
How Does a Repayment Assistance Plan Work?
RAPs can take various forms, but they generally involve either a direct reduction in the interest rate, a subsidy that lowers the principal and interest payment, or a forgiveness of a portion of the loan over time. The terms are highly specific to the plan provider. Our calculator focuses on two common methods of calculating the reduced payment:
Percentage Reduction: A certain percentage of your current mortgage payment is subtracted.
Fixed Amount Reduction: A set dollar amount is subtracted from your current mortgage payment.
Some plans might offer a choice between these methods, or a combination, or have a cap on the maximum assistance. This calculator helps you estimate your new payment based on these common structures.
The Calculation Logic
Our calculator uses the following logic to estimate your new monthly mortgage payment:
Determining Actual Assistance: If both percentage reduction and a fixed amount are provided, the *lesser* of the two calculated assistance amounts is typically applied to ensure the borrower doesn't receive more assistance than specified by the plan's constraints. If only one method is provided, that method's assistance amount is used.
New Monthly Mortgage Payment: New Monthly Mortgage Payment = Current Monthly Mortgage Payment - Actual Assistance Amount
Edge Case Handling: The calculator ensures that the new monthly payment does not fall below zero. If the calculated assistance exceeds the current mortgage payment, the new payment will be capped at $0.00.
When to Use This Calculator
This calculator is useful for:
Potential homebuyers exploring programs that offer repayment assistance.
Current homeowners who have been approved for or are inquiring about specific RAP programs.
Financial advisors and counselors assisting clients with affordability assessments.
Disclaimer: This calculator provides an estimate only. Actual repayment assistance amounts and terms are determined by the specific program provider and your individual eligibility. Always consult the official program documentation and your lender for precise details.
function calculateRAP() {
var currentMonthlyMortgage = parseFloat(document.getElementById("currentMonthlyMortgage").value);
var RAPPercentage = parseFloat(document.getElementById("RAPPercentage").value);
var RAPFixedAmount = parseFloat(document.getElementById("RAPFixedAmount").value);
var resultDiv = document.getElementById("result");
var newPaymentAmountDisplay = document.getElementById("newPaymentAmount");
var assistanceAmountDisplay = document.getElementById("assistanceAmountDisplay");
// Input validation
if (isNaN(currentMonthlyMortgage) || currentMonthlyMortgage = 0 && RAPPercentage = 0) {
assistanceFromFixed = RAPFixedAmount;
}
var actualAssistance = 0;
var assistanceMethod = "";
// Determine which assistance method to use or if both are applicable
if (!isNaN(RAPPercentage) && RAPPercentage >= 0 && RAPPercentage = 0) {
// Both methods provided, use the smaller amount of assistance
actualAssistance = Math.min(assistanceFromPercentage, assistanceFromFixed);
if (assistanceFromPercentage = 0 && RAPPercentage = 0) {
// Only fixed amount provided
actualAssistance = assistanceFromFixed;
assistanceMethod = `Fixed amount ($${RAPFixedAmount.toFixed(2)})`;
} else {
// Neither valid percentage nor fixed amount provided
alert("Please enter a valid RAP reduction percentage or a fixed assistance amount.");
resultDiv.style.display = 'none';
return;
}
// Ensure assistance doesn't exceed the current payment
actualAssistance = Math.min(actualAssistance, currentMonthlyMortgage);
var newMonthlyPayment = currentMonthlyMortgage – actualAssistance;
// Ensure the new payment is not negative
if (newMonthlyPayment < 0) {
newMonthlyPayment = 0;
}
// Display results
newPaymentAmountDisplay.textContent = "$" + newMonthlyPayment.toFixed(2);
assistanceAmountDisplay.textContent = `Assistance applied: $${actualAssistance.toFixed(2)} (based on ${assistanceMethod})`;
resultDiv.style.display = 'block';
}