<%dim rate, tax_rate, mortgage, years, months, isa, isa_rate, savings, savings_rate, regular_savings, regular_savings_rate %>

Offset Mortgage Calculator

Offsetting has tax advantages and allows more of your monthly mortgage payment to be used to reduce the mortgage balance, so your mortgage will be repaid sooner saving you interest.

An offset mortgage allows you to make deposits and withdrawals in the same way that you would had you kept your mortgage and savings accounts apart, so you will always have access to your savings.

An offset mortgage could enable you to repay your mortgage sooner.

<% dim mortgage_payment, mortgage_capital, mortgage_interest, fv_isa, fv_savings, fv_regular_savings dim term, interest_earned, fv_savings_total, savings_total, interest_saved, total_payments1, total_payments2, nper_offset, period_saved dim saved, i, regular_savings_balance, mortgage_balance, interestx, reduced_term, years_saved, months_saved regular_savings_balance=0 savings_total=0 if request.querystring("button1") <>"" then rate = request.querystring("rate") if rate = "" then 'rate = 3.75 end if tax_rate = request.querystring("tax_rate") mortgage = request.querystring("mortgage") if mortgage = "" then mortgage = 1 end if years = request.querystring("years") if years = "" then years = 1 end if isa = request.querystring("isa") if isa = "" then isa = 0 end if isa_rate = request.querystring("isa_rate") if isa_rate = "" then isa_rate = 0 end if savings = request.querystring("savings") if savings = "" then savings = 0 end if savings_rate = request.querystring("savings_rate") if savings_rate = "" then savings_rate = 0 end if regular_savings = request.querystring("regular_savings") if regular_savings = "" then regular_savings = 0 end if regular_savings_rate = request.querystring("regular_savings_rate") if regular_savings_rate = "" then regular_savings_rate = 0 end if term = (years*12)+months mortgage_payment = PMT(rate/1200,term,-mortgage,0,0) mortgage_capital = PPMT(rate/1200,1,term,-mortgage,0) mortgage_interest = mortgage_payment-mortgage_capital fv_isa = FV(isa_rate/1200,term,0,-isa,0) fv_savings = FV((savings_rate/1200)*(1-tax_rate),term,0,-savings,0) fv_regular_savings = FV((regular_savings_rate/1200)*(1-tax_rate),term,-regular_savings,0,0) savings_total = (isa*1) + (savings*1) + (regular_savings*term) fv_savings_total = (fv_isa*1) + (fv_savings*1) + (fv_regular_savings*1) interest_earned = fv_savings_total-savings_total nper_offset = NPER(rate/1200,mortgage_payment+regular_savings,-mortgage+savings+isa,-savings_total,0) period_saved = term-nper_offset mortgage_balance = mortgage reduced_term=0 for i = 1 to term interestx = (mortgage_balance-savings-isa-regular_savings_balance)*rate/1200 regular_savings_balance = regular_savings_balance+regular_savings mortgage_balance = mortgage_balance-(mortgage_payment-interestx) if mortgage_balance<0 then reduced_term = (reduced_term+1) end if next years_saved = int(reduced_term/12) months_saved = (reduced_term/12)-years_saved months_saved = 12*months_saved session("period_saved")= period_saved session("isa_rate")= isa_rate session("savings_rate")= savings_rate session("tax_rate")= tax_rate*100 session("regular_savings_rate")= regular_savings_rate session("term")= term session("mortgage_payment")= mortgage_payment session("mortgage")= mortgage session("savings")= savings session("regular_savings")= regular_savings session("isa")= isa session("mortgage_capital")= mortgage_capital session("rate")= rate/100 session("savings_total")= savings_total session("interest_earned") = interest_earned session("interest_saved") = -mortgage_balance end if %> <%if request.querystring("button1") <>"" then %> <%if -mortgage_balance-interest_earned>0 then%> <%else%> <% end if end if%>
Offset Mortgage Calculator
Mortgage Terms
Mortgage £
Mortgage term   yrs mths
Offset mortgage rate used   %
My tax rate is  
 
By offsetting savings you already have or intend to make you can reduce the interest on your mortgage and still retain access to your savings.
Savings balances and annual interest rate currently earned
I have savings of £ % pa
Monthly savings amount £ % pa
 
 
loading graph
Loading graph
Enlarge graph
loading graph
Loading graph
Enlarge graph
 
Mortgage Payment: <%Response.write(formatcurrency(mortgage_payment))%>
Your mortgage will be repaid <%Response.write(years_saved)%> year(s) and <%Response.write(formatnumber(months_saved,2))%> month(s) sooner than expected. Saving you <%Response.write(formatcurrency(-mortgage_balance-interest_earned,0))%> interest.
How does it work?
Mortgage Payment: <%Response.write(formatcurrency(mortgage_payment))%>
Your mortgage will be repaid <%Response.write(years_saved)%> year(s) and <%Response.write(formatnumber(months_saved,2))%> month(s) sooner than expected. However, combining your savings with a mortgage loses <%Response.write(formatcurrency(mortgage_balance+interest_earned,0))%> interest on your savings, a traditional mortgage may be more attractive at this time.
How does it work?