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_PORT=3306
DB_NAME=test_income_taxdb DB_NAME=test_income_taxdb
DB_USER=root DB_USER=root
DB_PASSWORD=tiger DB_PASSWORD=root

1
.gitignore vendored
View File

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

View File

@@ -19,7 +19,7 @@ document.addEventListener("DOMContentLoaded", function () {
// -- total gross income -- // -- total gross income --
var gross_total = gross_total_income + disallowance_37 + disallowance_14a 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 --- // --- DEDUCTIONS ---
var d80_business = getValue("deduction_80ia_business"); var d80_business = getValue("deduction_80ia_business");
@@ -35,62 +35,73 @@ document.addEventListener("DOMContentLoaded", function () {
var net_taxable_income = gross_total - deduction - deduction_80g; var net_taxable_income = gross_total - deduction - deduction_80g;
setValue("net_taxable_income", net_taxable_income); setValue("net_taxable_income", net_taxable_income);
// --- TAX 30% --- // ----------------------- TAX A% ---------------------
var tax30 = net_taxable_income * 0.30; var per_a = getValue("per_a");
var tax30 = net_taxable_income * (per_a / 100);
setValue("tax_30_percent", tax30); 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"); 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; var tax_payable = (tax30 > tax185) ? tax30 : tax185;
setValue("tax_payable", tax_payable); setValue("tax_payable", tax_payable);
// ---- total_tax_payable ----
// --- SURCHARGE --- var total_tax_payable = (tax30 > tax185) ? sum_of_a : sum_of_b;
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;
setValue("total_tax_payable", total_tax_payable); setValue("total_tax_payable", total_tax_payable);
// --- mat_credit_created --- new // --- mat_credit_created --- new
// setValue("mat_credit_created", Math.max(tax185 - total_tax_payable, 0)); // setValue("mat_credit_created", Math.max(tax185 - total_tax_payable, 0));
// // --- mat credit_utilized --- new // // --- mat credit_utilized --- new
// setValue("mat_credit_utilized", Math.max(total_tax_payable - tax185, 0)); // setValue("mat_credit_utilized", Math.max(total_tax_payable - tax185, 0));
// --- mat credit_utilized --- // --- mat credit_utilized ---
var a = tax185 var a = sum_of_a
var b = total_tax_payable var b = sum_of_b
var result = 0 var result = 0
if (a > b) { var zero = 0
result = a - b if (a < b) {
setValue("mat_credit_created", result);
}
else {
setValue("mat_credit_created", result);
}
if (b > a) {
result = b - a result = b - a
setValue("mat_credit_utilized", result); setValue("mat_credit_created", result);
setValue("mat_credit_utilized", zero);
} }
else { else {
result = a - b
setValue("mat_credit_utilized", result); setValue("mat_credit_utilized", result);
setValue("mat_credit_created", zero);
} }
// --- FINAL TAX --- // --- FINAL TAX ---
var mat_credit = getValue("mat_credit_utilized"); var mat_credit_utilized = getValue("mat_credit_utilized");
var interest_234c = getValue("interest_234c"); var interest_234c = getValue("interest_234c");
// var total_tax = total_tax_payable + mat_credit + 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); setValue("total_tax", total_tax);
// --- ASSESSMENT --- // --- ASSESSMENT ---

View File

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

View File

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

View File

@@ -10,7 +10,7 @@
<div class="container"> <div class="container">
<h2 style="text-align:center;">New CIT Form </h2> <h2 style="text-align:center;">New CIT Form </h2>
<form id="cit" method="POST" enctype="multipart/form-data"> <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 class="form-group full-width inline-2">
<div> <div>
<label>Assessment Year:</label> <label>Assessment Year:</label>
@@ -79,40 +79,81 @@
<div class="form-group full-width inline-2"> <div class="form-group full-width inline-2">
<div> <div>
<label>Tax @ 30% (A):</label> <label>Enter Percentage(%) calculate: Tax(A):</label>
<input type="number" name="tax_30_percent" step="any" value="0.00" oninput="calculate()" required> <input type="number" name="per_a" step="any" value="0.00" oninput="calculate()">
</div> </div>
<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> <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> <input type="number" name="tax_book_profit_18_5" step="any" value="0.00" oninput="calculate()" required>
</div> </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> <div>
<label>Tax Payable (Higher of A or B):</label> <label>Tax Payable (Higher of A or B):</label>
<input type="number" name="tax_payable" class="auto" step="any" value="0.00" readonly> <input type="number" name="tax_payable" class="auto" step="any" value="0.00" readonly>
</div> </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> <div>
<label>Total tax Payable:</label> <label>Total tax Payable:</label>
<input type="number" name="total_tax_payable" class="auto" step="any" value="0.00" readonly> <input type="number" name="total_tax_payable" class="auto" step="any" value="0.00" readonly>
@@ -188,6 +229,6 @@
{% endblock %} {% endblock %}
{% block extra_js %} {% 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> <script src="{{ url_for('static', filename='js/year_dropdown.js') }}"></script>
{% endblock %} {% endblock %}

View File

@@ -82,40 +82,78 @@
<div class="form-group full-width inline-2"> <div class="form-group full-width inline-2">
<div> <div>
<label>Tax @ 30% (A):</label> <label>Enter Percentage(%) calculate: Tax(A):</label>
<input type="number" name="tax_30_percent" step="any" value="0.00" oninput="calculate()" required> <input type="number" name="per_a" step="any" value="0.00" oninput="calculate()">
</div> </div>
<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> <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> <input type="number" name="tax_book_profit_18_5" step="any" value="0.00" oninput="calculate()" required>
</div> </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> <div>
<label>Tax Payable (Higher of A or B):</label> <label>Tax Payable (Higher of A or B):</label>
<input type="number" name="tax_payable" class="auto" step="any" value="0.00" readonly> <input type="number" name="tax_payable" class="auto" step="any" value="0.00" readonly>
</div> </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> <div>
<label>Total tax Payable:</label> <label>Total tax Payable:</label>
<input type="number" name="total_tax_payable" class="auto" step="any" value="0.00" readonly> <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> <input type="number" name="disallowance_37" step="any" value="0.00" oninput="calculate()" required>
</div> </div>
</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 class="form-group full-width inline-2">
<div> <div>
@@ -79,44 +85,86 @@
<div class="form-group full-width inline-2"> <div class="form-group full-width inline-2">
<div> <div>
<label>Tax @ 30% (A):</label> <label>Enter Percentage(%) calculate: Tax(A):</label>
<input type="number" name="tax_30_percent" step="any" value="0.00" oninput="calculate()" required> <input type="number" name="per_a" step="any" value="0.00" oninput="calculate()">
</div> </div>
<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> <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> <input type="number" name="tax_book_profit_18_5" step="any" value="0.00" oninput="calculate()" required>
</div> </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> <div>
<label>Tax Payable (Higher of A or B):</label> <label>Tax Payable (Higher of A or B):</label>
<input type="number" name="tax_payable" class="auto" step="any" value="0.00" readonly> <input type="number" name="tax_payable" class="auto" step="any" value="0.00" readonly>
</div> </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> <div>
<label>Total tax Payable:</label> <label>Total tax Payable:</label>
<input type="number" name="total_tax_payable" class="auto" step="any" value="0.00" readonly> <input type="number" name="total_tax_payable" class="auto" step="any" value="0.00" readonly>
</div> </div>
</div> </div>
<div class="form-group full-width inline-2"> <div class="form-group full-width inline-2">
<div> <div>
<label>Less :Mat Credit Created:</label> <label>Less :Mat Credit Created:</label>

View File

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