add auto-calculation of Itr and Ao form and also back-to dashboard button commit

This commit is contained in:
2025-12-04 17:31:12 +05:30
parent dd339070ab
commit 4fce58adec
29 changed files with 1387 additions and 314 deletions

93
static/js/ao_calc.js Normal file
View File

@@ -0,0 +1,93 @@
document.addEventListener("DOMContentLoaded", function () {
// All fields that must trigger calculation
const fields = [
"gross_total_income", "disallowance_14a", "disallowance_37",
"deduction_80ia_business", "deduction_sec37_disallowance", "deduction_80g",
"net_taxable_income", "tax_30_percent", "tax_book_profit_18_5",
"surcharge_12", "edu_cess_3", "total_tax_payable", "mat_credit",
"interest_234c", "total_tax", "advance_tax", "tds", "tcs",
"tax_on_assessment", "refund"
];
function getVal(id) {
return parseFloat(document.getElementsByName(id)[0].value) || 0;
}
function setVal(id, value) {
document.getElementsByName(id)[0].value = Number(value).toFixed(2);
}
function calculate() {
// 1 Base Values
let gross_total_income = getVal("gross_total_income");
let disallowance_14a = getVal("disallowance_14a");
let disallowance_37 = getVal("disallowance_37");
// 2 Deductions
let d80_business = getVal("deduction_80ia_business");
let deduction_sec37 = getVal("deduction_sec37_disallowance");
let deduction_80g = getVal("deduction_80g");
// 3 Formula: TOTAL DEDUCTION
let total_deductions = d80_business + deduction_sec37;
// (deduction_80ia_business + deduction_sec37_disallowance)
// 4 Net Taxable Income
let net_taxable_income =
(gross_total_income + disallowance_14a + disallowance_37)
- total_deductions
- deduction_80g;
setVal("net_taxable_income", net_taxable_income);
// 5 Tax @ 30%
let tax_30_percent = net_taxable_income * 0.30;
setVal("tax_30_percent", tax_30_percent);
// 6 Book Profit Tax Payable
let tax_payable = getVal("tax_book_profit_18_5");
// (tax_payable = tax_book_profit_18_5)
// 7 Surcharge
let surcharge_12 = tax_30_percent * 0.12;
setVal("surcharge_12", surcharge_12);
// 8 Education Cess
let edu_cess_3 = (tax_30_percent + surcharge_12) * 0.03;
setVal("edu_cess_3", edu_cess_3);
// 9 Total Tax Payable
let total_tax_payable = tax_30_percent + surcharge_12 + edu_cess_3;
setVal("total_tax_payable", total_tax_payable);
// MAT Credit & Interest
let mat_credit = getVal("mat_credit");
let interest_234c = getVal("interest_234c");
// 11 Total Tax
let total_tax = total_tax_payable + mat_credit + interest_234c;
setVal("total_tax", total_tax);
// 12 Assessment side Advance Tax, TDS, TCS
let advance_tax = getVal("advance_tax");
let tds = getVal("tds");
let tcs = getVal("tcs");
let tax_on_assessment = advance_tax + tds + tcs;
setVal("tax_on_assessment", tax_on_assessment);
// 13 Refund / Payable
let refund = total_tax - tax_on_assessment;
setVal("refund", refund);
}
// Attach input listeners
fields.forEach(id => {
let input = document.getElementsByName(id)[0];
if (input) {
input.addEventListener("input", calculate);
}
});
});

83
static/js/itr_calc.js Normal file
View File

