Implement below page fully and also allow user to upload saparate jsons like GSTR1, GSTR2A,GSTR2B and GSTR3B josns in below page <!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>GST Returns Processor</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" />
    <script src="https://cdn.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/file-saver@2.0.5/dist/FileSaver.min.js"></script>
    <style>
        :root {
            --primary: #4361ee;
            --primary-dark: #3a0ca3;
            --secondary: #4cc9f0;
            --light: #f8f9fa;
            --dark: #212529;
            --success: #4cc9f0;
            --danger: #f72585;
            --warning: #f8961e;
            --info: #90e0ef;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: #f5f7ff;
            color: var(--dark);
        }

        .navbar {
            background-color: var(--primary);
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        }

        .navbar-brand {
            font-weight: 700;
            color: white !important;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
        }

        .card {
            border-radius: 10px;
            border: none;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            overflow: hidden;
            margin-bottom: 30px;
        }

        .card-header {
            background-color: var(--primary);
            color: white;
            font-weight: 600;
            padding: 15px 20px;
            border-bottom: none;
        }

        .card-body {
            padding: 25px;
        }

        .upload-container {
            border: 2px dashed #d1d1d1;
            border-radius: 10px;
            padding: 30px;
            text-align: center;
            background-color: #f8f9fa;
            transition: all 0.3s ease;
            cursor: pointer;
        }

        .upload-container:hover,
        .upload-container.dragover {
            border-color: var(--primary);
            background-color: rgba(67, 97, 238, 0.05);
        }

        .upload-icon {
            font-size: 48px;
            color: var(--primary);
            margin-bottom: 15px;
        }

        .btn-primary {
            background-color: var(--primary);
            border-color: var(--primary);
        }

        .btn-primary:hover {
            background-color: var(--primary-dark);
            border-color: var(--primary-dark);
        }

        .btn-outline-primary {
            color: var(--primary);
            border-color: var(--primary);
        }

        .btn-outline-primary:hover {
            background-color: var(--primary);
            border-color: var(--primary);
            color: white;
        }

        .file-list {
            max-height: 300px;
            overflow-y: auto;
            margin-top: 20px;
        }

        .file-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 12px 15px;
            background-color: #f8f9fa;
            border-radius: 8px;
            margin-bottom: 10px;
            transition: transform 0.2s ease;
            font-family: monospace;
        }

        .file-item:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
        }

        .file-name {
            font-weight: 500;
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
        }

        .file-badge {
            padding: 4px 10px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }

        .badge-gstr1 {
            background-color: rgba(67, 97, 238, 0.1);
            color: var(--primary);
        }

        .badge-gstr2a {
            background-color: rgba(76, 201, 240, 0.1);
            color: var(--secondary);
        }

        .badge-gstr3b {
            background-color: rgba(255, 183, 3, 0.15);
            color: var(--warning);
        }

        .progress {
            height: 8px;
            margin-top: 25px;
            border-radius: 4px;
        }

        .progress-bar {
            background-color: var(--primary);
        }

        .processing-status {
            display: none;
            margin-top: 20px;
            text-align: center;
        }

        .result-message {
            padding: 15px;
            border-radius: 8px;
            margin-top: 20px;
            display: none;
            font-weight: 600;
        }

        .result-success {
            background-color: rgba(76, 201, 240, 0.1);
            color: var(--success);
            border-left: 4px solid var(--success);
        }

        .result-error {
            background-color: rgba(247, 37, 133, 0.1);
            color: var(--danger);
            border-left: 4px solid var(--danger);
        }

        .result-warning {
            background-color: rgba(248, 163, 74, 0.15);
            color: var(--warning);
            border-left: 4px solid var(--warning);
        }

        .result-info {
            background-color: rgba(144, 224, 239, 0.15);
            color: var(--info);
            border-left: 4px solid var(--info);
        }

        .nav-tabs {
            border-bottom: 1px solid #dee2e6;
            margin-bottom: 20px;
        }

        .nav-tabs .nav-link {
            border: none;
            color: #6c757d;
            font-weight: 500;
            padding: 10px 15px;
            margin-right: 5px;
            transition: all 0.3s ease;
        }

        .nav-tabs .nav-link:hover {
            border: none;
            color: var(--primary);
        }

        .nav-tabs .nav-link.active {
            color: var(--primary);
            border: none;
            border-bottom: 3px solid var(--primary);
            background-color: transparent;
            font-weight: 600;
        }

        .report-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: 20px;
            margin-top: 20px;
        }

        .report-card {
            background-color: white;
            border-radius: 10px;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
            padding: 20px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            cursor: pointer;
            user-select: none;
        }

        .report-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
        }

        .report-icon {
            font-size: 32px;
            color: var(--primary);
            margin-bottom: 15px;
        }

        .report-title {
            font-size: 18px;
            font-weight: 600;
            margin-bottom: 10px;
            color: var(--dark);
        }

        .report-desc {
            font-size: 14px;
            color: #6c757d;
        }

        footer {
            background-color: white;
            text-align: center;
            padding: 20px;
            margin-top: 50px;
            border-top: 1px solid #eaeaea;
        }

        @keyframes pulse {
            0% {opacity: 0.6;}
            50% {opacity: 1;}
            100% {opacity: 0.6;}
        }

        .loading-pulse {
            animation: pulse 1.5s infinite ease-in-out;
        }
    </style>
</head>

