new field added in the from all model changes

This commit is contained in:
2026-02-10 15:41:18 +05:30
parent 4d26ee4f0f
commit e5c349bbf4
11 changed files with 209 additions and 68 deletions

3
.env
View File

@@ -18,8 +18,9 @@ DB_DIALECT=mysql
# DB_DRIVER=pymysql
DB_HOST=127.0.0.1
# DB_HOST=db # this is production for use docker
DB_NAME=income_tax_db
DB_PORT=3306
DB_NAME=test_income_taxdb
# DB_NAME=test_income_taxdb
DB_USER=root
DB_PASSWORD=root

View File

@@ -117,13 +117,13 @@ document.addEventListener("DOMContentLoaded", function () {
var result = 0;
var zero = 0;
if (b > a) {
result = a - b;
result = b - a;
setValue("mat_credit_created", result);
setValue("mat_credit_utilized", zero);
}
if (a > b) {
result = b - a;
result = a - b;
setValue("mat_credit_utilized", result);
setValue("mat_credit_created", zero);
}

View File

@@ -1,44 +1,62 @@
document.addEventListener("DOMContentLoaded", function () {
function getValue(id) {
var el = document.getElementsByName(id)[0];
function getValue(name) {
var el = document.getElementsByName(name)[0];
return el ? parseFloat(el.value) || 0 : 0;
}
function setValue(id, val) {
var el = document.getElementsByName(id)[0];
function setValue(name, val) {
var el = document.getElementsByName(name)[0];
if (el) el.value = Number(val).toFixed(2);
}
// ---- Track last edited field for Tax(A) ----
let lastEditedTaxA = null;
document.getElementsByName("per_a")[0].addEventListener("input", () => {
lastEditedTaxA = "percentage";
});
document.getElementsByName("tax_30_percent")[0].addEventListener("input", () => {
lastEditedTaxA = "amount";
});
window.calculate = function () {
// --- BASIC INPUTS ---
// ---------------- 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
var gross_total = gross_total_income + disallowance_14a + disallowance_37;
setValue("gti_as_per_ao", gross_total);
// --- DEDUCTIONS ---
// ---------------- 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");
var deduction_80g = getValue("deduction_80g");
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% ---------------------
// ================= TAX (A) TWO WAY =================
var per_a = getValue("per_a");
var tax30 = net_taxable_income * (per_a / 100);
var tax30 = getValue("tax_30_percent");
if (net_taxable_income > 0) {
if (lastEditedTaxA === "percentage") {
tax30 = net_taxable_income * (per_a / 100);
setValue("tax_30_percent", tax30);
}
else if (lastEditedTaxA === "amount") {
per_a = (tax30 / net_taxable_income) * 100;
setValue("per_a", per_a);
}
}
var per_surcharge_a = getValue("per_surcharge_a");
var surcharge_a = tax30 * (per_surcharge_a / 100);
@@ -51,8 +69,7 @@ document.addEventListener("DOMContentLoaded", function () {
var sum_of_a = tax30 + surcharge_a + edu_cess_a;
setValue("sum_of_a", sum_of_a);
// -------------------- TAX PAYABLE B% (18.5%) ---------------------------
// ================= TAX (B) =================
var tax185 = getValue("tax_book_profit_18_5");
var per_surcharge_b = getValue("per_surcharge_b");
@@ -66,53 +83,52 @@ document.addEventListener("DOMContentLoaded", function () {
var sum_of_b = tax185 + surcharge_b + edu_cess_b;
setValue("sum_of_b", sum_of_b);
// --- Tax Payable (Higher of A or B): ---
var tax_payable = (tax30 > tax185) ? tax30 : tax185;
// ================= TAX PAYABLE =================
var tax_payable = (sum_of_a > sum_of_b) ? tax30 : tax185;
setValue("tax_payable", tax_payable);
// ---- total_tax_payable ----
var total_tax_payable = (tax30 > tax185) ? sum_of_a : sum_of_b;
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 =================
var mat_created = 0;
var mat_utilized = 0;
// --- 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_utilized ---
var a = sum_of_a
var b = sum_of_b
var result = 0
var zero = 0
if (a < b) {
result = b - a
setValue("mat_credit_created", result);
setValue("mat_credit_utilized", zero);
}
else {
result = a - b
setValue("mat_credit_utilized", result);
setValue("mat_credit_created", zero);
if (sum_of_a < sum_of_b) {
mat_created = sum_of_b - sum_of_a;
} else {
mat_utilized = sum_of_a - sum_of_b;
}
// --- FINAL TAX ---
var mat_credit_utilized = getValue("mat_credit_utilized");
setValue("mat_credit_created", mat_created);
setValue("mat_credit_utilized", mat_utilized);
// ================= Opening Balance and closing =================
var opening_balance = getValue("opening_balance");
var closing_balance = (opening_balance + mat_created) - mat_utilized
setValue("closing_balance", closing_balance);
// ================= FINAL TAX =================
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_utilized;
var total_tax = total_tax_payable + interest_234c - mat_utilized;
setValue("total_tax", total_tax);
// --- ASSESSMENT ---
// ================= ADJUSTMENTS =================
var adv_tax = getValue("advance_tax");
var tds = getValue("tds");
var tcs = getValue("tcs");
var tax_on_regular_assessment = getValue("tax_on_assessment");
var tax_on_assessment = getValue("tax_on_assessment");
var interest_244a_per143 = getValue("interest_244a_per143");
var refund_received = getValue("refund_received");
var all_tax = adv_tax + tds + tcs + tax_on_regular_assessment;
var paid_tax = adv_tax + tds + tcs + tax_on_assessment;
var refund = total_tax - all_tax;
var refund = total_tax - paid_tax;
setValue("refund", refund);
var balance_receivable = (refund + interest_244a_per143) - refund_received
setValue("balance_receivable", balance_receivable);
};
});

View File

@@ -93,7 +93,7 @@
<input type="number" name="tax_a" class="auto" step="any" value="0.00" oninput="calculate()" readonly>
</div>
<div>
<label>Enter Percentage(%) calculate: Tax(B): readonly</label>
<label>Enter Percentage(%) calculate: Tax(B):</label>
<input type="number" name="per_b" step="any" value="0.00" placeholder="Field Currently Unavailable"
oninput="calculate()">
</div>
@@ -158,14 +158,19 @@
<label>Tax Payable (Higher of A or B):</label>
<input type="number" name="tax_payable" class="auto" step="any" value="0.00" readonly>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Total tax Payable:</label>
<input type="number" name="total_tax_payable" class="auto" step="any" value="0.00" readonly>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Opening Balance:</label>
<input type="number" name="opening_balance" step="any" value="0.00" oninput="calculate()">
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Less :Mat Credit Created:</label>
@@ -175,6 +180,13 @@
<label>Less :Mat Credit Utilized:</label>
<input type="number" name="mat_credit_utilized" step="any" value="0.00" oninput="calculate()" required>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Closing Balance:</label>
<input type="number" name="closing_balance" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Add :Interest 234c:</label>
<input type="number" name="interest_234c" step="any" value="0.00" oninput="calculate()" required>
@@ -219,6 +231,21 @@
<label>Refund:</label>
<input type="number" name="refund" class="auto" step="any" value="0.00" readonly>
</div>
<div class="form-group full-width inline-2">
<div class="form-group">
<label>Add : Interest u/s 244A as per 143:</label>
<input type="number" name="interest_244a_per143" step="any" value="0.00" oninput="calculate()">
</div>
<div class="form-group">
<label>Less : Refund Received on:</label>
<input type="number" name="refund_received" step="any" value="0.00" oninput="calculate()">
</div>
<div class="form-group">
<label>Balance Receivable:</label>
<input type="number" name="balance_receivable" class="auto" step="any" value="0.00"
oninput="calculate()">
</div>
</div>
<div class="form-group full-width inline-2">
<div>

View File

@@ -42,6 +42,13 @@
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>GTI as per CIT</label>
<input type="number" name="gti_as_per_cit" class="auto" step="any" value="0.00" readonly>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Deduction 80IA Business Income:</label>
@@ -92,8 +99,6 @@
<input type="number" name="per_b" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<!-- <label>Tax @ on Book Profit(B):</label>
<input type="number" name="tax_book_profit_18_5" step="any" value="0.00" oninput="calculate()" required> -->
<label>Tax @ 18.5% on Book Profit (B):</label>
<input type="number" name="tax_book_profit_18_5" step="any" value="0.00" oninput="calculate()" required>
</div>
@@ -160,6 +165,13 @@
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Opening Balance:</label>
<input type="number" name="opening_balance" step="any" value="0.00" oninput="calculate()">
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Less :Mat Credit Created:</label>
@@ -169,6 +181,12 @@
<label>Less :Mat Credit Utilized:</label>
<input type="number" name="mat_credit_utilized" step="any" value="0.00" oninput="calculate()" required>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Closing Balance:</label>
<input type="number" name="closing_balance" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Add :Interest 234c:</label>
<input type="number" name="interest_234c" step="any" value="0.00" oninput="calculate()" required>
@@ -212,6 +230,22 @@
<input type="number" name="refund" class="auto" step="any" value="0.00" readonly>
</div>
<div class="form-group full-width inline-2">
<div class="form-group">
<label>Add : Interest u/s 244A as per 143:</label>
<input type="number" name="interest_244a_per143" step="any" value="0.00" oninput="calculate()">
</div>
<div class="form-group">
<label>Less : Refund Received on:</label>
<input type="number" name="refund_received" step="any" value="0.00" oninput="calculate()">
</div>
<div class="form-group">
<label>Balance Receivable:</label>
<input type="number" name="balance_receivable" class="auto" step="any" value="0.00"
oninput="calculate()">
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Select Documents:</label>

View File

@@ -43,6 +43,13 @@
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>GTI as per AO</label>
<input type="number" name="gti_as_per_ao" class="auto" step="any" value="0.00" readonly>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Less :Deduction 80IA Business Income:</label>
@@ -59,8 +66,6 @@
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Less :Deduction Sec 37 Disallowance:</label>
@@ -95,8 +100,6 @@
<input type="number" name="per_b" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<!-- <label>Tax @ on Book Profit(B):</label>
<input type="number" name="tax_book_profit_18_5" step="any" value="0.00" oninput="calculate()" required> -->
<label>Tax @ 18.5% on Book Profit (B):</label>
<input type="number" name="tax_book_profit_18_5" step="any" value="0.00" oninput="calculate()" required>
</div>
@@ -160,6 +163,13 @@
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Opening Balance:</label>
<input type="number" name="opening_balance" step="any" value="0.00" oninput="calculate()">
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Less :Mat Credit Created:</label>
@@ -169,6 +179,13 @@
<label>Less :Mat Credit Utilized:</label>
<input type="number" name="mat_credit_utilized" step="any" value="0.00" oninput="calculate()" required>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Closing Balance:</label>
<input type="number" name="closing_balance" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Add :Interest 234c:</label>
<input type="number" name="interest_234c" step="any" value="0.00" oninput="calculate()" required>
@@ -214,6 +231,22 @@
<input type="number" name="refund" class="auto" step="any" value="0.00" readonly>
</div>
<div class="form-group full-width inline-2">
<div class="form-group">
<label>Add : Interest u/s 244A as per 143:</label>
<input type="number" name="interest_244a_per143" step="any" value="0.00" oninput="calculate()">
</div>
<div class="form-group">
<label>Less : Refund Received on:</label>
<input type="number" name="refund_received" step="any" value="0.00" oninput="calculate()">
</div>
<div class="form-group">
<label>Balance Receivable:</label>
<input type="number" name="balance_receivable" class="auto" step="any" value="0.00"
oninput="calculate()">
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Select Documents:</label>

View File

@@ -90,16 +90,13 @@
</div>
<div>
<label>Tax @(A):</label>
<input type="number" name="tax_30_percent" class="auto" step="any" value="0.00" oninput="calculate()"
readonly>
<input type="number" name="tax_30_percent" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Enter Percentage(%) calculate: Tax(B):</label>
<input type="number" name="per_b" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<!-- <label>Tax @ on Book Profit(B):</label>
<input type="number" name="tax_book_profit_18_5" step="any" value="0.00" oninput="calculate()" required> -->
<label>Tax @ 18.5% on Book Profit (B):</label>
<input type="number" name="tax_book_profit_18_5" step="any" value="0.00" oninput="calculate()" required>
</div>
@@ -165,6 +162,13 @@
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Opening Balance:</label>
<input type="number" name="opening_balance" step="any" value="0.00" oninput="calculate()">
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Less :Mat Credit Created:</label>
@@ -174,6 +178,13 @@
<label>Less :Mat Credit Utilized:</label>
<input type="number" name="mat_credit_utilized" step="any" value="0.00" oninput="calculate()" required>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Closing Balance:</label>
<input type="number" name="closing_balance" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Add :Interest 234c:</label>
<input type="number" name="interest_234c" step="any" value="0.00" oninput="calculate()" required>
@@ -214,9 +225,28 @@
</div>
</div>
<div class="form-group full-width inline-2">
<div class="form-group">
<label>Refund:</label>
<input type="number" name="refund" class="auto" step="any" value="0.00" readonly>
<input type="number" name="refund" class="auto" step="any" value="0.00">
</div>
</div>
<div class="form-group full-width inline-2">
<div class="form-group">
<label>Add : Interest u/s 244A as per 143:</label>
<input type="number" name="interest_244a_per143" step="any" value="0.00" oninput="calculate()">
</div>
<div class="form-group">
<label>Less : Refund Received on:</label>
<input type="number" name="refund_received" step="any" value="0.00" oninput="calculate()">
</div>
<div class="form-group">
<label>Balance Receivable:</label>
<input type="number" name="balance_receivable" class="auto" step="any" value="0.00"
oninput="calculate()">
</div>
</div>
<div class="form-group full-width inline-2">