@@ -0,0 +1,83 @@
document.addEventListener("DOMContentLoaded", function () {
const fields = [
"gross_total_income", "disallowance_14a", "disallowance_37",
"deduction_80ia_business", "deduction_80ia_misc", "deduction_80ia_other",
"deduction_sec37_disallowance", "deduction_80g", "net_taxable_income",
"tax_30_percent", "tax_book_profit_18_5", "tax_payable", "surcharge_12",
"edu_cess_3", "total_tax_payable", "mat_credit", "interest_234c",
"total_tax", "advance_tax", "tds", "tcs", "tax_on_assessment", "refund"
];
function getValue(id) {
return parseFloat(document.getElementsByName(id)[0].value) || 0;
}
function setValue(id, val) {
document.getElementsByName(id)[0].value = val.toFixed(2);
}
function calculate() {
let gross_total_income = getValue("gross_total_income");
let disallowance_14a = getValue("disallowance_14a");
let disallowance_37 = getValue("disallowance_37");
// FORMULAS
setValue("gross_total_income", disallowance_37 + gross_total_income);
setValue("disallowance_37", disallowance_14a + disallowance_37);
// Deductions
let d80_business = getValue("deduction_80ia_business");
let d80_misc = getValue("deduction_80ia_misc");
let d80_other = getValue("deduction_80ia_other");
let deduction_sec37 = d80_business + d80_misc + d80_other - 1.35;
setValue("deduction_sec37_disallowance", deduction_sec37);
let deduction_80g = getValue("deduction_80g");
// Net taxable income
let net_taxable_income = gross_total_income - deduction_sec37 - deduction_80g;
setValue("net_taxable_income", net_taxable_income);
// Tax calculations
setValue("tax_30_percent", net_taxable_income * 0.30);
let tax_book_profit = getValue("tax_book_profit_18_5");
setValue("tax_payable", tax_book_profit);
let surcharge = tax_book_profit * 0.12;
setValue("surcharge_12", surcharge);
let edu_cess = (tax_book_profit + surcharge) * 0.03;
setValue("edu_cess_3", edu_cess);
let total_tax_payable = tax_book_profit + surcharge + edu_cess;
setValue("total_tax_payable", total_tax_payable);
let mat_credit = getValue("mat_credit");
let interest_234c = getValue("interest_234c");
let total_tax = total_tax_payable + mat_credit + interest_234c;
setValue("total_tax", total_tax);
// Assessment
let adv_tax = getValue("advance_tax");
let tds = getValue("tds");
let tcs = getValue("tcs");
let tax_on_assessment = adv_tax + tds + tcs;
setValue("tax_on_assessment", tax_on_assessment);
let refund = total_tax - tax_on_assessment;
setValue("refund", refund);
}
// Attach event listeners
fields.forEach(id => {
const element = document.getElementsByName(id)[0];
if (element) {
element.addEventListener("input", calculate);
}
});
});

View File

