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"); // -- total gross income -- var gross_total = gross_total_income + disallowance_37 + disallowance_14a; setValue("gti_as_per_ao", gross_total); // --- DEDUCTIONS --- var d80_business = getValue("deduction_80ia_business"); var d80_misc = getValue("deduction_80ia_misc"); var d80_other = getValue("deduction_80ia_other"); var d80_sec37 = getValue("deduction_sec37_disallowance"); // -- TAX A CALCULATIONS -- var per_a = getValue("per_a"); var tax_a = getValue("tax_a"); var per_surcharge_a = getValue("per_surcharge_a"); var surcharge_a = getValue("surcharge_a"); var per_cess_a = getValue("per_cess_a"); var edu_cess_a = getValue("edu_cess_a"); // -- TAX b CALCULATIONS -- var tax_book_profit = getValue("tax_book_profit"); console.log(tax_book_profit); var per_surcharge_b = getValue("per_surcharge_b"); var surcharge_b = getValue("surcharge_b"); var per_cess_b = getValue("per_cess_b"); var edu_cess_b = getValue("edu_cess_b"); var deduction = d80_business + d80_misc + d80_other + d80_sec37 - 1.35; var deduction_80g = getValue("deduction_80g"); // --- NET TAXABLE INCOME --- var net_taxable_income = gross_total - deduction - deduction_80g; setValue("net_taxable_income", net_taxable_income); // --- TAX (A)% AMOUNT --- var tax_a = net_taxable_income * (per_a / 100); setValue("tax_a", tax_a); // --- SURCHARGE (A)% AMOUNT --- var surcharge_a = tax_a * (per_surcharge_a / 100); setValue("surcharge_a", surcharge_a); // --- CESS (A)% AMOUNT --- var edu_cess_a = (surcharge_a + tax_a) * (per_cess_a / 100); setValue("edu_cess_a", edu_cess_a); //SUM OF (A)% var sum_of_a = tax_a + surcharge_a + edu_cess_a; setValue("sum_of_a", sum_of_a); //----------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------- // --- SURCHARGE (B)% AMOUNT --- var surcharge_b = tax_book_profit * (per_surcharge_b / 100); setValue("surcharge_b", surcharge_b); // --- CESS (B)% AMOUNT --- var edu_cess_b = (surcharge_b + tax_book_profit) * (per_cess_b / 100); setValue("edu_cess_b", edu_cess_b); //SUM OF (B)% var sum_of_b = tax_book_profit + surcharge_b + edu_cess_b; setValue("sum_of_b", sum_of_b); // --- TAX PAYABLE (18.5%) --- var tax185 = getValue("tax_book_profit_18_5"); // --- Education Cess 3% --- var tax_payable = tax_a > tax_book_profit ? tax_a : tax_book_profit; setValue("tax_payable", tax_payable); // --- SURCHARGE --- var percent = getValue("persentage"); var surcharge = tax_payable * (percent / 100); setValue("surcharge", surcharge); // --- EDUCATION CESS --- var per_cess = getValue("persentage_cess"); var edu_cess = (tax_payable + surcharge) * (per_cess / 100); setValue("edu_cess", edu_cess); // --- total tax payable --- var total_tax_payable = sum_of_a > sum_of_b ? sum_of_a : sum_of_b; setValue("total_tax_payable", total_tax_payable); // // --- mat_credit_created --- new // setValue("mat_credit_created", Math.max(tax185 - total_tax_payable, 0)); // // --- mat credit_utilized --- new // setValue("mat_credit_utilized", Math.max(total_tax_payable - tax185, 0)); // --- MAT credit and utilized --- var a = sum_of_a; var b = sum_of_b; var result = 0; var zero = 0; if (b > a) { result = b - a; setValue("mat_credit_created", result); setValue("mat_credit_utilized", zero); } if (a > b) { result = a - b; setValue("mat_credit_utilized", result); setValue("mat_credit_created", zero); } // --- FINAL TAX --- var mat_credit_uti = getValue("mat_credit_utilized"); var interest_234c = getValue("interest_234c"); // var total_tax = total_tax_payable + mat_credit + interest_234c; var total_tax = total_tax_payable + interest_234c - mat_credit_uti; setValue("total_tax", total_tax); // --- ASSESSMENT --- var adv_tax = getValue("advance_tax"); var tds = getValue("tds"); var tcs = getValue("tcs"); var tax_on_regular_assessment = getValue("tax_on_assessment"); var all_tax = adv_tax + tds + tcs + tax_on_regular_assessment; var refund = total_tax - all_tax; setValue("refund", refund); }; });