Compare commits

..

4 Commits

Author SHA1 Message Date
4d26ee4f0f cit and itat model changes 2026-02-09 11:23:36 +05:30
6e4efad834 ao model changes 2026-02-08 13:23:32 +05:30
64fc455f5c code updated 2026-02-08 13:05:23 +05:30
33e27f73b5 new field added on Tax calculation and mat conditions appply 2026-02-08 12:42:12 +05:30
14 changed files with 394 additions and 273 deletions

2
.env
View File

@@ -21,5 +21,5 @@ DB_HOST=127.0.0.1
DB_PORT=3306
DB_NAME=test_income_taxdb
DB_USER=root
DB_PASSWORD=tiger
DB_PASSWORD=root

1
.gitignore vendored
View File

@@ -3,6 +3,7 @@
*.pyc
*.pyo
*.pyd
__pycache__
# Ingnor upload files
static/uploads/

View File

@@ -19,7 +19,7 @@ document.addEventListener("DOMContentLoaded", function () {
// -- total gross income --
var gross_total = gross_total_income + disallowance_37 + disallowance_14a
// console.log("gross_total income:: " + gross_total)
setValue("gti_as_per_ao", gross_total);
// --- DEDUCTIONS ---
var d80_business = getValue("deduction_80ia_business");
@@ -35,62 +35,73 @@ document.addEventListener("DOMContentLoaded", function () {
var net_taxable_income = gross_total - deduction - deduction_80g;
setValue("net_taxable_income", net_taxable_income);
// --- TAX 30% ---
var tax30 = net_taxable_income * 0.30;
// ----------------------- TAX A% ---------------------
var per_a = getValue("per_a");
var tax30 = net_taxable_income * (per_a / 100);
setValue("tax_30_percent", tax30);
// --- TAX PAYABLE (18.5%) ---
var per_surcharge_a = getValue("per_surcharge_a");
var surcharge_a = tax30 * (per_surcharge_a / 100);
setValue("surcharge_a", surcharge_a);
var per_cess_a = getValue("per_cess_a");
var edu_cess_a = (tax30 + surcharge_a) * (per_cess_a / 100);
setValue("edu_cess_a", edu_cess_a);
var sum_of_a = tax30 + surcharge_a + edu_cess_a;
setValue("sum_of_a", sum_of_a);
// -------------------- TAX PAYABLE B% (18.5%) ---------------------------
var tax185 = getValue("tax_book_profit_18_5");
// --- Education Cess 3% ---
var per_surcharge_b = getValue("per_surcharge_b");
var surcharge_b = tax185 * (per_surcharge_b / 100);
setValue("surcharge_b", surcharge_b);
var per_cess_b = getValue("per_cess_b");
var edu_cess_b = (tax185 + surcharge_b) * (per_cess_b / 100);
setValue("edu_cess_b", edu_cess_b);
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;
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 = tax_payable + surcharge + edu_cess;
// ---- total_tax_payable ----
var total_tax_payable = (tax30 > tax185) ? 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_utilized ---
var a = tax185
var b = total_tax_payable
var a = sum_of_a
var b = sum_of_b
var result = 0
if (a > b) {
result = a - b
setValue("mat_credit_created", result);
}
else {
setValue("mat_credit_created", result);
}
if (b > a) {
var zero = 0
if (a < b) {
result = b - a
setValue("mat_credit_utilized", result);
setValue("mat_credit_created", result);
setValue("mat_credit_utilized", zero);
}
else {
result = a - b
setValue("mat_credit_utilized", result);
setValue("mat_credit_created", zero);
}
// --- FINAL TAX ---
var mat_credit = getValue("mat_credit_utilized");
var mat_credit_utilized = 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;
var total_tax = total_tax_payable + interest_234c - mat_credit_utilized;
setValue("total_tax", total_tax);
// --- ASSESSMENT ---

View File

@@ -45,14 +45,6 @@ document.getElementById("year").addEventListener("change", function () {
// Show preview
previewDiv.style.display = "block";
<<<<<<< HEAD
=======
>>>>>>> a8e47af61c86ea9e13f18c0133e8c687573bf392
})
.catch(err => console.error("Preview load error:", err));
});

View File

@@ -90,12 +90,12 @@
</div>
<div>
<label>Tax @(A):</label>
<input type="number" name="tax_a" class="auto" step="any" value="0.00" oninput="calculate()"
readonly>
<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>
<input type="number" name="per_b" step="any" value="0.00" placeholder="Field Currently Unavailable" oninput="calculate()">
<input type="number" name="per_b" step="any" value="0.00" placeholder="Field Currently Unavailable"
oninput="calculate()">
</div>
<div>
<label>Tax @ on Book Profit(B):</label>

View File

@@ -10,7 +10,7 @@
<div class="container">
<h2 style="text-align:center;">New CIT Form </h2>
<form id="cit" method="POST" enctype="multipart/form-data">
<input type="hidden" name="stage" value="cit">
<input type="hidden" name="stage" value="itr">
<div class="form-group full-width inline-2">
<div>
<label>Assessment Year:</label>
@@ -79,40 +79,81 @@
<div class="form-group full-width inline-2">
<div>
<label>Tax @ 30% (A):</label>
<input type="number" name="tax_30_percent" step="any" value="0.00" oninput="calculate()" required>
<label>Enter Percentage(%) calculate: Tax(A):</label>
<input type="number" name="per_a" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Tax @(A):</label>
<input type="number" name="tax_30_percent" class="auto" step="any" value="0.00" oninput="calculate()"
readonly>
</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>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Enter Percentage(%) Surcharge:Tax(A):</label>
<input type="number" name="per_surcharge_a" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Surcharge on Tax(A):</label>
<input type="number" name="surcharge_a" class="auto" value="0.00" readonly>
</div>
<div>
<label>Enter Percentage(%) Surcharge:Tax(B)</label>
<input type="number" name="per_surcharge_b" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Surcharge on Tax(B):</label>
<input type="number" name="surcharge_b" class="auto" value="0.00" readonly>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Enter Percentage(%) Cess:Tax(A):</label>
<input type="number" name="per_cess_a" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Education Cess:Tax(A): </label>
<input type="number" name="edu_cess_a" class="auto" step="any" value="0.00" readonly>
</div>
<div>
<label>Enter Percentage(%) Cess:Tax(B):</label>
<input type="number" name="per_cess_b" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Education Cess:Tax(B): </label>
<input type="number" name="edu_cess_b" class="auto" step="any" value="0.00" readonly>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Total cal Tax(A): </label>
<input type="number" name="sum_of_a" class="auto" step="any" value="0.00" readonly>
</div>
<div>
<label>Total cal Tax(B): </label>
<input type="number" name="sum_of_b" class="auto" step="any" value="0.00" readonly>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<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>Enter Percentage (%) Surcharge:</label>
<input type="number" name="persentage" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Surcharge:</label>
<input type="number" name="surcharge" class="auto" value="0.00" readonly>
</div>
<div>
<label>Enter Percentage (%) Cess:</label>
<input type="number" name="persentage_cess" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Education Cess:</label>
<input type="number" name="edu_cess" 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>
@@ -188,6 +229,6 @@
{% endblock %}
{% block extra_js %}
<script src="{{ url_for('static', filename='js/cit_calc.js') }}"></script>
<script src="{{ url_for('static', filename='js/itr_calc.js') }}"></script>
<script src="{{ url_for('static', filename='js/year_dropdown.js') }}"></script>
{% endblock %}

View File

@@ -82,40 +82,78 @@
<div class="form-group full-width inline-2">
<div>
<label>Tax @ 30% (A):</label>
<input type="number" name="tax_30_percent" step="any" value="0.00" oninput="calculate()" required>
<label>Enter Percentage(%) calculate: Tax(A):</label>
<input type="number" name="per_a" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Tax @(A):</label>
<input type="number" name="tax_30_percent" class="auto" step="any" value="0.00" oninput="calculate()"
readonly>
</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>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Enter Percentage(%) Surcharge:Tax(A):</label>
<input type="number" name="per_surcharge_a" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Surcharge on Tax(A):</label>
<input type="number" name="surcharge_a" class="auto" value="0.00" readonly>
</div>
<div>
<label>Enter Percentage(%) Surcharge:Tax(B)</label>
<input type="number" name="per_surcharge_b" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Surcharge on Tax(B):</label>
<input type="number" name="surcharge_b" class="auto" value="0.00" readonly>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Enter Percentage(%) Cess:Tax(A):</label>
<input type="number" name="per_cess_a" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Education Cess:Tax(A): </label>
<input type="number" name="edu_cess_a" class="auto" step="any" value="0.00" readonly>
</div>
<div>
<label>Enter Percentage(%) Cess:Tax(B):</label>
<input type="number" name="per_cess_b" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Education Cess:Tax(B): </label>
<input type="number" name="edu_cess_b" class="auto" step="any" value="0.00" readonly>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Total cal Tax(A): </label>
<input type="number" name="sum_of_a" class="auto" step="any" value="0.00" readonly>
</div>
<div>
<label>Total cal Tax(B): </label>
<input type="number" name="sum_of_b" class="auto" step="any" value="0.00" readonly>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<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>Enter Percentage (%) Surcharge:</label>
<input type="number" name="persentage" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Surcharge:</label>
<input type="number" name="surcharge" class="auto" value="0.00" readonly>
</div>
<div>
<label>Enter Percentage (%) Cess:</label>
<input type="number" name="persentage_cess" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Education Cess:</label>
<input type="number" name="edu_cess" 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>

View File

@@ -41,6 +41,12 @@
<input type="number" name="disallowance_37" step="any" value="0.00" oninput="calculate()" required>
</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>
@@ -79,44 +85,86 @@
<div class="form-group full-width inline-2">
<div>
<label>Tax @ 30% (A):</label>
<input type="number" name="tax_30_percent" step="any" value="0.00" oninput="calculate()" required>
<label>Enter Percentage(%) calculate: Tax(A):</label>
<input type="number" name="per_a" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Tax @(A):</label>
<input type="number" name="tax_30_percent" class="auto" step="any" value="0.00" oninput="calculate()"
readonly>
</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>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Enter Percentage(%) Surcharge:Tax(A):</label>
<input type="number" name="per_surcharge_a" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Surcharge on Tax(A):</label>
<input type="number" name="surcharge_a" class="auto" value="0.00" readonly>
</div>
<div>
<label>Enter Percentage(%) Surcharge:Tax(B)</label>
<input type="number" name="per_surcharge_b" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Surcharge on Tax(B):</label>
<input type="number" name="surcharge_b" class="auto" value="0.00" readonly>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Enter Percentage(%) Cess:Tax(A):</label>
<input type="number" name="per_cess_a" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Education Cess:Tax(A): </label>
<input type="number" name="edu_cess_a" class="auto" step="any" value="0.00" readonly>
</div>
<div>
<label>Enter Percentage(%) Cess:Tax(B):</label>
<input type="number" name="per_cess_b" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Education Cess:Tax(B): </label>
<input type="number" name="edu_cess_b" class="auto" step="any" value="0.00" readonly>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<label>Total cal Tax(A): </label>
<input type="number" name="sum_of_a" class="auto" step="any" value="0.00" readonly>
</div>
<div>
<label>Total cal Tax(B): </label>
<input type="number" name="sum_of_b" class="auto" step="any" value="0.00" readonly>
</div>
</div>
<div class="form-group full-width inline-2">
<div>
<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>Enter Percentage (%) Surcharge:</label>
<input type="number" name="persentage" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Surcharge:</label>
<input type="number" name="surcharge" class="auto" value="0.00" readonly>
</div>
<div>
<label>Enter Percentage (%) Cess:</label>
<input type="number" name="persentage_cess" step="any" value="0.00" oninput="calculate()">
</div>
<div>
<label>Education Cess: </label>
<input type="number" name="edu_cess" 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>Less :Mat Credit Created:</label>

View File

@@ -1,13 +1,7 @@
{% extends "base.html" %} {% block title %}Download Summary Report{% endblock %}
{% block extra_css %}
<<<<<<< HEAD
<link rel="stylesheet" href="{{ url_for('static', filename='css/summary.css') }}" />
=======
<link
rel="stylesheet"
href="{{ url_for('static', filename='css/summary.css') }}"
/>
>>>>>>> a8e47af61c86ea9e13f18c0133e8c687573bf392
{% endblock %} {% block content %}
<div class="container">
<div class="head">
@@ -38,8 +32,4 @@
</div>
{% endblock %} {% block extra_js %}
<script src="{{ url_for('static', filename='js/summary_preview.js') }}"></script>
<<<<<<< HEAD
{% endblock %}
=======
{% endblock %}
>>>>>>> a8e47af61c86ea9e13f18c0133e8c687573bf392