@@ -1,8 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>AO Form Entry</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
<script src="/static/js/ao_calc.js"></script>
<style>
/* Reset and base styles */
* {
@@ -76,6 +79,24 @@
background-color: #0056b3;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
@media (max-width: 600px) {
.container {
padding: 20px;
@@ -95,8 +116,12 @@
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>AO Form Entry</h2>
<form method="POST" onsubmit="return showSuccessMessage()">
<label>Year:</label>
@@ -124,4 +149,5 @@
}
</script>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<title>CIT Form Entry</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
@@ -74,6 +75,24 @@
background-color: #0056b3;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
@media (max-width: 600px) {
.container {
padding: 20px;
@@ -93,8 +112,12 @@
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>CIT Form Entry</h2>
<form method="POST">
<label>Year:</label>
@@ -121,4 +144,5 @@
}
</script>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<title>ITAT Form Entry</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
@@ -74,6 +75,24 @@
background-color: #0056b3;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
@media (max-width: 600px) {
.container {
padding: 20px;
@@ -93,8 +112,12 @@
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>ITAT Form Entry</h2>
<form method="POST" onsubmit="return showSuccessMessage()">
<label>Year:</label>
@@ -123,4 +146,5 @@
}
</script>
</body>
</html>

View File

@@ -4,6 +4,8 @@
<head>
<meta charset="UTF-8">
<title>Add New Income Tax Return Record</title>
<script src="/static/js/itr_calc.js"></script>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
@@ -89,6 +91,24 @@
transform: translateY(-2px);
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
/* Responsive */
@media (max-width: 768px) {
form {
@@ -104,6 +124,10 @@
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Add New Income Tax Return Record</h2>
<form method="POST" action="{{ url_for('add_itr') }}">
<div class="form-group">

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<title>AO Form Entry</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
@@ -76,6 +77,25 @@
background-color: #0056b3;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
@media (max-width: 600px) {
.container {
padding: 20px;
@@ -95,8 +115,12 @@
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>AO Form Entry</h2>
<form method="POST" onsubmit="return showSuccessMessage()">
<label>Year:</label>
@@ -124,4 +148,5 @@
}
</script>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<title>Download AO Reports</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
@@ -51,10 +52,32 @@
button:hover {
background-color: #0056b3;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Download AO Report</h2>
<form method="GET" action="{{ url_for('ao_report') }}" target="_blank">
@@ -71,4 +94,5 @@
</form>
</div>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<title>CIT Form Entry</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
@@ -74,6 +75,24 @@
background-color: #0056b3;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
@media (max-width: 600px) {
.container {
padding: 20px;
@@ -93,8 +112,12 @@
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>CIT Form Entry</h2>
<form method="POST" onsubmit="return showSuccessMessage()">
<label>Year:</label>
@@ -120,4 +143,5 @@
}
</script>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<title>Download CIT Reports</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
@@ -51,10 +52,32 @@
button:hover {
background-color: #0056b3;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Download CIT Report</h2>
<form method="GET" action="{{ url_for('cit_report') }}" target="_blank">
@@ -71,4 +94,5 @@
</form>
</div>
</body>
</html>

View File

@@ -1,30 +1,140 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<title>AO Records</title>
<style>
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: #f8f9fa; padding: 20px; color: #333; }
.container { max-width: 95%; margin: auto; background: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
h2 { text-align: center; margin-bottom: 20px; }
.btn { padding: 8px 15px; border-radius: 5px; text-decoration: none; color: white; border: none; cursor: pointer; font-size: 14px; }
.btn-add { background-color: #28a745; display: inline-block; margin-bottom: 20px; }
.btn-update { background-color: #007bff; }
.btn-delete { background-color: #dc3545; }
.action-cell form { display: inline-block; margin-left: 5px; }
.table-wrapper { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; margin-top: 20px; }
th, td { padding: 12px; border: 1px solid #dee2e6; text-align: right; white-space: nowrap; }
th { background-color: #343a40; color: white; text-align: center; }
tr:nth-child(even) { background-color: #f2f2f2; }
td:first-child, th:first-child { text-align: left; }
.alert { padding: 10px 15px; margin-bottom: 20px; border-radius: 5px; }
.alert-success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.alert-danger { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
background-color: #f8f9fa;
padding: 20px;
color: #333;
}
.container {
max-width: 95%;
margin: auto;
background: white;
padding: 30px;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
h2 {
text-align: center;
margin-bottom: 20px;
}
.btn {
padding: 8px 15px;
border-radius: 5px;
text-decoration: none;
color: white;
border: none;
cursor: pointer;
font-size: 14px;
}
.btn-add {
background-color: #28a745;
display: inline-block;
margin-bottom: 20px;
}
.btn-update {
background-color: #007bff;
}
.btn-delete {
background-color: #dc3545;
}
.action-cell form {
display: inline-block;
margin-left: 5px;
}
.table-wrapper {
overflow-x: auto;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
th,
td {
padding: 12px;
border: 1px solid #dee2e6;
text-align: right;
white-space: nowrap;
}
th {
background-color: #343a40;
color: white;
text-align: center;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
td:first-child,
th:first-child {
text-align: left;
}
.alert {
padding: 10px 15px;
margin-bottom: 20px;
border-radius: 5px;
}
.alert-success {
background-color: #d4edda;
color: #155724;
border: 1px solid #c3e6cb;
}
.alert-danger {
background-color: #f8d7da;
color: #721c24;
border: 1px solid #f5c6cb;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<!-- <a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a> -->
<h2>Assessing Officer Records 👨‍💼</h2>
<!-- Flash Messages -->
@@ -62,7 +172,8 @@
<td class="action-cell">
<a href="{{ url_for('update_ao', id=ao.id) }}" class="btn btn-update">Edit</a>
<form action="{{ url_for('delete_ao', id=ao.id) }}" method="POST" style="display:inline;">
<button type="submit" class="btn btn-delete" onclick="return confirm('Are you sure you want to delete this AO?');">Delete</button>
<button type="submit" class="btn btn-delete"
onclick="return confirm('Are you sure you want to delete this AO?');">Delete</button>
</form>
</td>
</tr>
@@ -75,4 +186,5 @@
{% endif %}
</div>
</body>
</html>

View File

@@ -1,27 +1,119 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CIT Records</title>
<style>
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: #f8f9fa; padding: 20px; color: #333; }
.container { max-width: 95%; margin: auto; background: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
h2 { text-align: center; margin-bottom: 20px; }
.btn { padding: 8px 15px; border-radius: 5px; text-decoration: none; color: white; border: none; cursor: pointer; font-size: 14px; }
.btn-add { background-color: #28a745; display: inline-block; margin-bottom: 20px; }
.btn-update { background-color: #007bff; }
.btn-delete { background-color: #dc3545; }
.action-cell form { display: inline-block; margin-left: 5px; }
.table-wrapper { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; margin-top: 20px; }
th, td { padding: 12px; border: 1px solid #dee2e6; text-align: right; white-space: nowrap; }
th { background-color: #343a40; color: white; text-align: center; }
tr:nth-child(even) { background-color: #f2f2f2; }
td:first-child, th:first-child { text-align: left; }
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
background-color: #f8f9fa;
padding: 20px;
color: #333;
}
.container {
max-width: 95%;
margin: auto;
background: white;
padding: 30px;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
h2 {
text-align: center;
margin-bottom: 20px;
}
.btn {
padding: 8px 15px;
border-radius: 5px;
text-decoration: none;
color: white;
border: none;
cursor: pointer;
font-size: 14px;
}
.btn-add {
background-color: #28a745;
display: inline-block;
margin-bottom: 20px;
}
.btn-update {
background-color: #007bff;
}
.btn-delete {
background-color: #dc3545;
}
.action-cell form {
display: inline-block;
margin-left: 5px;
}
.table-wrapper {
overflow-x: auto;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
th,
td {
padding: 12px;
border: 1px solid #dee2e6;
text-align: right;
white-space: nowrap;
}
th {
background-color: #343a40;
color: white;
text-align: center;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
td:first-child,
th:first-child {
text-align: left;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>CIT Records 🧾</h2>
<a href="{{ url_for('add_cit') }}" class="btn btn-add"> Add New Record</a>
@@ -49,7 +141,8 @@
<td class="action-cell">
<a href="{{ url_for('update_cit', id=record.id) }}" class="btn btn-update">Edit</a>
<form action="{{ url_for('delete_cit', id=record.id) }}" method="post" onsubmit="return confirm('Are you sure you want to delete this record?');">
<form action="{{ url_for('delete_cit', id=record.id) }}" method="post"
onsubmit="return confirm('Are you sure you want to delete this record?');">
<button type="submit" class="btn btn-delete">Delete</button>
</form>
</td>
@@ -63,4 +156,5 @@
{% endif %}
</div>
</body>
</html>

View File

@@ -1,27 +1,119 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ITAT Records</title>
<style>
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: #f8f9fa; padding: 20px; color: #333; }
.container { max-width: 95%; margin: auto; background: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
h2 { text-align: center; margin-bottom: 20px; }
.btn { padding: 8px 15px; border-radius: 5px; text-decoration: none; color: white; border: none; cursor: pointer; font-size: 14px; }
.btn-add { background-color: #28a745; display: inline-block; margin-bottom: 20px; }
.btn-update { background-color: #007bff; }
.btn-delete { background-color: #dc3545; }
.action-cell form { display: inline-block; margin-left: 5px; }
.table-wrapper { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; margin-top: 20px; }
th, td { padding: 12px; border: 1px solid #dee2e6; text-align: right; white-space: nowrap; }
th { background-color: #343a40; color: white; text-align: center; }
tr:nth-child(even) { background-color: #f2f2f2; }
td:first-child, th:first-child { text-align: left; }
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
background-color: #f8f9fa;
padding: 20px;
color: #333;
}
.container {
max-width: 95%;
margin: auto;
background: white;
padding: 30px;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
h2 {
text-align: center;
margin-bottom: 20px;
}
.btn {
padding: 8px 15px;
border-radius: 5px;
text-decoration: none;
color: white;
border: none;
cursor: pointer;
font-size: 14px;
}
.btn-add {
background-color: #28a745;
display: inline-block;
margin-bottom: 20px;
}
.btn-update {
background-color: #007bff;
}
.btn-delete {
background-color: #dc3545;
}
.action-cell form {
display: inline-block;
margin-left: 5px;
}
.table-wrapper {
overflow-x: auto;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
th,
td {
padding: 12px;
border: 1px solid #dee2e6;
text-align: right;
white-space: nowrap;
}
th {
background-color: #343a40;
color: white;
text-align: center;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
td:first-child,
th:first-child {
text-align: left;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>ITAT Records 📄</h2>
<a href="{{ url_for('add_itat') }}" class="btn btn-add"> Add New Record</a>
@@ -58,7 +150,8 @@
<a href="{{ url_for('update_itat', id=record.id) }}" class="btn btn-update">Edit</a>
<form action="{{ url_for('delete_itat', id=record.id) }}" method="post" onsubmit="return confirm('Are you sure you want to delete this record?');">
<form action="{{ url_for('delete_itat', id=record.id) }}" method="post"
onsubmit="return confirm('Are you sure you want to delete this record?');">
<button type="submit" class="btn btn-delete">Delete</button>
</form>
</td>
@@ -72,4 +165,5 @@
{% endif %}
</div>
</body>
</html>

View File

@@ -1,27 +1,118 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ITR Records</title>
<style>
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: #f8f9fa; padding: 20px; color: #333; }
.container { max-width: 95%; margin: auto; background: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
h2 { text-align: center; margin-bottom: 20px; }
.btn { padding: 8px 15px; border-radius: 5px; text-decoration: none; color: white; border: none; cursor: pointer; font-size: 14px; }
.btn-add { background-color: #28a745; display: inline-block; margin-bottom: 20px; }
.btn-update { background-color: #007bff; }
.btn-delete { background-color: #dc3545; }
.action-cell form { display: inline-block; margin-left: 5px; }
.table-wrapper { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; margin-top: 20px; }
th, td { padding: 12px; border: 1px solid #dee2e6; text-align: right; white-space: nowrap; }
th { background-color: #343a40; color: white; text-align: center; }
tr:nth-child(even) { background-color: #f2f2f2; }
td:first-child, th:first-child { text-align: left; }
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
background-color: #f8f9fa;
padding: 20px;
color: #333;
}
.container {
max-width: 95%;
margin: auto;
background: white;
padding: 30px;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
h2 {
text-align: center;
margin-bottom: 20px;
}
.btn {
padding: 8px 15px;
border-radius: 5px;
text-decoration: none;
color: white;
border: none;
cursor: pointer;
font-size: 14px;
}
.btn-add {
background-color: #28a745;
display: inline-block;
margin-bottom: 20px;
}
.btn-update {
background-color: #007bff;
}
.btn-delete {
background-color: #dc3545;
}
.action-cell form {
display: inline-block;
margin-left: 5px;
}
.table-wrapper {
overflow-x: auto;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
th,
td {
padding: 12px;
border: 1px solid #dee2e6;
text-align: right;
white-space: nowrap;
}
th {
background-color: #343a40;
color: white;
text-align: center;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
td:first-child,
th:first-child {
text-align: left;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Income Tax Return Records 🧾</h2>
<a href="{{ url_for('add_itr') }}" class="btn btn-add"> Add New Record</a>
@@ -49,7 +140,8 @@
<td class="action-cell">
<a href="{{ url_for('update_itr', id=record.id) }}" class="btn btn-update">Edit</a>
<form action="{{ url_for('delete_itr', id=record.id) }}" method="post" onsubmit="return confirm('Are you sure you want to delete this record?');">
<form action="{{ url_for('delete_itr', id=record.id) }}" method="post"
onsubmit="return confirm('Are you sure you want to delete this record?');">
<button type="submit" class="btn btn-delete">Delete</button>
</form>
</td>
@@ -63,4 +155,5 @@
{% endif %}
</div>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Dashboard | Income Tax Utilities</title>
@@ -10,12 +11,14 @@
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: #f4f7f6;
color: #333;
line-height: 1.6;
}
.container {
max-width: 750px;
margin: 50px auto;
@@ -24,6 +27,7 @@
border-radius: 12px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}
.header {
text-align: center;
margin-bottom: 40px;
@@ -31,9 +35,11 @@
color: #2c3e50;
font-weight: 600;
}
.section {
margin-bottom: 35px;
}
.section h3 {
font-size: 22px;
color: #0056b3;
@@ -41,13 +47,16 @@
padding-bottom: 10px;
border-bottom: 2px solid #e9ecef;
}
ul {
list-style: none;
padding-left: 5px;
}
li {
margin: 15px 0;
}
a {
display: block;
text-decoration: none;
@@ -59,26 +68,33 @@
transition: all 0.3s ease;
box-shadow: 0 4px 6px rgba(0, 123, 255, 0.1);
}
a:hover {
background-color: #0056b3;
transform: translateY(-2px) scale(1.01);
box-shadow: 0 6px 12px rgba(0, 91, 179, 0.2);
}
/* Responsive */
@media (max-width: 600px) {
.container {
margin: 20px;
padding: 25px;
}
.header {
font-size: 26px;
}
a {
font-size: 16px;
}
}
</style>
</head>
<body>
<div class="container">
<h2 class="header">Dashboard 🏛️</h2>
@@ -126,4 +142,5 @@
</div>
</div>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<title>ITAT Form Entry</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
@@ -74,6 +75,24 @@
background-color: #0056b3;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
@media (max-width: 600px) {
.container {
padding: 20px;
@@ -93,8 +112,12 @@
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>ITAT Form Entry</h2>
<form method="POST" onsubmit="return showSuccessMessage()">
<label>Year:</label>
@@ -123,4 +146,5 @@
}
</script>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<title>Download ITAT Reports</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
@@ -51,10 +52,34 @@
button:hover {
background-color: #0056b3;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Download ITAT Report</h2>
<form method="GET" action="{{ url_for('itat_report') }}" target="_blank">
@@ -71,4 +96,5 @@
</form>
</div>
</body>
</html>

View File

@@ -149,6 +149,23 @@
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
@media (max-width: 600px) {
@@ -191,6 +208,10 @@
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Income Tax Return Form</h2>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<title>Download ITR Reports</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
@@ -51,10 +52,33 @@
button:hover {
background-color: #0056b3;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Download ITR Report</h2>
<form method="GET" action="{{ url_for('itr_report') }}" target="_blank">
@@ -71,4 +95,5 @@
</form>
</div>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<title>Reports Of Stages</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
@@ -65,7 +66,9 @@
margin-top: 20px;
}
table, th, td {
table,
th,
td {
border: 1px solid #ccc;
}
@@ -108,16 +111,36 @@
}
ul li a:hover {
text-decorat
text-decoration: none;
}
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Reports</h2>
<ul>
<li><a href="/itr_report">→ View ITR Reports</a></li>
<li><a href="/ao_report">→ View AO Reports</a></li>
@@ -127,4 +150,5 @@
</div>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<title>{{ stage }} Reports</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
@@ -61,7 +62,8 @@
font-size: 15px;
}
th, td {
th,
td {
padding: 12px;
border: 1px solid #ddd;
text-align: left;
@@ -102,10 +104,32 @@
font-size: 16px;
margin-top: 20px;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>{{ stage }} Reports</h2>
<form method="GET">
@@ -143,4 +167,5 @@
{% endif %}
</div>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<title>Download Summary Report</title>
<style>
@@ -58,10 +59,33 @@
color: red;
margin-top: 15px;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Download Year-wise Summary Report</h2>
{% if message %}
@@ -80,4 +104,5 @@
</form>
</div>
</body>
</html>

View File

@@ -55,11 +55,31 @@
button:hover {
background-color: #0056b3;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Update AO Record for Year {{ record.year }}</h2>
<form method="POST" action="{{ url_for('update_ao', id=record.id) }}">
{% for field in record.keys() if field != 'id' %}

View File

@@ -55,11 +55,32 @@
button[type="submit"]:hover {
background-color: #0056b3;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Update CIT Record for Year {{ record.year }}</h2>
<form method="POST" action="{{ url_for('update_cit', id=record.id) }}">
{% for field in record.keys() if field != 'id' %}

View File

@@ -1,11 +1,16 @@
<!DOCTYPE html>
<html>
<head>
<title>Update ITAT Record</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Update ITAT Record for Year {{ record.year }}</h2>
<form method="POST" action="{{ url_for('update_itat', id=record.id) }}">
<label>Year:</label>
@@ -27,4 +32,5 @@
</form>
</div>
</body>
</html>

View File

@@ -1,13 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Update ITR Record</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
<style> /* ... your form styles ... */ </style>
<style>
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Update ITR Record for Year {{ record.year }}</h2>
<form method="POST" action="{{ url_for('update_itr', id=record.id) }}">
{% for field in record.keys() if field != 'id' %}
@@ -18,4 +40,5 @@
</form>
</div>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<title>Upload Documents</title>
<link rel="stylesheet" href="{{ url_for('static', filename='index.css') }}">
@@ -79,6 +80,24 @@
background-color: #0056b3;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
@media (max-width: 600px) {
.container {
padding: 20px;
@@ -88,7 +107,8 @@
font-size: 22px;
}
input, select {
input,
select {
font-size: 15px;
}
@@ -98,8 +118,13 @@
}
</style>
</head>
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Upload Income Tax Documents</h2>
<form method="POST" enctype="multipart/form-data">
<label for="year">Year:</label>
@@ -120,4 +145,5 @@
</form>
</div>
</body>
</html>

View File

@@ -98,6 +98,24 @@
text-decoration: underline;
}
/* Back button styling */
.back-btn {
display: inline-block;
margin-bottom: 20px;
padding: 10px 18px;
background: #6c757d;
color: white;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
text-decoration: none;
transition: background 0.3s ease;
}
.back-btn:hover {
background: #5a6268;
}
@media (max-width: 768px) {
form {
flex-direction: column;
@@ -113,6 +131,10 @@
<body>
<div class="container">
<!-- Back to Dashboard Button -->
<a href="{{ url_for('index') }}" class="back-btn">← Back to Dashboard</a>
<h2>Document Records</h2>
<form method="GET">

View File

@@ -1,6 +1,7 @@
<!-- templates/welcome.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Welcome - Laxmi Civil Engineering Pvt. Ltd</title>
@@ -44,12 +45,15 @@
}
</style>
</head>
<body>
<img src="https://tse1.mm.bing.net/th/id/OIP.fc5NZer25Y3YeS3Fd0PO9gAAAA?pid=Api&rs=1&c=1&qlt=95&w=92&h=92" class="logo" alt="Company Logo">
<img src="https://tse1.mm.bing.net/th/id/OIP.fc5NZer25Y3YeS3Fd0PO9gAAAA?pid=Api&rs=1&c=1&qlt=95&w=92&h=92"
class="logo" alt="Company Logo">
<h1>Welcome to Laxmi Civil Engineering Pvt. Ltd</h1>
<p>Income Tax Filing and Compliance</p>
<a href="{{ url_for('index') }}" class="enter-btn">Go To Dashboard</a>
</body>
</html>