Share Incentive Plan Calculator

function calculateSIP() { var totalGranted = parseFloat(document.getElementById('totalGranted').value); var vestingPercent = parseFloat(document.getElementById('vestingPercent').value); var exercisePrice = parseFloat(document.getElementById('exercisePrice').value); var marketPrice = parseFloat(document.getElementById('marketPrice').value); var taxRate = parseFloat(document.getElementById('taxRate').value); if (isNaN(totalGranted) || totalGranted < 0) { alert('Please enter a valid non-negative number for Total Shares/Options Granted.'); return; } if (isNaN(vestingPercent) || vestingPercent 100) { alert('Please enter a valid percentage (0-100) for Vesting Percentage.'); return; } if (isNaN(exercisePrice) || exercisePrice < 0) { alert('Please enter a valid non-negative number for Exercise Price.'); return; } if (isNaN(marketPrice) || marketPrice < 0) { alert('Please enter a valid non-negative number for Current Market Price.'); return; } if (isNaN(taxRate) || taxRate 100) { alert('Please enter a valid percentage (0-100) for Estimated Tax Rate.'); return; } var vestedShares = totalGranted * (vestingPercent / 100); var marketValueOfVested = vestedShares * marketPrice; var costToExercise = vestedShares * exercisePrice; var grossGain = marketValueOfVested – costToExercise; var taxableGain = Math.max(0, grossGain); var taxAmount = taxableGain * (taxRate / 100); var netGain = grossGain – taxAmount; document.getElementById('vestedSharesOutput').innerText = vestedShares.toFixed(0); document.getElementById('marketValueOutput').innerText = '$' + marketValueOfVested.toFixed(2); document.getElementById('costToExerciseOutput').innerText = '$' + costToExercise.toFixed(2); document.getElementById('grossProfitOutput').innerText = '$' + grossGain.toFixed(2); document.getElementById('taxAmountOutput').innerText = '$' + taxAmount.toFixed(2); document.getElementById('netProfitOutput').innerText = '$' + netGain.toFixed(2); } window.onload = calculateSIP;

Leave a Reply

Your email address will not be published. Required fields are marked *