Loan Simulator
Easily estimate your monthly payments and repayment period based on the amount and rate you provide. A useful reference to better plan your project.
Indicative tool to estimate your capacity. This is neither an offer nor a financing commitment. Final terms depend on your application.
Estimated monthly payment'+fmt(M)+' '+cur+'
'+
'Amount to finance'+fmt(P)+' '+cur+'
'+
'Total interest'+fmt(interets)+' '+cur+'
'+
'Total cost'+fmt(total)+' '+cur+'
';
var ratioTxt='';
if(rev>0){
var dispo=rev-charges, ratio=(charges+M)/rev;
var maxPay=Math.max(MAXR*rev-charges,0), maxLoan=principalFrom(maxPay,taux,years);
html+='Household net income'+fmt(rev)+' '+cur+'
'+
'Current expenses'+fmt(charges)+' '+cur+'
'+
'Available capacity'+fmt(dispo)+' '+cur+'
'+
'Debt ratio with this loan'+(ratio*100).toFixed(0)+' %
'+
'Recommended financeable amount based on your income'+fmt(maxLoan)+' '+cur+'
';
var cls='rfx-sim-ok',msg='Your debt ratio is healthy. Your profile appears comfortable for this amount.';
if(ratio>0.43){cls='rfx-sim-bad';msg='The debt ratio is high. A lower amount, a longer term or a down payment would improve your application.';}
else if(ratio>0.35){cls='rfx-sim-warn';msg='The debt ratio should be monitored. You remain in an acceptable but limited range.';}
html+=''+msg+'
';
ratioTxt=' Income '+fmt(rev)+', expenses '+fmt(charges)+', debt ratio '+(ratio*100).toFixed(0)+'%.';
} else {
html+='Add your income and expenses to evaluate your capacity and the recommended financeable amount.
';
}
out.innerHTML=html;
var objet=$('rfxSimObjet').value;
var m='Bonjour REFLEXE. Simulation de financement. Objet : '+objet+'. Montant '+fmt(P)+' '+cur+' sur '+years+' ans, mensualite estimee '+fmt(M)+' '+cur+'.'+ratioTxt+' Je souhaite etre accompagne.';
cta.href='https://wa.me/'+wa+'?text='+encodeURIComponent(m);
cta.style.display='inline-block';
}
var dM=box.getAttribute('data-montant'); if(dM)$('rfxSimMontant').value=dM;
var dD=box.getAttribute('data-duree'); if(dD)$('rfxSimDuree').value=dD;
var dDev=box.getAttribute('data-devise'); if(dDev&&RATES[dDev])$('rfxSimDev').value=dDev;
setRate();
['rfxSimMontant','rfxSimDuree','rfxSimTaux','rfxSimRev1','rfxSimRev2','rfxSimCharges','rfxSimObjet'].forEach(function(id){$(id).addEventListener('input',calc);});
$('rfxSimDev').addEventListener('change',function(){setRate();calc();});
calc();
})();