<body>
    <nav class="navbar navbar-expand-lg navbar-dark" aria-label="Main navigation bar">
        <div class="container">
            <a class="navbar-brand" href="#">GST Returns Processor</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation menu">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav ms-auto" role="menubar">
                    <li class="nav-item" role="none">
                        <a class="nav-link active" href="#" role="menuitem" tabindex="-1">Home</a>
                    </li>
                    <li class="nav-item" role="none">
                        <a class="nav-link" href="#reports" role="menuitem" tabindex="-1">Reports</a>
                    </li>
                    <li class="nav-item" role="none">
                        <a class="nav-link" href="#help" role="menuitem" tabindex="-1">Help</a>
                    </li>
                </ul>
            </div>
        </div>
    </nav>

    <main class="container mt-4" role="main">
        <section class="row">
            <div class="col-lg-8 mx-auto">
                <div class="card" aria-label="Upload GST return files section">
                    <div class="card-header d-flex justify-content-between align-items-center">
                        <span>Upload GST Return Files</span>
                        <span class="badge bg-light text-dark" aria-label="Supported file types">Supports GSTR1, GSTR2A, GSTR3B</span>
                    </div>
                    <div class="card-body">
                        <div class="upload-container" id="upload-area" tabindex="0" role="button" aria-describedby="upload-instructions" aria-label="File upload area, supports drag and drop as well as browse">
                            <div class="upload-icon" aria-hidden="true">📂</div>
                            <h4 id="upload-instructions">Drag & Drop your GST JSON files here</h4>
                            <p class="text-muted mb-3">or</p>
                            <input type="file" id="file-input" multiple accept=".json" class="d-none" aria-label="Select GST JSON files to upload" />
                            <button class="btn btn-primary" type="button" aria-haspopup="dialog" id="browse-btn">Browse Files</button>
                            <p class="text-muted mt-3 small">Upload your GSTR1, GSTR2A, and GSTR3B JSON files to process and analyze</p>
                        </div>

                        <div class="file-list" id="file-list" aria-live="polite" aria-relevant="additions removals" aria-atomic="true">
                            <!-- Uploaded files will be listed here -->
                        </div>

                        <div class="progress" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-label="File processing progress" style="display:none" id="progress-container">
                            <div class="progress-bar" style="width: 0%;" id="progress-bar"></div>
                        </div>

                        <div class="processing-status" id="processing-status" aria-live="assertive" aria-busy="true">
                            <div class="spinner-border text-primary" role="status" aria-hidden="true">
                                <span class="visually-hidden">Processing...</span>
                            </div>
                            <p class="mt-2">Processing your GST returns data, please wait...</p>
                        </div>

                        <div class="result-message" id="result-message" role="alert" aria-live="assertive" aria-atomic="true">
                            <!-- Result message will appear here -->
                        </div>

                        <div class="d-flex justify-content-between mt-4">
                            <button class="btn btn-outline-danger" id="clear-btn">Clear All</button>
                            <div>
                                <button class="btn btn-outline-primary me-2" id="preview-btn" disabled>Preview Data</button>
                                <button class="btn btn-primary" id="process-btn" disabled>Process to Excel</button>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <section class="row mt-4" id="data-preview" style="display: none;" aria-label="Data preview section">
            <div class="col-12">
                <div class="card">
                    <div class="card-header">
                        <span>Data Preview</span>
                    </div>
                    <div class="card-body">
                        <ul class="nav nav-tabs" id="previewTabs" role="tablist">
                            <li class="nav-item" role="presentation">
                                <button class="nav-link active" id="gstr1-tab" data-bs-toggle="tab" data-bs-target="#gstr1-preview" type="button" role="tab" aria-controls="gstr1-preview" aria-selected="true">GSTR1</button>
                            </li>
                            <li class="nav-item" role="presentation">
                                <button class="nav-link" id="gstr2a-tab" data-bs-toggle="tab" data-bs-target="#gstr2a-preview" type="button" role="tab" aria-controls="gstr2a-preview" aria-selected="false">GSTR2A</button>
                            </li>
                            <li class="nav-item" role="presentation">
                                <button class="nav-link" id="gstr3b-tab" data-bs-toggle="tab" data-bs-target="#gstr3b-preview" type="button" role="tab" aria-controls="gstr3b-preview" aria-selected="false">GSTR3B</button>
                            </li>
                            <li class="nav-item" role="presentation">
                                <button class="nav-link" id="summary-tab" data-bs-toggle="tab" data-bs-target="#summary-preview" type="button" role="tab" aria-controls="summary-preview" aria-selected="false">Summary</button>
                            </li>
                        </ul>
                        <div class="tab-content" id="previewTabContent">
                            <div class="tab-pane fade show active" id="gstr1-preview" role="tabpanel" aria-labelledby="gstr1-tab">
                                <div class="table-responsive mt-3" style="max-height: 350px; overflow-y:auto;">
                                    <table class="table table-striped table-hover" id="gstr1-table" aria-describedby="GSTR1 invoices table">
                                        <thead class="table-light">
                                            <tr>
                                                <th scope="col">Customer GSTIN</th>
                                                <th scope="col">Invoice Number</th>
                                                <th scope="col">Invoice Date</th>
                                                <th scope="col">Invoice Value</th>
                                                <th scope="col">Taxable Value</th>
                                                <th scope="col">CGST</th>
                                                <th scope="col">SGST</th>
                                                <th scope="col">IGST</th>
                                                <th scope="col">Total Tax</th>
                                            </tr>
                                        </thead>
                                        <tbody></tbody>
                                    </table>
                                </div>
                            </div>

                            <div class="tab-pane fade" id="gstr2a-preview" role="tabpanel" aria-labelledby="gstr2a-tab">
                                <div class="table-responsive mt-3" style="max-height: 350px; overflow-y:auto;">
                                    <table class="table table-striped table-hover" id="gstr2a-table" aria-describedby="GSTR2A invoices table">
                                        <thead class="table-light">
                                            <tr>
                                                <th scope="col">Supplier GSTIN</th>
                                                <th scope="col">Invoice Number</th>
                                                <th scope="col">Invoice Date</th>
                                                <th scope="col">Invoice Value</th>
                                                <th scope="col">Taxable Value</th>
                                                <th scope="col">CGST</th>
                                                <th scope="col">SGST</th>
                                                <th scope="col">IGST</th>
                                                <th scope="col">Total Tax</th>
                                            </tr>
                                        </thead>
                                        <tbody></tbody>
                                    </table>
                                </div>
                            </div>

                            <div class="tab-pane fade" id="gstr3b-preview" role="tabpanel" aria-labelledby="gstr3b-tab">
                                <div class="table-responsive mt-3" style="max-height: 350px; overflow-y:auto;">
                                    <table class="table table-striped table-hover" id="gstr3b-table" aria-describedby="GSTR3B entries table">
                                        <thead class="table-light">
                                            <tr>
                                                <th scope="col">Description</th>
                                                <th scope="col">Taxable Value</th>
                                                <th scope="col">IGST</th>
                                                <th scope="col">CGST</th>
                                                <th scope="col">SGST</th>
                                                <th scope="col">Cess</th>
                                            </tr>
                                        </thead>
                                        <tbody></tbody>
                                    </table>
                                </div>
                            </div>

                            <div class="tab-pane fade" id="summary-preview" role="tabpanel" aria-labelledby="summary-tab">
                                <div class="row mt-3">
                                    <div class="col-md-6">
                                        <div class="card bg-light">
                                            <div class="card-body">
                                                <h5 class="card-title">GSTR1 Summary</h5>
                                                <div class="row">
                                                    <div class="col-6">
                                                        <p class="mb-1">Total Invoices:</p>
                                                        <h4 id="gstr1-invoice-count">0</h4>
                                                    </div>
                                                    <div class="col-6">
                                                        <p class="mb-1">Total Value:</p>
                                                        <h4 id="gstr1-total-value">₹0.00</h4>
                                                    </div>
                                                </div>
                                                <div class="row mt-3">
                                                    <div class="col-6">
                                                        <p class="mb-1">Total Tax:</p>
                                                        <h4 id="gstr1-total-tax">₹0.00</h4>
                                                    </div>
                                                    <div class="col-6">
                                                        <p class="mb-1">Taxable Value:</p>
                                                        <h4 id="gstr1-taxable-value">₹0.00</h4>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>

                                    <div class="col-md-6">
                                        <div class="card bg-light">
                                            <div class="card-body">
                                                <h5 class="card-title">GSTR2A Summary</h5>
                                                <div class="row">
                                                    <div class="col-6">
                                                        <p class="mb-1">Total Invoices:</p>
                                                        <h4 id="gstr2a-invoice-count">0</h4>
                                                    </div>
                                                    <div class="col-6">
                                                        <p class="mb-1">Total Value:</p>
                                                        <h4 id="gstr2a-total-value">₹0.00</h4>
                                                    </div>
                                                </div>
                                                <div class="row mt-3">
                                                    <div class="col-6">
                                                        <p class="mb-1">Total Tax:</p>
                                                        <h4 id="gstr2a-total-tax">₹0.00</h4>
                                                    </div>
                                                    <div class="col-6">
                                                        <p class="mb-1">Taxable Value:</p>
                                                        <h4 id="gstr2a-taxable-value">₹0.00</h4>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>

                                <div class="row mt-3">
                                    <div class="col-md-6">
                                        <div class="card bg-light">
                                            <div class="card-body">
                                                <h5 class="card-title">GSTR3B Summary</h5>
                                                <div class="row">
                                                    <div class="col-6">
                                                        <p class="mb-1">Total Output Tax:</p>
                                                        <h4 id="gstr3b-output-tax">₹0.00</h4>
                                                    </div>
                                                    <div class="col-6">
                                                        <p class="mb-1">Total ITC:</p>
                                                        <h4 id="gstr3b-total-itc">₹0.00</h4>
                                                    </div>
                                                </div>
                                                <div class="row mt-3">
                                                    <div class="col-6">
                                                        <p class="mb-1">Tax Paid:</p>
                                                        <h4 id="gstr3b-tax-paid">₹0.00</h4>
                                                    </div>
                                                    <div class="col-6">
                                                        <p class="mb-1">ITC Utilized:</p>
                                                        <h4 id="gstr3b-itc-utilized">₹0.00</h4>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>

                                    <div class="col-md-6">
                                        <div class="card bg-light">
                                            <div class="card-body">
                                                <h5 class="card-title">Reconciliation Summary</h5>
                                                <div class="row">
                                                    <div class="col-6">
                                                        <p class="mb-1">GSTR1 vs GSTR3B:</p>
                                                        <h4 id="reconciliation-1-3b">-</h4>
                                                    </div>
                                                    <div class="col-6">
                                                        <p class="mb-1">GSTR2A vs ITC:</p>
                                                        <h4 id="reconciliation-2a-itc">-</h4>
                                                    </div>
                                                </div>
                                                <div class="row mt-3">
                                                    <div class="col-12">
                                                        <p class="mb-1">Status:</p>
                                                        <h4 id="reconciliation-status">-</h4>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <section class="row mt-4" id="reports" aria-label="MIS reports section">
            <div class="col-12">
                <div class="card">
                    <div class="card-header">
                        <span>Available MIS Reports</span>
                    </div>
                    <div class="card-body">
                        <p>Generate detailed MIS reports from your GST data for better insights and compliance:</p>

                        <div class="report-grid" role="list">
                            <div class="report-card" role="listitem" tabindex="0" onclick="generateReport('b2b-invoice-matching')" onkeypress="if(event.key==='Enter'){generateReport('b2b-invoice-matching')}">
                                <div class="report-icon" aria-hidden="true">📋</div>
                                <div class="report-title">B2B Invoice Matching</div>
                                <div class="report-desc">Match invoices between GSTR1 and GSTR2A for reconciliation</div>
                            </div>

                            <div class="report-card" role="listitem" tabindex="0" onclick="generateReport('hsn-summary')" onkeypress="if(event.key==='Enter'){generateReport('hsn-summary')}">
                                <div class="report-icon" aria-hidden="true">📊</div>
                                <div class="report-title">HSN Summary Report</div>
                                <div class="report-desc">Summary of supplies based on HSN codes with tax details</div>
                            </div>

                            <div class="report-card" role="listitem" tabindex="0" onclick="generateReport('itc-eligibility')" onkeypress="if(event.key==='Enter'){generateReport('itc-eligibility')}">
                                <div class="report-icon" aria-hidden="true">💰</div>
                                <div class="report-title">ITC Eligibility Report</div>
                                <div class="report-desc">Analyze eligible and ineligible input tax credits</div>
                            </div>

                            <div class="report-card" role="listitem" tabindex="0" onclick="generateReport('tax-liability')" onkeypress="if(event.key==='Enter'){generateReport('tax-liability')}">
                                <div class="report-icon" aria-hidden="true">📝</div>
                                <div class="report-title">Tax Liability Analysis</div>
                                <div class="report-desc">Detailed breakdown of tax liabilities by tax type</div>
                            </div>

                            <div class="report-card" role="listitem" tabindex="0" onclick="generateReport('e-invoice-status')" onkeypress="if(event.key==='Enter'){generateReport('e-invoice-status')}">
                                <div class="report-icon" aria-hidden="true">🧾</div>
                                <div class="report-title">E-Invoice Status Report</div>
                                <div class="report-desc">Track e-invoice implementation and compliance status</div>
                            </div>

                            <div class="report-card" role="listitem" tabindex="0" onclick="generateReport('vendor-compliance')" onkeypress="if(event.key==='Enter'){generateReport('vendor-compliance')}">
                                <div class="report-icon" aria-hidden="true">🔍</div>
                                <div class="report-title">Vendor Compliance Report</div>
                                <div class="report-desc">Monitor filing status and compliance of your vendors</div>
                            </div>

                            <div class="report-card" role="listitem" tabindex="0" onclick="generateReport('gstr1-gstr3b-reconciliation')" onkeypress="if(event.key==='Enter'){generateReport('gstr1-gstr3b-reconciliation')}">
                                <div class="report-icon" aria-hidden="true">🔄</div>
                                <div class="report-title">GSTR1 vs GSTR3B Reconciliation</div>
                                <div class="report-desc">Identify mismatches between GSTR1 and GSTR3B filings</div>
                            </div>

                            <div class="report-card" role="listitem" tabindex="0" onclick="generateReport('reverse-charge')" onkeypress="if(event.key==='Enter'){generateReport('reverse-charge')}">
                                <div class="report-icon" aria-hidden="true">↩️</div>
                                <div class="report-title">Reverse Charge Report</div>
                                <div class="report-desc">Analysis of purchases under reverse charge mechanism</div>
                            </div>

                            <div class="report-card" role="listitem" tabindex="0" onclick="generateReport('custom-report')" onkeypress="if(event.key==='Enter'){generateReport('custom-report')}">
                                <div class="report-icon" aria-hidden="true">⚙️</div>
                                <div class="report-title">Custom Report</div>
                                <div class="report-desc">Create your own customized report with specific parameters</div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <section id="help" class="mt-4" aria-label="Help section" style="min-height:100px;">
            <!-- You can add help or documentation content here -->
        </section>
    </main>

    <footer>
        <div class="container">
            <p>© 2024 GST Returns Processor | All Rights Reserved</p>
        </div>
    </footer>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
    <script>
        // DOM Elements
        const uploadArea = document.getElementById('upload-area');
        const fileInput = document.getElementById('file-input');
        const fileList = document.getElementById('file-list');
        const progressBar = document.getElementById('progress-bar');
        const processingStatus = document.getElementById('processing-status');
        const resultMessage = document.getElementById('result-message');
        const clearBtn = document.getElementById('clear-btn');
        const processBtn = document.getElementById('process-btn');
        const previewBtn = document.getElementById('preview-btn');
        const dataPreview = document.getElementById('data-preview');
        const progressContainer = document.getElementById('progress-container');
        const browseBtn = document.getElementById('browse-btn');

        // Store uploaded files
        let uploadedFiles = [];

        // Utility function: sanitize strings for display - basic escaping
        function escapeHTML(str) {
            return str.replace(/[&<>"']/g, (match) => {
                const escape = { '&': "&amp;", '<': "&lt;", '>': "&gt;", '"': "&quot;", "'": "&#039;" };
                return escape[match];
            });
        }

        // Event Listeners for drag and drop
        ['dragenter', 'dragover', 'dragleave', 'drop'].forEach(eventName => {
            uploadArea.addEventListener(eventName, preventDefaults, false);
        });

        function preventDefaults(e) {
            e.preventDefault();
            e.stopPropagation();
        }

        ['dragenter', 'dragover'].forEach(eventName => {
            uploadArea.addEventListener(eventName, highlight, false);
        });

        ['dragleave', 'drop'].forEach(eventName => {
            uploadArea.addEventListener(eventName, unhighlight, false);
        });

        function highlight() {
            uploadArea.classList.add('dragover');
        }

        function unhighlight() {
            uploadArea.classList.remove('dragover');
        }

        // Handle file drop
        uploadArea.addEventListener('drop', handleDrop, false);

        function handleDrop(e) {
            const files = e.dataTransfer.files;
            handleFiles(files);
        }

        // Handle file input change
        fileInput.addEventListener('change', function () {
            handleFiles(this.files);
            fileInput.value = ''; // Reset input to allow re-upload same files if needed
        });

        // Browse button triggers file input click
        browseBtn.addEventListener('click', () => fileInput.click());

        // Process files to upload and parse JSON
        function handleFiles(files) {
            if (!files || files.length === 0) return;

            // Process each file asynchronously for better UX
            Array.from(files).forEach(async (file) => {
                if (
                    file.type === "application/json" ||
                    file.name.toLowerCase().endsWith('.json')
                ) {
                    const fileText = await readFileAsText(file);

                    try {
                        const jsonData = JSON.parse(fileText);
                        let fileType = determineGstFileType(jsonData);
                        if (!fileType) {
                            showResult(`Error: File "${escapeHTML(file.name)}" does not seem to be a valid GST return file.`, 'danger');
                            return;
                        }

                        const newPeriod = getPeriodFromFile(jsonData, fileType);

                        // Check if same type & same period file exists and replace it
                        // Otherwise allow multiple files of different periods
                        let replaced = false;
                        uploadedFiles = uploadedFiles.filter(existingFile => {
                            if (
                                existingFile.type === fileType &&
                                getPeriodFromFile(existingFile.data, fileType) === newPeriod
                            ) {
                                removeFileFromList(existingFile.name);
                                replaced = true;
                                return false; // remove this existing file
                            }
                            return true;
                        });

                        addFileToList(file.name, fileType);
                        uploadedFiles.push({ name: file.name, type: fileType, data: jsonData });

                        if (replaced) {
                            showResult(`Warning: Replaced previously uploaded ${fileType.toUpperCase()} file for the same period (${newPeriod}).`, 'warning');
                        } else {
                            showResult(`Uploaded ${fileType.toUpperCase()} file "${escapeHTML(file.name)}" successfully.`, 'success');
                        }

                        updateButtonStates();
                    } catch (error) {
                        showResult(`Error parsing JSON from file "${escapeHTML(file.name)}": ${error.message}`, 'danger');
                    }
                } else {
                    showResult(`Error: File "${escapeHTML(file.name)}" is not a valid JSON file. Please upload a JSON file.`, 'danger');
                }
            });
        }

        // Read file as text returning a Promise
        function readFileAsText(file) {
            return new Promise((resolve, reject) => {
                const reader = new FileReader();
                reader.onload = () => resolve(reader.result);
                reader.onerror = () => reject(reader.error);
                reader.readAsText(file);
            });
        }

        // Determine the GST file type from the JSON structure
        // Updated detection based on actual sample JSON files:
        // GSTR1: has b2b array and no cdn array
        // GSTR2A: has b2b array and cdn array
        // GSTR3B: has sup_details or itc_elg keys
        function determineGstFileType(data) {
            if (data && typeof data === 'object') {
                if (Array.isArray(data.b2b) && !data.cdn) {
                    return 'gstr1';
                }
                if (Array.isArray(data.b2b) && Array.isArray(data.cdn)) {
                    return 'gstr2a';
                }
                if (data.sup_details || data.itc_elg) {
                    return 'gstr3b';
                }
            }
            return null;
        }

        // Safely extract period (yyyy-mm) from file data based on type
        // Return as string 'YYYY-MM' or null if can't determine
        function getPeriodFromFile(data, type) {
            try {
                if (type === 'gstr1') {
                    if (Array.isArray(data.b2b) && data.b2b.length > 0) {
                        const invArr = data.b2b[0].inv;
                        if (Array.isArray(invArr) && invArr.length > 0 && invArr[0].idt) {
                            // idt format usually "dd-mm-yyyy" or "yyyy-mm-dd"
                            return extractPeriodFromDate(invArr[0].idt);
                        }
                    }
                }
                if (type === 'gstr2a') {
                    if (Array.isArray(data.b2b) && data.b2b.length > 0 && Array.isArray(data.cdn)) {
                        // Use date from first invoice in b2b array
                        const invArr = data.b2b[0].inv;
                        if (Array.isArray(invArr) && invArr.length > 0 && invArr[0].idt) {
                            return extractPeriodFromDate(invArr[0].idt);
                        }
                    }
                }
                if (type === 'gstr3b') {
                    if (data.sup_details) {
                        // No direct date, use ret_period if available
                        if (data.ret_period && data.ret_period.length === 6) {
                            return data.ret_period.slice(0, 4) + '-' + data.ret_period.slice(4, 6);
                        }
                    }
                }
            } catch {
                return null;
            }
            return null;
        }

        // Extract "YYYY-MM" from a date string in formats like 'dd-mm-yyyy' or 'yyyy-mm-dd'
        // Tries multiple formats safely
        function extractPeriodFromDate(dateStr) {
            if (!dateStr || typeof dateStr !== 'string') return null;
            // Attempt dd-mm-yyyy
            const parts = dateStr.split('-');
            if (parts.length === 3) {
                if (parts[2].length === 4) {
                    // dd-mm-yyyy
                    return `${parts[2]}-${parts[1].padStart(2, '0')}`;
                } else if (parts[0].length === 4) {
                    // yyyy-mm-dd
                    return `${parts[0]}-${parts[1].padStart(2, '0')}`;
                }
            }
            // If unknown format, return null
            return null;
        }

        // Add file to the UI list
        function addFileToList(fileName, fileType) {
            const fileItem = document.createElement('div');
            fileItem.className = 'file-item';
            fileItem.dataset.filename = fileName;

            const badgeClass = fileType === 'gstr1' ? 'badge-gstr1' : fileType === 'gstr2a' ? 'badge-gstr2a' : 'badge-gstr3b';

            // Sanitize the filename before inserting
            fileItem.innerHTML = `
                <div class="file-name">
                    <span>${escapeHTML(fileName)}</span>
                    <span class="file-badge ${badgeClass}">${fileType.toUpperCase()}</span>
                </div>
                <button type="button" class="btn btn-sm btn-outline-danger" aria-label="Remove ${escapeHTML(fileName)}" title="Remove" onclick="removeFile('${escapeForJS(fileName)}')">Remove</button>
            `;
            fileList.appendChild(fileItem);
        }

        // Escape string for usage inside JS strings (in onclick)
        function escapeForJS(str) {
            return str.replace(/'/g, "\\'");
        }

        // Remove file record from UI list by fileName
        function removeFileFromList(fileName) {
            const fileItems = fileList.querySelectorAll('.file-item');
            fileItems.forEach(item => {
                if (item.dataset.filename === fileName) {
                    fileList.removeChild(item);
                }
            });
        }

        // Remove a file - both UI and data model
        function removeFile(fileName) {
            uploadedFiles = uploadedFiles.filter(file => file.name !== fileName);
            removeFileFromList(fileName);
            updateButtonStates();
            // Hide preview if no files left
            if (uploadedFiles.length === 0) {
                dataPreview.style.display = 'none';
            }
            showResult(`Removed file "${escapeHTML(fileName)}".`, 'info');
        }

        // Clear all uploaded files
        clearBtn.addEventListener('click', () => {
            uploadedFiles = [];
            fileList.innerHTML = '';
            dataPreview.style.display = 'none';
            updateButtonStates();
            showResult('All files cleared.', 'info');
        });

        // Enable/disable buttons based on uploaded files
        function updateButtonStates() {
            const loadedFileCount = uploadedFiles.length;
            previewBtn.disabled = loadedFileCount === 0;
            processBtn.disabled = loadedFileCount === 0;
        }

        // Show messages with various types
        function showResult(message, type) {
            if (!['success', 'danger', 'warning', 'info'].includes(type)) type = 'info'; // Default

            // Map type to alert classes
            const alertClass =
                type === 'success' ? 'alert-success result-success' :
                type === 'danger' ? 'alert-danger result-error' :
                type === 'warning' ? 'alert-warning result-warning' :
                'alert-info result-info';

            resultMessage.className = `result-message alert ${alertClass}`;
            resultMessage.innerHTML = message;
            resultMessage.style.display = 'block';

            // Clear previous timer if any
            if (resultMessage.hideTimeout) clearTimeout(resultMessage.hideTimeout);

            // Auto-hide except for danger errors (stay longer)
            const timeout = type === 'danger' ? 7000 : 4000;
            resultMessage.hideTimeout = setTimeout(() => {
                resultMessage.style.display = 'none';
            }, timeout);
        }

        // Preview data button click event
        previewBtn.addEventListener('click', () => {
            dataPreview.style.display = 'block';
            populatePreviewData();
            // Switch to first tab
            const gstr1Tab = new bootstrap.Tab(document.getElementById('gstr1-tab'));
            gstr1Tab.show();
        });

        // Populate preview data tables and summary
        function populatePreviewData() {
            const gstr1DataRaw = uploadedFiles.find(file => file.type === 'gstr1')?.data?.b2b || [];
            const gstr2aDataRaw = uploadedFiles.find(file => file.type === 'gstr2a')?.data?.b2b || [];
            const gstr3bDataRaw = uploadedFiles.find(file => file.type === 'gstr3b')?.data || {};

            // Populate GSTR1 Table
            populateGstr1Table(gstr1DataRaw);

            // Populate GSTR2A Table
            populateGstr2aTable(gstr2aDataRaw);

            // Populate GSTR3B Table
            populateGstr3bTable(gstr3bDataRaw);

            // Populate Summary
            populateSummary(gstr1DataRaw, gstr2aDataRaw, gstr3bDataRaw);
        }

        // Populate GSTR1 Table - typical b2b array, each with inv array
        function populateGstr1Table(b2bData) {
            const tbody = document.querySelector('#gstr1-table tbody');
            tbody.innerHTML = '';

            // Defensive: Could be empty arrays
            b2bData.forEach(b2bItem => {
                if (!Array.isArray(b2bItem.inv)) return;
                b2bItem.inv.forEach(inv => {
                    // Ensure necessary properties exist with fallback defaults
                    const ctin = inv.ctin || '';
                    const inum = inv.inum || '';
                    const idt = inv.idt || '';
                    const val = safeParseFloat(inv.val);
                    const txval = safeParseFloat(inv.txval);
                    const camt = safeParseFloat(inv.camt);
                    const samt = safeParseFloat(inv.samt);
                    const iamt = safeParseFloat(inv.iamt);
                    const totalTax = camt + samt + iamt;

                    const row = document.createElement('tr');
                    row.innerHTML = `
                        <td>${escapeHTML(ctin)}</td>
                        <td>${escapeHTML(inum)}</td>
                        <td>${escapeHTML(idt)}</td>
                        <td>₹${val.toFixed(2)}</td>
                        <td>₹${txval.toFixed(2)}</td>
                        <td>₹${camt.toFixed(2)}</td>
                        <td>₹${samt.toFixed(2)}</td>
                        <td>₹${iamt.toFixed(2)}</td>
                        <td>₹${totalTax.toFixed(2)}</td>
                    `;
                    tbody.appendChild(row);
                });
            });
        }

        // Populate GSTR2A Table - updated for b2b and cdn arrays
        function populateGstr2aTable(b2bData) {
            const tbody = document.querySelector('#gstr2a-table tbody');
            tbody.innerHTML = '';

            // Populate invoices from b2b array
            b2bData.forEach(b2bItem => {
                if (!Array.isArray(b2bItem.inv)) return;
                b2bItem.inv.forEach(inv => {
                    const ctin = b2bItem.ctin || ''; // Supplier GSTIN usually in b2b item
                    const inum = inv.inum || '';
                    const idt = inv.idt || '';
                    const val = safeParseFloat(inv.val);

                    // Sum tax values from itms array
                    let txval = 0, camt = 0, samt = 0, iamt = 0;
                    if (Array.isArray(inv.itms)) {
                        inv.itms.forEach(item => {
                            const itm_det = item.itm_det || {};
                            txval += safeParseFloat(itm_det.txval);
                            camt += safeParseFloat(itm_det.camt);
                            samt += safeParseFloat(itm_det.samt);
                            iamt += safeParseFloat(itm_det.iamt);
                        });
                    }
                    const totalTax = camt + samt + iamt;

                    const row = document.createElement('tr');
                    row.innerHTML = `
                        <td>${escapeHTML(ctin)}</td>
                        <td>${escapeHTML(inum)}</td>
                        <td>${escapeHTML(idt)}</td>
                        <td>₹${val.toFixed(2)}</td>
                        <td>₹${txval.toFixed(2)}</td>
                        <td>₹${camt.toFixed(2)}</td>
                        <td>₹${samt.toFixed(2)}</td>
                        <td>₹${iamt.toFixed(2)}</td>
                        <td>₹${totalTax.toFixed(2)}</td>
                    `;
                    tbody.appendChild(row);
                });
            });

            // Optionally, could add credit/debit notes from cdn array if needed
            // For now, ignoring cdn array in preview table
        }

        // Populate GSTR3B Table - updated for sup_details and itc_elg structure
        function populateGstr3bTable(data) {
            const tbody = document.querySelector('#gstr3b-table tbody');
            tbody.innerHTML = '';

            // For demo, show sup_details osup_det values as rows
            if (data.sup_details && data.sup_details.osup_det) {
                const osup = data.sup_details.osup_det;
                const row = document.createElement('tr');
                row.innerHTML = `
                    <td>Output Supplies</td>
                    <td>₹${safeParseFloat(osup.txval).toFixed(2)}</td>
                    <td>₹${safeParseFloat(osup.iamt).toFixed(2)}</td>
                    <td>₹${safeParseFloat(osup.camt).toFixed(2)}</td>
                    <td>₹${safeParseFloat(osup.samt).toFixed(2)}</td>
                    <td>₹${safeParseFloat(osup.csamt).toFixed(2)}</td>
                `;
                tbody.appendChild(row);
            }

            // Could add more rows for other sup_details or itc_elg if needed
        }

        // Safe parse float helper, treats NaN as 0
        function safeParseFloat(val) {
            let num = Number(val);
            return isNaN(num) ? 0 : num;
        }

        // Populate summary section with totals and reconciliations
        function populateSummary(gstr1Data, gstr2aData, gstr3bData) {
            // GSTR1 Summary
            let gstr1InvoiceCount = 0;
            let gstr1TotalValue = 0;
            let gstr1TotalTax = 0;
            let gstr1TaxableValue = 0;

            gstr1Data.forEach(b2b => {
                if (Array.isArray(b2b.inv)) {
                    b2b.inv.forEach(inv => {
                        gstr1InvoiceCount++;
                        const val = safeParseFloat(inv.val);
                        const txval = safeParseFloat(inv.txval);
                        const camt = safeParseFloat(inv.camt);
                        const samt = safeParseFloat(inv.samt);
                        const iamt = safeParseFloat(inv.iamt);

                        gstr1TotalValue += val;
                        gstr1TaxableValue += txval;
                        gstr1TotalTax += camt + samt + iamt;
                    });
                }
            });

            // GSTR2A Summary
            let gstr2aInvoiceCount = 0;
            let gstr2aTotalValue = 0;
            let gstr2aTotalTax = 0;
            let gstr2aTaxableValue = 0;

            gstr2aData.forEach(b2b => {
                if (Array.isArray(b2b.inv)) {
                    b2b.inv.forEach(inv => {
                        gstr2aInvoiceCount++;
                        const val = safeParseFloat(inv.val);
                        const txval = safeParseFloat(inv.txval);
                        const camt = safeParseFloat(inv.camt);
                        const samt = safeParseFloat(inv.samt);
                        const iamt = safeParseFloat(inv.iamt);

                        gstr2aTotalValue += val;
                        gstr2aTaxableValue += txval;
                        gstr2aTotalTax += camt + samt + iamt;
                    });
                }
            });

            // GSTR3B Summary
            let gstr3bOutputTax = 0;
            let gstr3bTotalItc = 0;
            let gstr3bTaxPaid = 0;
            let gstr3bItcUtilized = 0;

            if (gstr3bData.sup_details && gstr3bData.itc_elg) {
                const supDetails = gstr3bData.sup_details;
                const itcElg = gstr3bData.itc_elg;

                gstr3bOutputTax = safeParseFloat(supDetails.osup_det.txval || 0);
                gstr3bTotalItc = safeParseFloat(itcElg.itc_net.camt || 0) + safeParseFloat(itcElg.itc_net.samt || 0) + safeParseFloat(itcElg.itc_net.iamt || 0) + safeParseFloat(itcElg.itc_net.csamt || 0);
                gstr3bTaxPaid = safeParseFloat(gstr3bData.taxpayble?.tax_paid?.pd_by_itc?.reduce((acc, cur) => acc + (cur.sgst_sgst_amt || 0) + (cur.cgst_cgst_amt || 0) + (cur.igst_igst_amt || 0), 0) || 0);
                gstr3bItcUtilized = gstr3bTotalItc; // Approximate
            }

            // Update summary UI
            document.getElementById('gstr1-invoice-count').innerText = gstr1InvoiceCount;
            document.getElementById('gstr1-total-value').innerText = `₹${gstr1TotalValue.toFixed(2)}`;
            document.getElementById('gstr1-total-tax').innerText = `₹${gstr1TotalTax.toFixed(2)}`;
            document.getElementById('gstr1-taxable-value').innerText = `₹${gstr1TaxableValue.toFixed(2)}`;

            document.getElementById('gstr2a-invoice-count').innerText = gstr2aInvoiceCount;
            document.getElementById('gstr2a-total-value').innerText = `₹${gstr2aTotalValue.toFixed(2)}`;
            document.getElementById('gstr2a-total-tax').innerText = `₹${gstr2aTotalTax.toFixed(2)}`;
            document.getElementById('gstr2a-taxable-value').innerText = `₹${gstr2aTaxableValue.toFixed(2)}`;

            document.getElementById('gstr3b-output-tax').innerText = `₹${gstr3bOutputTax.toFixed(2)}`;
            document.getElementById('gstr3b-total-itc').innerText = `₹${gstr3bTotalItc.toFixed(2)}`;
            document.getElementById('gstr3b-tax-paid').innerText = `₹${gstr3bTaxPaid.toFixed(2)}`;
            document.getElementById('gstr3b-itc-utilized').innerText = `₹${gstr3bItcUtilized.toFixed(2)}`;

            // Reconciliation logic
            const gstr1VsGstr3b = almostEqual(gstr1TotalTax, gstr3bOutputTax) ? 'Balanced' : 'Unbalanced';
            const gstr2aVsItc = almostEqual(gstr2aTotalTax, gstr3bTotalItc) ? 'Balanced' : 'Unbalanced';
            const reconciliationStatus = gstr1VsGstr3b === 'Balanced' && gstr2aVsItc === 'Balanced' ? 'All Balanced' : 'Some Unbalanced';

            document.getElementById('reconciliation-1-3b').innerText = gstr1VsGstr3b;
            document.getElementById('reconciliation-2a-itc').innerText = gstr2aVsItc;
            document.getElementById('reconciliation-status').innerText = reconciliationStatus;
        }

        // Floating-point comparison helper considering floating point precision errors
        function almostEqual(a, b, epsilon = 0.01) {
            return Math.abs(a - b) < epsilon;
        }

        // Process and export to Excel
        processBtn.addEventListener('click', async () => {
            processingStatus.style.display = 'flex';
            progressContainer.style.display = 'block';
            progressBar.style.width = '0%';
            processBtn.disabled = true;
            previewBtn.disabled = true;
            clearBtn.disabled = true;

            // Simulated progress
            let progress = 0;
            let intervalId = setInterval(() => {
                if (progress < 70) {
                    progress += 10 + Math.random() * 10;
                    if (progress > 70) progress = 70;
                    progressBar.style.width = progress + '%';
                }
            }, 300);

            try {
                await new Promise(r => setTimeout(r, 1500)); // fake delay

                const workbook = XLSX.utils.book_new();

                // Prepare sheets
                const gstr1Data = uploadedFiles.find(file => file.type === 'gstr1')?.data?.b2b || [];
                const gstr2aData = uploadedFiles.find(file => file.type === 'gstr2a')?.data?.b2bur || [];
                const gstr3bData = uploadedFiles.find(file => file.type === 'gstr3b')?.data?.cdnr || [];

                const gstr1SheetData = flattenGstr1Data(gstr1Data);
                const gstr2aSheetData = flattenGstr2aData(gstr2aData);
                const gstr3bSheetData = flattenGstr3bData(gstr3bData);

                if (gstr1SheetData.length) {
                    const ws1 = XLSX.utils.json_to_sheet(gstr1SheetData);
                    XLSX.utils.book_append_sheet(workbook, ws1, 'GSTR1');
                }

                if (gstr2aSheetData.length) {
                    const ws2 = XLSX.utils.json_to_sheet(gstr2aSheetData);
                    XLSX.utils.book_append_sheet(workbook, ws2, 'GSTR2A');
                }

                if (gstr3bSheetData.length) {
                    const ws3 = XLSX.utils.json_to_sheet(gstr3bSheetData);
                    XLSX.utils.book_append_sheet(workbook, ws3, 'GSTR3B');
                }

                XLSX.writeFile(workbook, `GST_Returns_Processed_${new Date().toISOString().slice(0, 10)}.xlsx`);

                showResult('Your GST returns data has been successfully processed and exported to an Excel file.', 'success');
            } catch (error) {
                showResult(`Error processing files: ${error.message}`, 'danger');
            } finally {
                processingStatus.style.display = 'none';
                progressContainer.style.display = 'none';
                progressBar.style.width = '0%';
                processBtn.disabled = false;
                previewBtn.disabled = uploadedFiles.length === 0;
                clearBtn.disabled = false;
                clearInterval(intervalId);
            }
        });

        // Flatten GSTR1 data into simple array of invoice objects for Excel
        function flattenGstr1Data(b2bData) {
            const flat = [];
            b2bData.forEach(b2b => {
                if (!Array.isArray(b2b.inv)) return;
                b2b.inv.forEach(inv => {
                    flat.push({
                        'Customer GSTIN': inv.ctin || '',
                        'Invoice Number': inv.inum || '',
                        'Invoice Date': inv.idt || '',
                        'Invoice Value': safeParseFloat(inv.val),
                        'Taxable Value': safeParseFloat(inv.txval),
                        'CGST': safeParseFloat(inv.camt),
                        'SGST': safeParseFloat(inv.samt),
                        'IGST': safeParseFloat(inv.iamt),
                        'Total Tax': safeParseFloat(inv.camt) + safeParseFloat(inv.samt) + safeParseFloat(inv.iamt),
                    });
                });
            });
            return flat;
        }

        // Flatten GSTR2A data similarly
        function flattenGstr2aData(b2burData) {
            const flat = [];
            b2burData.forEach(b2bur => {
                if (!Array.isArray(b2bur.inv)) return;
                b2bur.inv.forEach(inv => {
                    flat.push({
                        'Supplier GSTIN': b2bur.ctin || '',
                        'Invoice Number': inv.inum || '',
                        'Invoice Date': inv.idt || '',
                        'Invoice Value': safeParseFloat(inv.val),
                        'Taxable Value': safeParseFloat(inv.txval),
                        'CGST': safeParseFloat(inv.camt),
                        'SGST': safeParseFloat(inv.samt),
                        'IGST': safeParseFloat(inv.iamt),
                        'Total Tax': safeParseFloat(inv.camt) + safeParseFloat(inv.samt) + safeParseFloat(inv.iamt),
                    });
                });
            });
            return flat;
        }

        // Flatten GSTR3B data for Excel export (approximate, as structure can vary)
        // Using 'nt' array inside cdnr for rows, else empty array
        function flattenGstr3bData(cdnrData) {
            const flat = [];
            cdnrData.forEach(cdnr => {
                if (!Array.isArray(cdnr.nt)) return;
                cdnr.nt.forEach(nt => {
                    flat.push({
                        'Description': nt.ntty || nt.ntr || 'N/A',
                        'Taxable Value': safeParseFloat(nt.txval || 0),
                        'IGST': safeParseFloat(nt.iamt || 0),
                        'CGST': safeParseFloat(nt.camt || 0),
                        'SGST': safeParseFloat(nt.samt || 0),
                        'Cess': safeParseFloat(nt.csamt || 0),
                    });
                });
            });
            return flat;
        }

        // Generate MIS Report - placeholder
        function generateReport(reportType) {
            showResult(`Generating ${toTitleCase(reportType.replace(/-/g, ' '))}...`, 'info');

            // Simulate generation time
            setTimeout(() => {
                showResult('Report generated successfully!', 'success');
            }, 2000);
        }

        // Utility: Convert dash-case or snake_case to Title Case
        function toTitleCase(str) {
            return str.replace(/[_-]/g, ' ').replace(/\w\S*/g, txt =>
                txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase()
            );
        }

        // Initialize on page load
        (function init() {
            updateButtonStates();

            // Accessibility: allow keyboard to open file dialog on upload area
            uploadArea.addEventListener('keydown', e => {
                if (e.key === 'Enter' || e.key === ' ') {
                    e.preventDefault();
                    fileInput.click();
                }
            });
        })();
    </script>
</body>

</html> and formats of jsons as below GSTR1: {"gstin":"29AJQPG9397P1ZT","fp":"032024","filing_typ":"M","gt":0.0,"cur_gt":0.0,"b2b":[{"ctin":"29AAIPK5827D1ZM","cfs":"N","inv":[{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":1785.38,"rt":18,"txval":19837.52,"camt":1785.38,"iamt":0}}],"val":23408.28,"flag":"U","irn":"3c16e614ca0a6574d6a9bcc8deddbb7e8ee3db3be09c5a305951a0ee511d4def","updby":"S","irngendate":"18-03-2024","inum":"AMTSTL/23-24/111","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"18-03-2024","rchrg":"N","chksum":"acae3c8e029e9622deae1ee5887d6341ef0fa5cc001846eb909f0e5f441515f9"}]},{"ctin":"29AAJCS7901C1ZB","cfs":"N","inv":[{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":81481.16,"rt":18,"txval":905346.28,"camt":81481.16,"iamt":0}}],"val":1068308.6,"flag":"U","irn":"531f2a56813fd573f3f20436a08de2747b1f939f045786c1ef208917d201a0ff","updby":"S","irngendate":"30-03-2024","inum":"AMTSTL/23-24/120","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"30-03-2024","rchrg":"N","chksum":"c72f7e20e7ec72edafab20ffb9da9773f67b897f5f4a98c0e901432581a6c22b"},{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":84611.49,"rt":18,"txval":940127.76,"camt":84611.49,"iamt":0}}],"val":1109350.74,"flag":"U","irn":"8f6ddf8635f7a941f38aff9b835f41f774528468d80b825845dc606b49d2f981","updby":"S","irngendate":"30-03-2024","inum":"AMTSTL/23-24/118","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"30-03-2024","rchrg":"N","chksum":"f421fd30a3bec27f9f9f5dd8f16400c310a711d4e2b9e83997f6517756461ad8"},{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":66304.43,"rt":18,"txval":736715.88,"camt":66304.43,"iamt":0}}],"val":869324.74,"flag":"U","irn":"ba8b32bfdac7797df06be6578114aab5906e4a8f101f7078758feeb7c1d6350c","updby":"S","irngendate":"30-03-2024","inum":"AMTSTL/23-24/119","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"30-03-2024","rchrg":"N","chksum":"47b236069d4979517ba45b6660c5f1880d047a9f54b3373e7b6be0f9badbb0e0"},{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":73898.76,"rt":18,"txval":821097.3,"camt":73898.76,"iamt":0}}],"val":968895,"flag":"U","irn":"282c1adcf4b10705e5bd6035d96012cbee810aac2bd6ae343697c588d3fe4c76","updby":"S","irngendate":"30-03-2024","inum":"AMTSTL/23-24/116","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"30-03-2024","rchrg":"N","chksum":"0faf983dfecca2f7862ec1eb8d8f8259f02862a4cb8043a6d93cdaefbba34d05"},{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":81481.16,"rt":18,"txval":905346.28,"camt":81481.16,"iamt":0}}],"val":1068309,"flag":"U","irn":"c1d163319fe93427e8d0c45e09786ce3bbc02368922a85c0219d52948ecf5771","updby":"S","irngendate":"30-03-2024","inum":"AMTSTL/23-24/117","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"30-03-2024","rchrg":"N","chksum":"59f4f9a39d98fe179c49280398f5a64e282fd030f8df6320a817848eca4dbf67"}]},{"ctin":"29ACZPC6893N1ZC","cfs":"N","inv":[{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":7153.99,"rt":18,"txval":79488.8,"camt":7153.99,"iamt":0}}],"val":93796.78,"flag":"U","irn":"38f4d6514318e150a2bac250f06e4a7f0c63e470eb04c149b68df8c0481b7212","updby":"S","irngendate":"07-03-2024","inum":"AMTSTL/23-24/101","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"06-03-2024","rchrg":"N","chksum":"5fd03f4b4e2dfbb9c1a686bba6f8b1edba5acadcc17cbb46ae92b89a7bb97557"},{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":1316.63,"rt":18,"txval":14629.19,"camt":1316.63,"iamt":0}}],"val":17262.45,"flag":"U","irn":"6d715df2ed0b769507798af5e424db2ad79abf47f665405fead97fe58dfab7eb","updby":"S","irngendate":"07-03-2024","inum":"AMTSTL/23-24/102","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"06-03-2024","rchrg":"N","chksum":"a50ab49c84441688e5f1ce2d6153f400d0972188c4bbb2b09a2e81467902b3a7"},{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":171.61,"rt":18,"txval":1906.75,"camt":171.61,"iamt":0}}],"val":2249.97,"flag":"U","irn":"3bcfc61d5d6be96fb9a9d2e4e93ea18f36e56c9c964a084938b97dd59cd2ac6a","updby":"S","irngendate":"07-03-2024","inum":"AMTSTL/23-24/106","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"07-03-2024","rchrg":"N","chksum":"91214dc7ab53ee25309d3775bde6426d09f36818ad6dd5ffa7d738f4695d35d3"}]},{"ctin":"29AFNPV0299L1ZF","cfs":"N","inv":[{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":1357.08,"rt":18,"txval":15078.72,"camt":1357.08,"iamt":0}}],"val":17793,"flag":"U","irn":"94069fdf29a4ed58b5f52d3f42d18d3c0c157e00599ea4eb71cbddba15190e07","updby":"S","irngendate":"30-03-2024","inum":"AMTSTL/23-24/121","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"30-03-2024","rchrg":"N","chksum":"60acae0dbf38a88e2560d7903f1754a0e08ea48a5e07b10731564966785fd62e"},{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":152.55,"rt":18,"txval":1695,"camt":152.55,"iamt":0}}],"val":2000,"flag":"U","irn":"d0eae13f5b7557a71511ab01421c9832d041de1ae0e20d9bf7ac3a5dbc8a6cf9","updby":"S","irngendate":"30-03-2024","inum":"AMTSTL/23-24/122","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"30-03-2024","rchrg":"N","chksum":"b76dc2259c63940c3765c9fe807bc477bddf3fa774dcf459449f243cfd268f2e"}]},{"ctin":"29AOOPS8517E1ZC","cfs":"N","inv":[{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":153437.92,"rt":18,"txval":1704865.86,"camt":153437.92,"iamt":0}}],"val":2011740,"flag":"U","irn":"4868748050760b4671fb7c53bbf220c0fddfbd43d64079427ed21bbed73c2125","updby":"S","irngendate":"30-03-2024","inum":"AMTSTL/23-24/123","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"30-03-2024","rchrg":"N","chksum":"408a4c4bbd2d8a9fa601e439b18542163bfd8e57c76e049659ae24722fc655ba"},{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":1712.14,"rt":18,"txval":19023.76,"camt":1712.14,"iamt":0}}],"val":22448,"flag":"U","irn":"fc1039fda5074246b91ec83f52b51ac3679fd2671133e253dae80afab49e9440","updby":"S","irngendate":"23-03-2024","inum":"AMTSTL/23-24/113","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"23-03-2024","rchrg":"N","chksum":"46db861da7f02fc06c8f4f24270c7ed36bde561befa8c6702ea719f8a1def682"},{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":53023.88,"rt":18,"txval":589154.2,"camt":53023.88,"iamt":0}}],"val":695201.96,"flag":"U","irn":"9f61f48c628425dabbbc2fbd5de5909b66e6eb3c8654af999f2c1acab1a9387f","updby":"S","irngendate":"07-03-2024","inum":"AMTSTL/23-24/105","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"07-03-2024","rchrg":"N","chksum":"5b6ff5c4e90482a01d6c73b7748de98f14c5fbad17864d7081006e2859bb8456"}]},{"ctin":"29AQJPT0110D1Z5","cfs":"N","inv":[{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":2678.05,"rt":18,"txval":29756.06,"camt":2678.05,"iamt":0}}],"val":35112,"flag":"U","irn":"d10397aad333c270d4c7c977a6ee5307fde79f4c5e60b7fbc788c3fe6030327c","updby":"S","irngendate":"23-03-2024","inum":"AMTSTL/23-24/114","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"21-03-2024","rchrg":"N","chksum":"9de45c0df448e4721106e144b91b1b6d9fc053b2a1267dc591d0ef4c765a68ae"}]},{"ctin":"29BYZPR4214B1Z1","cfs":"N","inv":[{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":2655.66,"rt":18,"txval":29507.36,"camt":2655.66,"iamt":0}}],"val":34818.68,"flag":"U","irn":"552731709a5a00d834160478caa90e53d6091a37a1d43ac818bd00f9eec0d99e","updby":"S","irngendate":"16-03-2024","inum":"AMTSTL/23-24/110","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"15-03-2024","rchrg":"N","chksum":"89b3a12c56a8dbc5f2642f7dc8b72cb43d6331c21d643d7baa3be430ab7c2e70"},{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":2762.87,"rt":18,"txval":30698.54,"camt":2762.87,"iamt":0}}],"val":36224.28,"flag":"U","irn":"79ec548627366234e69392fe8b122fd6af44771be48a72d51dd8360cf02a949d","updby":"S","irngendate":"15-03-2024","inum":"AMTSTL/23-24/108","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"15-03-2024","rchrg":"N","chksum":"641939531462b57593c64898f406a83f93d8a7e6428d16d93745f3be683a4407"}]},{"ctin":"29CVJPM6724R2ZI","cfs":"N","inv":[{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":34291.95,"rt":18,"txval":381021.6,"camt":34291.95,"iamt":0}}],"val":449605.5,"flag":"U","irn":"6a5a73f40c200a6cda7e5eea56bd1a3a112341097e303e2e504bda7ac7bdae02","updby":"S","irngendate":"07-03-2024","inum":"AMTSTL/23-24/103","cflag":"N","inv_typ":"R","pos":"29","srctyp":"E-Invoice","idt":"06-03-2024","rchrg":"N","chksum":"7346e56af0564e302225922cdfb07c0614dabe330a2f040eb407e7362f3737dd"}]},{"ctin":"33CYTPS0370L1ZU","cfs":"N","inv":[{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":0,"rt":18,"txval":307338.59,"camt":0,"iamt":55320.95}}],"val":362659.54,"flag":"U","irn":"40f8829dff0e386bba8536899417c93521b102177cf31dd0d0ffd6cdb2d1f6d2","updby":"S","irngendate":"14-03-2024","inum":"AMTSTL/2324/107","cflag":"N","inv_typ":"R","pos":"33","srctyp":"E-Invoice","idt":"14-03-2024","rchrg":"N","chksum":"c3954018c1e64f422ef17a0030d68a6bd3ed071f30ed93dd4a090af8e9c3aee6"},{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":0,"rt":18,"txval":227213.24,"camt":0,"iamt":40898.39}}],"val":268112,"flag":"U","irn":"2a6798f1800a84939506fcbcbf3e1f7a6c895b7d43ac7a80512c02582f30f9d1","updby":"S","irngendate":"25-03-2024","inum":"AMTSTL/23-24/115","cflag":"N","inv_typ":"R","pos":"33","srctyp":"E-Invoice","idt":"25-03-2024","rchrg":"N","chksum":"1fbf882e398e4fdcccfa93954c87d7a792c64af7adcc4c40484f4a6312a061b2"},{"itms":[{"num":1,"itm_det":{"csamt":0,"samt":0,"rt":18,"txval":94242.21,"camt":0,"iamt":16963.6}}],"val":111205.81,"flag":"U","irn":"b15f2ed90b03e87567d1646f0a00d15b47f1c087de9eba3677e0ff80ced6f41f","updby":"S","irngendate":"21-03-2024","inum":"AMTSTL/23-24/112","cflag":"N","inv_typ":"R","pos":"33","srctyp":"E-Invoice","idt":"21-03-2024","rchrg":"N","chksum":"35a526ff7aa57526de8f9cc19115e75c2eeacb89ec6d4f5ad38cd44c717bf157"}]}],"fil_dt":"10-04-2024"} , GSTR2A : {"gstin":"29AJQPG9397P1ZT","fp":"032024","b2b":[{"ctin":"29AABCP6557D1ZA","cfs":"Y","cfs3b":"Y","inv":[{"val":35076.46,"itms":[{"num":1801,"itm_det":{"csamt":0,"samt":2275.94,"rt":18,"txval":25288.18,"camt":2275.94}},{"num":2801,"itm_det":{"csamt":0,"samt":572.73,"rt":28,"txval":4090.94,"camt":572.73}}],"inv_typ":"R","pos":"29","idt":"31-03-2024","rchrg":"N","inum":"IPAMPE2324022140","chksum":"19ca4005181804fd9ee16b1e764f63cb985bba26358afbe99b4bf39ce54ba650"},{"val":688.61,"itms":[{"num":1801,"itm_det":{"csamt":0,"samt":15.94,"rt":18,"txval":177.12,"camt":15.94}},{"num":2801,"itm_det":{"csamt":0,"samt":52.46,"rt":28,"txval":374.69,"camt":52.46}}],"inv_typ":"R","pos":"29","idt":"31-03-2024","rchrg":"N","inum":"IPAMPE2324022160","chksum":"9a6a5c6d4c6666e85785df4d498ba03547e2a8cc6589f757fc818247c18ad3db"},{"val":9123.1,"itms":[{"num":1801,"itm_det":{"csamt":0,"samt":162,"rt":18,"txval":1800,"camt":162}},{"num":2801,"itm_det":{"csamt":0,"samt":765.53,"rt":28,"txval":5468.04,"camt":765.53}}],"inv_typ":"R","pos":"29","idt":"31-03-2024","rchrg":"N","inum":"IPAMPE2324022161","chksum":"f7b1c0d52dbad828ec076ec1b9594b26a422abd4b13ed0288423fa58a650ef71"}],"fldtr1":"11-Apr-24","flprdr1":"Mar-24"},{"ctin":"29AAHCS6286N1ZE","cfs":"Y","cfs3b":"Y","inv":[{"val":687008,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":52347,"rt":18,"txval":581628,"camt":52347,"iamt":0}}],"inv_typ":"R","irn":"c063489c6f1650cef6eecb00d514ddc68083f3a6f43a9eb3c6081fa9bfa47fd2","pos":"29","srctyp":"E-Invoice","idt":"06-03-2024","rchrg":"N","irngendate":"06-03-2024","inum":"23-24-15183","chksum":"f0505064dcb6d4dbb9c8bf850538918d47fe80d14fb28eda87dc9232b4596b77"},{"val":669963,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":51048,"rt":18,"txval":567198,"camt":51048,"iamt":0}}],"inv_typ":"R","irn":"7df8ddf7740f3985ee8bd510a1b0b2a31856036635633df550e9162afb7cb170","pos":"29","srctyp":"E-Invoice","idt":"10-03-2024","rchrg":"N","irngendate":"10-03-2024","inum":"23-24-15401","chksum":"24ce3ffe65d374db898948467206c75e007cdc0603908407496bfc61ab99318c"},{"val":524806,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":39988,"rt":18,"txval":444306,"camt":39988,"iamt":0}}],"inv_typ":"R","irn":"d204a605556a6ec5b0ef3c741962f21dc74e0a9096e4f796e86702bc0db3e4d2","pos":"29","srctyp":"E-Invoice","idt":"10-03-2024","rchrg":"N","irngendate":"10-03-2024","inum":"23-24-15404","chksum":"e76b79359cd88d7fed8ca00d6781fa7bc2f2142e290d325950e8729d4468d569"}],"fldtr1":"11-Apr-24","flprdr1":"Mar-24"},{"ctin":"29AAACU2414K1ZB","cfs":"Y","cfs3b":"Y","inv":[{"val":118,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":9,"rt":18,"txval":100,"camt":9}}],"inv_typ":"R","pos":"29","idt":"23-03-2024","rchrg":"N","inum":"FIN2403242647416","chksum":"a7c8ff7af33181dbd50b791e2915806791cddcc541ad01111c79fc94a367843a"},{"val":79.06,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":6.03,"rt":18,"txval":67,"camt":6.03}}],"inv_typ":"R","pos":"29","idt":"23-03-2024","rchrg":"N","inum":"FIN2403243466342","chksum":"1bf12fb54f7e6cde60d7ec6ffb5cee1d324ce551fe4f3633917959c666199375"}],"fldtr1":"10-Apr-24","flprdr1":"Mar-24"},{"ctin":"29AFNPV0299L1ZF","cfs":"Y","cfs3b":"Y","inv":[{"val":20750,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":2269.54,"rt":28,"txval":16211,"camt":2269.54,"iamt":0}}],"inv_typ":"R","irn":"b86361231d05aa55cfc510e9ce96e801dc74671b54557fcfb7253939a243c72e","pos":"29","srctyp":"E-Invoice","idt":"02-03-2024","rchrg":"N","irngendate":"02-03-2024","inum":"23-24/5221/RAMA","chksum":"964fdbc19539ea6fda4dbfea6029dad6147b7cbd736aa1f52e4614f8af84de89"},{"val":20750,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":2269.54,"rt":28,"txval":16211,"camt":2269.54,"iamt":0}}],"inv_typ":"R","irn":"b034b909f7f6d034f244f38a14da234aa166cd75b21583f014e7e0a87ccb28be","pos":"29","srctyp":"E-Invoice","idt":"02-03-2024","rchrg":"N","irngendate":"02-03-2024","inum":"23-24/5222/RAMA","chksum":"30d9bf3d1487855632305dfc293e1d462ca161a6e5ec490f2ae5a2b10cec96f1"},{"val":19250,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":2105.46,"rt":28,"txval":15039,"camt":2105.46,"iamt":0}}],"inv_typ":"R","irn":"d8ec33b5b37479b9303032f084afb5d067e03febec2e0c33502a9c2b275d21ec","pos":"29","srctyp":"E-Invoice","idt":"02-03-2024","rchrg":"N","irngendate":"02-03-2024","inum":"23-24/5223/RAMA","chksum":"92a2b2f0aaeaa32af885f2e9560bda8c3131669740c18f9206fc444dce00708f"},{"val":20750,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":2269.54,"rt":28,"txval":16211,"camt":2269.54,"iamt":0}}],"inv_typ":"R","irn":"02e9992d3f79f16f5222309406304d3326d362edf7d3ca1abc3145868f05a2a7","pos":"29","srctyp":"E-Invoice","idt":"02-03-2024","rchrg":"N","irngendate":"02-03-2024","inum":"23-24/5224/RAMA","chksum":"5c6e46faf09221d63039621f8aa6425e8832967c7455f8227c2faf8ab5af85bb"},{"val":20750,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":2269.54,"rt":28,"txval":16211,"camt":2269.54,"iamt":0}}],"inv_typ":"R","irn":"c41b9bad2b221d9c7a63540bf5f953824bdb1b90fae1140f743174ec78d0276a","pos":"29","srctyp":"E-Invoice","idt":"02-03-2024","rchrg":"N","irngendate":"02-03-2024","inum":"23-24/5225/RAMA","chksum":"dda2b6c028c49cbbf0ee8ab44012465a73f6dd8a1c33200f1972a0eeee1a159a"},{"val":20750,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":2269.54,"rt":28,"txval":16211,"camt":2269.54,"iamt":0}}],"inv_typ":"R","irn":"ac6a2ae3a1569b700f6687e5c70e7e8fc599b4654a79aa6f50735509d7ccbca3","pos":"29","srctyp":"E-Invoice","idt":"02-03-2024","rchrg":"N","irngendate":"02-03-2024","inum":"23-24/5226/RAMA","chksum":"df95a29f4a6559e6d9f631a8cbf857de6d16faf016181fa0da5bbe35e0d37a4b"},{"val":20750,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":2269.54,"rt":28,"txval":16211,"camt":2269.54,"iamt":0}}],"inv_typ":"R","irn":"bddb5a59c6d45311531b7ec2302b68ccae2cc1a56bbd122e87ddf90089777425","pos":"29","srctyp":"E-Invoice","idt":"02-03-2024","rchrg":"N","irngendate":"02-03-2024","inum":"23-24/5227/RAMA","chksum":"cd5dd218b2b5242d756d1c20f8b1b48548c880156e08d8e4cf0d5040ebf00250"},{"val":20750,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":2269.54,"rt":28,"txval":16211,"camt":2269.54,"iamt":0}}],"inv_typ":"R","irn":"ebde7cc853cc9c6091b170d88aba1836b2a8cadcb790d72c1ac14e8d74248c74","pos":"29","srctyp":"E-Invoice","idt":"02-03-2024","rchrg":"N","irngendate":"02-03-2024","inum":"23-24/5228/RAMA","chksum":"b9d46364674c6c0267ab41484815b222405f6da0efd6e7b893e7a20b35912a0e"},{"val":20750,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":2269.54,"rt":28,"txval":16211,"camt":2269.54,"iamt":0}}],"inv_typ":"R","irn":"bdd4b4ace216db30f2c181f43a84b22efa86c5256191c5c868bc03df80661ac5","pos":"29","srctyp":"E-Invoice","idt":"02-03-2024","rchrg":"N","irngendate":"02-03-2024","inum":"23-24/5229/RAMA","chksum":"884c80f9270cfd8f951cdfad3c7a59d90391fd7eea8aaae51d1d605dbb2f6b6c"},{"val":20750,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":2269.54,"rt":28,"txval":16211,"camt":2269.54,"iamt":0}}],"inv_typ":"R","irn":"253946cfa5150a938a1bfd49c237c4fb8bc18f3e713e82464db555f9d9c000c1","pos":"29","srctyp":"E-Invoice","idt":"02-03-2024","rchrg":"N","irngendate":"02-03-2024","inum":"23-24/5230/RAMA","chksum":"629f3966c9f6ee99962f40ec725f22cee21560d0e58b5c4b120982e0f417d7e0"},{"val":20750,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":2269.54,"rt":28,"txval":16211,"camt":2269.54,"iamt":0}}],"inv_typ":"R","irn":"582c57a6fb0444e7cf3980e9d972263a03a1b20f78508a848910c6a7f1d5f20b","pos":"29","srctyp":"E-Invoice","idt":"02-03-2024","rchrg":"N","irngendate":"02-03-2024","inum":"23-24/5231/RAMA","chksum":"174ce4ef6524203c925a8c3218e0ccb14c0c8c53521b2941a16188b7f5a1532d"}],"fldtr1":"11-Apr-24","flprdr1":"Mar-24"},{"ctin":"29AADCV2343K1Z3","cfs":"Y","cfs3b":"Y","inv":[{"val":2156,"itms":[{"num":1,"itm_det":{"samt":164.43,"rt":18,"txval":1827,"camt":164.43,"iamt":0}}],"inv_typ":"R","irn":"4bdaada162812ec9089bddc800531bdfb870b288a5002ec9d0909030121635e9","pos":"29","srctyp":"E-Invoice","idt":"29-03-2024","rchrg":"N","irngendate":"29-03-2024","inum":"TXG2325061","chksum":"493103ddf538c1f05a68074bc3ab9043e99570307eee05a5959bc2c9d115014c"},{"val":27000,"itms":[{"num":1,"itm_det":{"samt":2059.34,"rt":18,"txval":22881.58,"camt":2059.34,"iamt":0}}],"inv_typ":"R","irn":"a35d89cdd16412f1875597c49fcf0d8d28b82015c7a085f19e5a0c13ca8e487b","pos":"29","srctyp":"E-Invoice","idt":"30-03-2024","rchrg":"N","irngendate":"30-03-2024","inum":"TXG2325148","chksum":"090278e996abc746d75cbb09e0efd0863e4ac7e5cb39c21646e22921f82344ca"}],"fldtr1":"11-Apr-24","flprdr1":"Mar-24"},{"ctin":"27AAACU2414K1ZF","cfs":"Y","cfs3b":"Y","inv":[{"val":69455,"itms":[{"num":1,"itm_det":{"csamt":0,"rt":18,"txval":58860.17,"iamt":10594.83}}],"inv_typ":"R","pos":"29","idt":"28-03-2024","rchrg":"N","inum":"FIN3103249292083","chksum":"1af89a7ca5979d394ea879d8ccec94fc611154e60e44e858b608264c5ffee58c"}],"fldtr1":"10-Apr-24","flprdr1":"Mar-24"},{"ctin":"29AAGCP7298G1ZR","cfs":"Y","cfs3b":"Y","inv":[{"val":3534.1,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":269.55,"rt":18,"txval":2995,"camt":269.55,"iamt":0}}],"inv_typ":"R","irn":"f70a67ae2a72733c8a20994469c4086a7d82aeed83190aab4276cb3e123dcf5a","pos":"29","srctyp":"E-Invoice","idt":"03-03-2024","rchrg":"N","irngendate":"20-03-2024","inum":"N0286/24/03/61","chksum":"56f909a44ea744432d69df2f7da79616895afcb646c6a07a6b3652d033ff1139"}],"fldtr1":"24-Jul-24","flprdr1":"Mar-24"},{"ctin":"29HTTPS1995F1ZK","cfs":"Y","cfs3b":"Y","inv":[{"val":289343.08,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":22068.54,"rt":18,"txval":245206,"camt":22068.54}}],"inv_typ":"R","pos":"29","idt":"23-03-2024","rchrg":"N","inum":"379","chksum":"97b2d08c8074d99d824986643ea0e20fc4b998722e21abfafd98f0fbb158e6de"}],"fldtr1":"03-Apr-24","flprdr1":"Mar-24"}],"cdn":[{"cfs":"Y","ctin":"29AAUFG9496L1Z1","nt":[{"val":22126,"itms":[{"num":1,"itm_det":{"csamt":0,"samt":1688,"rt":18,"txval":18750,"camt":1688,"iamt":0}}],"inv_typ":"R","pos":"29","d_flag":"Y","ntty":"C","nt_num":"CN969","rchrg":"N","nt_dt":"29-03-2024","chksum":"db833b2f6fad71bf85ef08479c922abc07e7b29512dfc80587b39d3e7487c29b"}],"cfs3b":"Y","fldtr1":"06-Apr-24","flprdr1":"Mar-24"}]} GSTR2B :{
    "data": {
        "itcsumm": {
            "itcavl": {
                "nonrevsup": {
                    "sgst": 13497.8,
                    "b2b": {
                        "sgst": 13497.8,
                        "txval": 9207004.64,
                        "cgst": 13497.8,
                        "cess": 0,
                        "igst": 1634109.78
                    },
                    "cgst": 13497.8,
                    "cess": 0,
                    "igst": 1634109.78
                }
            }
        },
        "rtnprd": "032025",
        "docdata": {
            "b2b": [
                {
                    "inv": [
                        {
                            "val": 5.9,
                            "sgst": 0.45,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 5,
                            "typ": "R",
                            "cgst": 0.45,
                            "inum": "FIN0203255314468",
                            "rsn": "",
                            "cess": 0,
                            "igst": 0,
                            "dt": "01-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 53.1,
                            "sgst": 4.05,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 45,
                            "typ": "R",
                            "cgst": 4.05,
                            "inum": "FIN2303250475857",
                            "rsn": "",
                            "cess": 0,
                            "igst": 0,
                            "dt": "21-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 177,
                            "sgst": 13.5,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 150,
                            "typ": "R",
                            "cgst": 13.5,
                            "inum": "FIN2303250928687",
                            "rsn": "",
                            "cess": 0,
                            "igst": 0,
                            "dt": "21-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 5.9,
                            "sgst": 0.45,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 5,
                            "typ": "R",
                            "cgst": 0.45,
                            "inum": "FIN3003257183047",
                            "rsn": "",
                            "cess": 0,
                            "igst": 0,
                            "dt": "29-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        }
                    ],
                    "trdnm": "AXIS BANK LTD",
                    "supfildt": "09-04-2025",
                    "supprd": "032025",
                    "ctin": "29AAACU2414K1ZB"
                },
                {
                    "inv": [
                        {
                            "val": 69455,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 58860.17,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "FIN3003257113110",
                            "rsn": "",
                            "cess": 0,
                            "igst": 10594.83,
                            "dt": "29-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        }
                    ],
                    "trdnm": "AXIS BANK LTD",
                    "supfildt": "09-04-2025",
                    "supprd": "032025",
                    "ctin": "27AAACU2414K1ZF"
                },
                {
                    "inv": [
                        {
                            "val": 46250,
                            "sgst": 3527.54,
                            "rev": "N",
                            "itcavl": "Y",
                            "irn": "d9b09e5c52401dd3eff113706f354ec59324c3ce401856f5a1d8164c03efaf6c",
                            "txval": 39194.91,
                            "typ": "R",
                            "cgst": 3527.54,
                            "irngendate": "22-03-2025",
                            "inum": "7653",
                            "rsn": "",
                            "cess": 0,
                            "igst": 0,
                            "dt": "22-03-2025",
                            "imsStatus": "N",
                            "pos": "29",
                            "srctyp": "E-Invoice"
                        }
                    ],
                    "trdnm": "R B K TRADING COMPANY",
                    "supfildt": "10-04-2025",
                    "supprd": "032025",
                    "ctin": "29COMPK3790K1Z6"
                },
                {
                    "inv": [
                        {
                            "val": 22232.32,
                            "sgst": 1287.66,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 19657,
                            "typ": "R",
                            "cgst": 1287.66,
                            "inum": "VGC132007700000",
                            "rsn": "",
                            "cess": 0,
                            "igst": 0,
                            "dt": "20-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        }
                    ],
                    "trdnm": "ROYAL SUNDARAM GENERAL INSURANCE CO. LIMITED",
                    "supfildt": "11-04-2025",
                    "supprd": "032025",
                    "ctin": "29AABCR7106G1ZF"
                },
                {
                    "inv": [
                        {
                            "val": 5723,
                            "sgst": 436.5,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 4850,
                            "typ": "R",
                            "cgst": 436.5,
                            "inum": "SI/24-25/13214",
                            "rsn": "",
                            "cess": 0,
                            "igst": 0,
                            "dt": "12-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        }
                    ],
                    "trdnm": "SANGAM INC",
                    "supfildt": "11-04-2025",
                    "supprd": "032025",
                    "ctin": "29AEXFS1670R1ZQ"
                },
                {
                    "inv": [
                        {
                            "val": 178358,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 151000,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2599500830",
                            "rsn": "",
                            "cess": 0,
                            "igst": 27180,
                            "dt": "08-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 177177,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 150000,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2599500902",
                            "rsn": "",
                            "cess": 0,
                            "igst": 27000,
                            "dt": "10-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 302405.6,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 256020,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2599501414",
                            "rsn": "",
                            "cess": 0,
                            "igst": 46083.6,
                            "dt": "23-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 793850.35,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 672082.5,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2599501539",
                            "rsn": "",
                            "cess": 0,
                            "igst": 120974.85,
                            "dt": "26-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 803834.3,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 680535,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2599501543",
                            "rsn": "",
                            "cess": 0,
                            "igst": 122496.3,
                            "dt": "26-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 791432.3,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 670035,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2599501552",
                            "rsn": "",
                            "cess": 0,
                            "igst": 120606.3,
                            "dt": "26-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 306887.7,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 259815,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2599501555",
                            "rsn": "",
                            "cess": 0,
                            "igst": 46766.7,
                            "dt": "26-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 668612.9,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 566055,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2599501556",
                            "rsn": "",
                            "cess": 0,
                            "igst": 101889.9,
                            "dt": "26-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        }
                    ],
                    "trdnm": "SHYAM STEEL INDUSTRIES LIMITED",
                    "supfildt": "11-04-2025",
                    "supprd": "032025",
                    "ctin": "19AAGCS3838R1ZG"
                },
                {
                    "inv": [
                        {
                            "val": 56250,
                            "sgst": 6152.34,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 43945.32,
                            "typ": "R",
                            "cgst": 6152.34,
                            "inum": "SSIS2425-1861",
                            "rsn": "",
                            "cess": 0,
                            "igst": 0,
                            "dt": "26-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        }
                    ],
                    "trdnm": "SAMBHAV STEELS AND INFRA SOLUTIONS",
                    "supfildt": "11-04-2025",
                    "supprd": "032025",
                    "ctin": "29AIAPV5386L1ZF"
                },
                {
                    "inv": [
                        {
                            "val": 12904.51,
                            "sgst": 1148.78,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 10606.93,
                            "typ": "R",
                            "cgst": 1148.78,
                            "inum": "IPAMPE2425020039",
                            "rsn": "",
                            "cess": 0,
                            "igst": 0,
                            "dt": "01-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        }
                    ],
                    "trdnm": "PRERANA MOTORS PVT LTD",
                    "supfildt": "11-04-2025",
                    "supprd": "032025",
                    "ctin": "29AABCP6557D1ZA"
                },
                {
                    "inv": [
                        {
                            "val": 1316585,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 1115750,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2586015020",
                            "rsn": "",
                            "cess": 0,
                            "igst": 200835,
                            "dt": "08-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 1309440.1,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 1109695,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2586015118",
                            "rsn": "",
                            "cess": 0,
                            "igst": 199745.1,
                            "dt": "10-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 1222279.4,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 1035830,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2586015790",
                            "rsn": "",
                            "cess": 0,
                            "igst": 186449.4,
                            "dt": "23-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 735210.8,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 623060,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2586015982",
                            "rsn": "",
                            "cess": 0,
                            "igst": 112150.8,
                            "dt": "26-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 742243.6,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 629020,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2586015983",
                            "rsn": "",
                            "cess": 0,
                            "igst": 113223.6,
                            "dt": "26-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 741040,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 628000,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2586016016",
                            "rsn": "",
                            "cess": 0,
                            "igst": 113040,
                            "dt": "26-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 309183.6,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 262020,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2586016018",
                            "rsn": "",
                            "cess": 0,
                            "igst": 47163.6,
                            "dt": "26-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        },
                        {
                            "val": 248519.8,
                            "sgst": 0,
                            "rev": "N",
                            "itcavl": "Y",
                            "txval": 210610,
                            "typ": "R",
                            "cgst": 0,
                            "inum": "2586016020",
                            "rsn": "",
                            "cess": 0,
                            "igst": 37909.8,
                            "dt": "26-03-2025",
                            "imsStatus": "N",
                            "pos": "29"
                        }
                    ],
                    "trdnm": "SHYAM STEEL WORKS PRIVATE LIMITED",
                    "supfildt": "11-04-2025",
                    "supprd": "032025",
                    "ctin": "19ABECS8216J1ZY"
                },
                {
                    "inv": [
                        {
                            "val": 12011,
                            "sgst": 926.53,
                            "rev": "N",
                            "itcavl": "Y",
                            "irn": "450b30e4bc1418506fb6889689cd4a5ccc2b727ff8e10bfa12d2ea26e7d013ca",
                            "txval": 10157.81,
                            "typ": "R",
                            "cgst": 926.53,
                            "irngendate": "04-03-2025",
                            "inum": "TXG2424107",
                            "rsn": "",
                            "cess": 0,
                            "igst": 0,
                            "dt": "04-03-2025",
                            "imsStatus": "N",
                            "pos": "29",
                            "srctyp": "E-Invoice"
                        }
                    ],
                    "trdnm": "VIVA  MAGNA WHEELERS PVT LTD.,",
                    "supfildt": "11-04-2025",
                    "supprd": "032025",
                    "ctin": "29AADCV2343K1Z3"
                }
            ]
        },
        "gendt": "14-04-2025",
        "gstin": "29AJQPG9397P1ZT",
        "version": "1.0",
        "cpsumm": {
            "b2b": [
                {
                    "sgst": 0,
                    "ttldocs": 1,
                    "trdnm": "AXIS BANK LTD",
                    "supprd": "032025",
                    "supfildt": "09-04-2025",
                    "txval": 58860.17,
                    "ctin": "27AAACU2414K1ZF",
                    "cgst": 0,
                    "cess": 0,
                    "igst": 10594.83
                },
                {
                    "sgst": 0,
                    "ttldocs": 8,
                    "trdnm": "SHYAM STEEL WORKS PRIVATE LIMITED",
                    "supprd": "032025",
                    "supfildt": "11-04-2025",
                    "txval": 5613985,
                    "ctin": "19ABECS8216J1ZY",
                    "cgst": 0,
                    "cess": 0,
                    "igst": 1010517.3
                },
                {
                    "sgst": 1148.78,
                    "ttldocs": 1,
                    "trdnm": "PRERANA MOTORS PVT LTD",
                    "supprd": "032025",
                    "supfildt": "11-04-2025",
                    "txval": 10606.93,
                    "ctin": "29AABCP6557D1ZA",
                    "cgst": 1148.78,
                    "cess": 0,
                    "igst": 0
                },
                {
                    "sgst": 6152.34,
                    "ttldocs": 1,
                    "trdnm": "SAMBHAV STEELS AND INFRA SOLUTIONS",
                    "supprd": "032025",
                    "supfildt": "11-04-2025",
                    "txval": 43945.32,
                    "ctin": "29AIAPV5386L1ZF",
                    "cgst": 6152.34,
                    "cess": 0,
                    "igst": 0
                },
                {
                    "sgst": 1287.66,
                    "ttldocs": 1,
                    "trdnm": "ROYAL SUNDARAM GENERAL INSURANCE CO. LIMITED",
                    "supprd": "032025",
                    "supfildt": "11-04-2025",
                    "txval": 19657,
                    "ctin": "29AABCR7106G1ZF",
                    "cgst": 1287.66,
                    "cess": 0,
                    "igst": 0
                },
                {
                    "sgst": 3527.54,
                    "ttldocs": 1,
                    "trdnm": "R B K TRADING COMPANY",
                    "supprd": "032025",
                    "supfildt": "10-04-2025",
                    "txval": 39194.91,
                    "ctin": "29COMPK3790K1Z6",
                    "cgst": 3527.54,
                    "cess": 0,
                    "igst": 0
                },
                {
                    "sgst": 436.5,
                    "ttldocs": 1,
                    "trdnm": "SANGAM INC",
                    "supprd": "032025",
                    "supfildt": "11-04-2025",
                    "txval": 4850,
                    "ctin": "29AEXFS1670R1ZQ",
                    "cgst": 436.5,
                    "cess": 0,
                    "igst": 0
                },
                {
                    "sgst": 0,
                    "ttldocs": 8,
                    "trdnm": "SHYAM STEEL INDUSTRIES LIMITED",
                    "supprd": "032025",
                    "supfildt": "11-04-2025",
                    "txval": 3405542.5,
                    "ctin": "19AAGCS3838R1ZG",
                    "cgst": 0,
                    "cess": 0,
                    "igst": 612997.65
                },
                {
                    "sgst": 926.53,
                    "ttldocs": 1,
                    "trdnm": "VIVA  MAGNA WHEELERS PVT LTD.,",
                    "supprd": "032025",
                    "supfildt": "11-04-2025",
                    "txval": 10157.81,
                    "ctin": "29AADCV2343K1Z3",
                    "cgst": 926.53,
                    "cess": 0,
                    "igst": 0
                },
                {
                    "sgst": 18.45,
                    "ttldocs": 4,
                    "trdnm": "AXIS BANK LTD",
                    "supprd": "032025",
                    "supfildt": "09-04-2025",
                    "txval": 205,
                    "ctin": "29AAACU2414K1ZB",
                    "cgst": 18.45,
                    "cess": 0,
                    "igst": 0
                }
            ]
        }
    },
    "chksum": "3f65c7fe8a8d4a8741a5fe15d93e158ccd75f355fdc5d6878df6824d0ee1adf2"
} and GSTR3B: {"sysint_updated":"","gstin":"29AJQPG9397P1ZT","ret_period":"062023","sup_details":{"osup_det":{"txval":3491511.67,"iamt":0,"camt":314236.05,"samt":314236.05,"csamt":0},"osup_zero":{"txval":0,"iamt":0,"camt":0,"samt":0,"csamt":0},"osup_nil_exmp":{"txval":0,"iamt":0,"camt":0,"samt":0,"csamt":0},"isup_rev":{"txval":0,"iamt":0,"camt":0,"samt":0,"csamt":0},"osup_nongst":{"txval":0,"iamt":0,"camt":0,"samt":0,"csamt":0}},"inter_sup":{"unreg_details":[],"comp_details":[],"uin_details":[]},"itc_elg":{"itc_avl":[{"ty":"IMPG","iamt":0,"camt":0,"samt":0,"csamt":0},{"ty":"ISRC","iamt":0,"camt":0,"samt":0,"csamt":0},{"ty":"OTH","iamt":541586.17,"camt":450382.21,"samt":450382.21,"csamt":0},{"ty":"ISD","iamt":0,"camt":0,"samt":0,"csamt":0},{"ty":"IMPS","iamt":0,"camt":0,"samt":0,"csamt":0}],"itc_rev":[{"ty":"RUL","iamt":0,"camt":0,"samt":0,"csamt":0},{"ty":"OTH","iamt":0,"camt":0,"samt":0,"csamt":0}],"itc_net":{"iamt":541586.17,"camt":450382.21,"samt":450382.21,"csamt":0},"itc_inelg":[{"ty":"RUL","iamt":0,"camt":0,"samt":0,"csamt":0},{"ty":"OTH","iamt":0,"camt":0,"samt":0,"csamt":0}]},"intr_ltfee":{"intr_details":{"iamt":0,"camt":0,"samt":0,"csamt":0},"ltfee_details":{"iamt":0,"camt":0,"samt":0,"csamt":0}},"tt_val":{"tt_pay":0,"tt_csh_pd":0,"tt_itc_pd":628472},"qn":{"q1":"N","q2":"Y","q3":"Y","q4":"Y","q5":"Y","q6":"Y","q7":"N"},"taxpayble":{"bal":{"gstin":"29AJQPG9397P1ZT","cash_bal":{"igst":{"tx":0,"intr":0,"pen":0,"fee":0,"oth":0},"cgst":{"tx":0,"intr":0,"pen":0,"fee":0,"oth":0},"sgst":{"tx":0,"intr":0,"pen":0,"fee":0,"oth":0},"cess":{"tx":0,"intr":0,"pen":0,"fee":0,"oth":0},"igst_tot_bal":0,"cgst_tot_bal":0,"sgst_tot_bal":0,"cess_tot_bal":0},"itc_bal":{"igst_bal":0,"cgst_bal":31146,"sgst_bal":0,"cess_bal":0}},"status":2,"returnsDbCdredList":{"tax_pay":[{"igst":{"tx":0,"intr":0,"pen":0,"fee":0,"oth":0,"tot":0},"sgst":{"tx":314236,"intr":0,"pen":0,"fee":0,"oth":0,"tot":314236},"cgst":{"tx":314236,"intr":0,"pen":0,"fee":0,"oth":0,"tot":314236},"cess":{"tx":0,"intr":0,"pen":0,"fee":0,"oth":0,"tot":0},"liab_id":590774450,"trancd":30002,"trandate":"18-07-2023"},{"igst":{"tx":0,"intr":0,"pen":0,"fee":0,"oth":0,"tot":0},"sgst":{"tx":0,"intr":0,"pen":0,"fee":0,"oth":0,"tot":0},"cgst":{"tx":0,"intr":0,"pen":0,"fee":0,"oth":0,"tot":0},"cess":{"tx":0,"intr":0,"pen":0,"fee":0,"oth":0,"tot":0},"liab_id":590774451,"trancd":30003,"trandate":"18-07-2023"}],"tax_paid":{"pd_by_cash":[],"pd_by_itc":[{"debit_id":"DI2907230163840","liab_id":590774450,"igst_igst_amt":0,"igst_cgst_amt":0,"igst_sgst_amt":0,"sgst_sgst_amt":43443,"sgst_igst_amt":270793,"cgst_cgst_amt":43443,"cgst_igst_amt":270793,"cess_cess_amt":0,"trancd":30002,"trandate":"18-07-2023"}]}}}} please update code and its reporting