document.addEventListener("DOMContentLoaded", function () { function getValue(id) { var el = document.getElementsByName(id)[0]; return el ? parseFloat(el.value) || 0 : 0; } function setValue(id, val) { var el = document.getElementsByName(id)[0]; if (el) el.value = Number(val).toFixed(2); } window.calculate = function () { // --- BASIC INPUTS --- var gross_total_income = getValue("gross_total_income"); var disallowance_14a = getValue("disallowance_14a"); var disallowance_37 = getValue("disallowance_37"); // // Auto-calculations (your logic) setValue("gross_total_income", disallowance_37 + gross_total_income); setValue("disallowance_37", disallowance_14a + disallowance_37); // --- DEDUCTIONS --- var d80_business = getValue("deduction_80ia_business"); var d80_misc = getValue("deduction_80ia_misc"); var d80_other = getValue("deduction_80ia_other"); var deduction_sec37 = d80_business + d80_misc + d80_other - 1.35; setValue("deduction_sec37_disallowance", deduction_sec37); var deduction_80g = getValue("deduction_80g"); // --- NET TAXABLE INCOME --- var net_taxable_income = gross_total_income - deduction_sec37 - deduction_80g; setValue("net_taxable_income", net_taxable_income); // --- TAX 30% --- setValue("tax_30_percent", net_taxable_income * 0.30); // --- TAX PAYABLE (18.5%) --- var tax_book = getValue("tax_book_profit_18_5"); setValue("tax_payable", tax_book); var surcharge = tax_book * 0.12; setValue("surcharge_12", surcharge); var edu_cess = (tax_book + surcharge) * 0.03; setValue("edu_cess_3", edu_cess); var total_tax_payable = tax_book + surcharge + edu_cess; setValue("total_tax_payable", total_tax_payable); // --- FINAL TAX --- var mat_credit = getValue("mat_credit"); var interest_234c = getValue("interest_234c"); var total_tax = total_tax_payable + mat_credit + interest_234c; setValue("total_tax", total_tax); // --- ASSESSMENT --- var adv_tax = getValue("advance_tax"); var tds = getValue("tds"); var tcs = getValue("tcs"); var tax_on_assessment = adv_tax + tds + tcs; setValue("tax_on_assessment", tax_on_assessment); var refund = total_tax - tax_on_assessment; setValue("refund", refund); }; });