{"id":1877,"date":"2025-07-03T07:43:37","date_gmt":"2025-07-03T07:43:37","guid":{"rendered":"https:\/\/toolsblaster.com\/?p=1877"},"modified":"2025-07-03T09:48:22","modified_gmt":"2025-07-03T09:48:22","slug":"pakistani-new-income-tax-calculator","status":"publish","type":"post","link":"https:\/\/toolsblaster.com\/?p=1877","title":{"rendered":"Pakistani New Income Tax Calculator"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/toolsblaster.com\/wp-content\/uploads\/2025\/07\/incom-Tax--1024x576.webp\" alt=\"\" class=\"wp-image-1878\" srcset=\"https:\/\/toolsblaster.com\/wp-content\/uploads\/2025\/07\/incom-Tax--1024x576.webp 1024w, https:\/\/toolsblaster.com\/wp-content\/uploads\/2025\/07\/incom-Tax--300x169.webp 300w, https:\/\/toolsblaster.com\/wp-content\/uploads\/2025\/07\/incom-Tax--768x432.webp 768w, https:\/\/toolsblaster.com\/wp-content\/uploads\/2025\/07\/incom-Tax--1536x864.webp 1536w, https:\/\/toolsblaster.com\/wp-content\/uploads\/2025\/07\/incom-Tax-.webp 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Pakistani Income Tax Calculator 2023-26 | TaxCalculatorPK<\/title>\n    <meta name=\"description\" content=\"Free online Pakistani income tax calculator for salaried individuals, non-salaried, and AOPs. Calculate your tax liability for FY 2023-24 to 2025-26 as per FBR rates.\">\n    <style>\n        :root {\n            --primary-color: #043574; \/* Pakistan green *\/\n            --secondary-color: #009dff;\n            --accent-color: #e11c26; \/* Pakistan red *\/\n            --light-color: #f5f5f5;\n            --dark-color: #333;\n            --success-color: #28a745;\n            --warning-color: #ffc107;\n        }\n        \n        * {\n            box-sizing: border-box;\n            margin: 0;\n            padding: 0;\n            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n        }\n        \n        body {\n            background-color: #f9f9f9;\n            color: #333;\n            line-height: 1.6;\n        }\n        \n        .container {\n            max-width: 1200px;\n            margin: 0 auto;\n            padding: 20px;\n        }\n        \n        header {\n            background-color: #043574;\n            color: white; important;\n            padding: 20px 0;\n            text-align: center;\n            border-radius: 8px 8px 0 0;\n            margin-bottom: 20px;\n            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n        }\n        \n        h1 {\n            font-size: 2.2rem;\n            margin-bottom: 10px;\n        }\n        \n        .subtitle {\n            font-size: 1.1rem;\n            opacity: 0.9;\n        }\n        \n        .year-selector {\n            text-align: center;\n            margin-bottom: 20px;\n        }\n        \n        .year-selector select {\n            padding: 10px 15px;\n            font-size: 1rem;\n            border: 2px solid #043574;\n            border-radius: 5px;\n            background-color: white;\n            color: var(--dark-color);\n        }\n        \n        .tabs {\n            display: flex;\n            margin-bottom: 20px;\n            border-bottom: 1px solid #ddd;\n            flex-wrap: wrap;\n        }\n        \n        .tab {\n            padding: 12px 20px;\n            cursor: pointer;\n            background-color: #f1f1f1;\n            border: 1px solid #ddd;\n            border-bottom: none;\n            margin-right: 5px;\n            border-radius: 5px 5px 0 0;\n            font-weight: 600;\n        }\n        \n        .tab.active {\n            background-color: white;\n            border-bottom: 1px solid white;\n            margin-bottom: -1px;\n            color: var(--primary-color);\n        }\n        \n        .calculator-container {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 30px;\n            margin-bottom: 40px;\n        }\n        \n        .calculator-form {\n            flex: 1;\n            min-width: 300px;\n            background-color: white;\n            padding: 25px;\n            border-radius: 8px;\n            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);\n        }\n        \n        .calculator-results {\n            flex: 1;\n            min-width: 300px;\n            background-color: white;\n            padding: 25px;\n            border-radius: 8px;\n            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);\n        }\n        \n        .form-group {\n            margin-bottom: 20px;\n        }\n        \n        label {\n            display: block;\n            margin-bottom: 8px;\n            font-weight: 600;\n            color: var(--secondary-color);\n        }\n        \n        select, input {\n            width: 100%;\n            padding: 12px;\n            border: 1px solid #ddd;\n            border-radius: 4px;\n            font-size: 16px;\n            transition: border 0.3s;\n        }\n        \n        select:focus, input:focus {\n            outline: none;\n            border-color: #043574;\n            box-shadow: 0 0 0 2px rgba(4, 106, 56, 0.2);\n        }\n        \n        button {\n            background-color: #043574;\n            color: white;\n            border: none;\n            padding: 12px 20px;\n            font-size: 16px;\n            border-radius: 4px;\n            cursor: pointer;\n            width: 100%;\n            font-weight: 600;\n            transition: background-color 0.3s;\n        }\n        \n        button:hover {\n            background-color: var(--secondary-color);\n        }\n        \n        .result-card {\n            background-color: var(--light-color);\n            padding: 20px;\n            border-radius: 6px;\n            margin-bottom: 20px;\n            border-left: 4px solid #043574;\n        }\n        \n        .result-title {\n            font-size: 1.1rem;\n            margin-bottom: 10px;\n            color: var(--secondary-color);\n            font-weight: 600;\n        }\n        \n        .result-value {\n            font-size: 1.8rem;\n            font-weight: 700;\n            color: var(--accent-color);\n        }\n        \n        .result-unit {\n            font-size: 1rem;\n            color: #7f8c8d;\n        }\n        \n        .tax-breakdown {\n            width: 100%;\n            border-collapse: collapse;\n            margin-top: 20px;\n        }\n        \n        .tax-breakdown th, .tax-breakdown td {\n            padding: 12px;\n            text-align: left;\n            border-bottom: 1px solid #ddd;\n        }\n        \n        .tax-breakdown th {\n            background-color: var(--light-color);\n            color: var(--secondary-color);\n        }\n        \n        .tax-breakdown tr:hover {\n            background-color: #f5f5f5;\n        }\n        \n        .info-section {\n            background-color: white;\n            padding: 25px;\n            border-radius: 8px;\n            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);\n            margin-bottom: 30px;\n        }\n        \n        .info-section h2 {\n            color: var(--primary-color);\n            margin-bottom: 15px;\n        }\n        \n        .info-section p {\n            margin-bottom: 15px;\n        }\n        \n        .tax-slab-table {\n            width: 100%;\n            border-collapse: collapse;\n            margin: 20px 0;\n        }\n        \n        .tax-slab-table th, .tax-slab-table td {\n            padding: 12px;\n            border: 1px solid #ddd;\n            text-align: left;\n        }\n        \n        .tax-slab-table th {\n            background-color: #043574;\n            color: white;\n        }\n        \n        .tax-slab-table tr:nth-child(even) {\n            background-color: #f2f2f2;\n        }\n        \n        footer {\n            text-align: center;\n            padding: 20px;\n            background-color: var(--primary-color);\n            color: white;\n            border-radius: 0 0 8px 8px;\n            margin-top: 30px;\n        }\n        \n        @media (max-width: 768px) {\n            .calculator-container {\n                flex-direction: column;\n            }\n            \n            h1 {\n                font-size: 1.8rem;\n            }\n            \n            .tabs {\n                flex-wrap: wrap;\n            }\n            \n            .tab {\n                flex: 1;\n                min-width: 100px;\n                text-align: center;\n                margin-bottom: 5px;\n            }\n        }\n        \n        \/* Tooltip styles *\/\n        .tooltip {\n            position: relative;\n            display: inline-block;\n            margin-left: 5px;\n            cursor: help;\n        }\n        \n        .tooltip .tooltiptext {\n            visibility: hidden;\n            width: 200px;\n            background-color: #555;\n            color: #fff;\n            text-align: center;\n            border-radius: 6px;\n            padding: 5px;\n            position: absolute;\n            z-index: 1;\n            bottom: 125%;\n            left: 50%;\n            margin-left: -100px;\n            opacity: 0;\n            transition: opacity 0.3s;\n            font-size: 0.9rem;\n            font-weight: normal;\n        }\n        \n        .tooltip:hover .tooltiptext {\n            visibility: visible;\n            opacity: 1;\n        }\n        \n        .hidden {\n            display: none;\n        }\n        \n        .year-notice {\n            background-color: #fff3cd;\n            color: #856404;\n            padding: 10px;\n            border-radius: 4px;\n            margin-bottom: 20px;\n            border-left: 4px solid #ffeeba;\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"container\">\n        <header>\n            <h1>Pakistani Income Tax Calculator<\/h1>\n            <p class=\"subtitle\">Calculate your tax liability as per FBR rates<\/p>\n        <\/header>\n        \n        <div class=\"year-selector\">\n            <label for=\"tax-year\">Select Fiscal Year: <\/label>\n            <select id=\"tax-year\">\n                <option value=\"2023\">2023-24<\/option>\n                <option value=\"2024\">2024-25<\/option>\n                <option value=\"2025\" selected>2025-26<\/option>\n            <\/select>\n        <\/div>\n        \n        <div id=\"future-year-notice\" class=\"year-notice hidden\">\n            Note: 2025-26 tax rates are projected based on current trends. Actual rates may vary when officially announced by FBR.\n        <\/div>\n        \n        <div class=\"tabs\">\n            <div class=\"tab active\" data-tab=\"salaried\">Salaried Individual<\/div>\n            <div class=\"tab\" data-tab=\"non-salaried\">Non-Salaried Individual<\/div>\n            <div class=\"tab\" data-tab=\"aop\">Association of Persons (AOP)<\/div>\n            <div class=\"tab\" data-tab=\"company\">Company<\/div>\n        <\/div>\n        \n        <!-- Salaried Individual Calculator -->\n        <div id=\"salaried-calculator\" class=\"calculator-container\">\n            <div class=\"calculator-form\">\n                <h2 style=\"color: var(--primary-color); margin-bottom: 20px;\">Salary Details<\/h2>\n                \n                <div class=\"form-group\">\n                    <label for=\"salaried-income\">Basic Salary (Monthly)<\/label>\n                    <input type=\"number\" id=\"salaried-income\" placeholder=\"Enter monthly basic salary in PKR\">\n                <\/div>\n                \n                <div class=\"form-group\">\n                    <label for=\"salaried-allowances\">Allowances (Monthly) \n                        <span class=\"tooltip\">?\n                            <span class=\"tooltiptext\">Include all allowances (housing, conveyance, etc.) that are part of your taxable income<\/span>\n                        <\/span>\n                    <\/label>\n                    <input type=\"number\" id=\"salaried-allowances\" placeholder=\"Enter monthly allowances in PKR\" value=\"0\">\n                <\/div>\n                \n                <div class=\"form-group\">\n                    <label for=\"salaried-bonus\">Annual Bonus<\/label>\n                    <input type=\"number\" id=\"salaried-bonus\" placeholder=\"Enter annual bonus in PKR\" value=\"0\">\n                <\/div>\n                \n                <div class=\"form-group\">\n                    <label for=\"salaried-medical\">Medical Allowance (Annual) \n                        <span class=\"tooltip\">?\n                            <span class=\"tooltiptext\">Up to 10% of basic salary is exempt<\/span>\n                        <\/span>\n                    <\/label>\n                    <input type=\"number\" id=\"salaried-medical\" placeholder=\"Enter annual medical allowance in PKR\" value=\"0\">\n                <\/div>\n                \n                <div class=\"form-group\">\n                    <label for=\"salaried-other\">Other Income (Annual)<\/label>\n                    <input type=\"number\" id=\"salaried-other\" placeholder=\"Enter other annual income in PKR\" value=\"0\">\n                <\/div>\n                \n                <div class=\"form-group\">\n                    <label for=\"salaried-zone\">Tax Zone \n                        <span class=\"tooltip\">?\n                            <span class=\"tooltiptext\">Zone affects your tax-free allowance<\/span>\n                        <\/span>\n                    <\/label>\n                    <select id=\"salaried-zone\">\n                        <option value=\"1\">Zone 1 (Islamabad, Karachi, Lahore, Hyderabad)<\/option>\n                        <option value=\"2\">Zone 2 (Other areas)<\/option>\n                    <\/select>\n                <\/div>\n                \n                <button id=\"salaried-calculate-btn\">Calculate Tax<\/button>\n            <\/div>\n            \n            <div class=\"calculator-results\">\n                <h2 style=\"color: var(--primary-color); margin-bottom: 20px;\">Tax Results<\/h2>\n                \n                <div class=\"result-card\">\n                    <div class=\"result-title\">Annual Taxable Income<\/div>\n                    <div class=\"result-value\" id=\"salaried-taxable-income\">&#8212;<\/div>\n                    <div class=\"result-unit\">PKR<\/div>\n                <\/div>\n                \n                <div class=\"result-card\">\n                    <div class=\"result-title\">Income Tax Payable<\/div>\n                    <div class=\"result-value\" id=\"salaried-tax-amount\">&#8212;<\/div>\n                    <div class=\"result-unit\">PKR<\/div>\n                <\/div>\n                \n                <div class=\"result-card\">\n                    <div class=\"result-title\">Monthly Tax Deduction<\/div>\n                    <div class=\"result-value\" id=\"salaried-monthly-tax\">&#8212;<\/div>\n                    <div class=\"result-unit\">PKR<\/div>\n                <\/div>\n                \n                <table class=\"tax-breakdown\">\n                    <thead>\n                        <tr>\n                            <th>Description<\/th>\n                            <th>Amount (PKR)<\/th>\n                        <\/tr>\n                    <\/thead>\n                    <tbody id=\"salaried-tax-breakdown\">\n                        <!-- Will be populated by JavaScript -->\n                    <\/tbody>\n                <\/table>\n            <\/div>\n        <\/div>\n        \n        <!-- Non-Salaried Individual Calculator -->\n        <div id=\"non-salaried-calculator\" class=\"calculator-container hidden\">\n            <div class=\"calculator-form\">\n                <h2 style=\"color: var(--primary-color); margin-bottom: 20px;\">Income Details<\/h2>\n                \n                <div class=\"form-group\">\n                    <label for=\"non-salaried-income\">Annual Business Income<\/label>\n                    <input type=\"number\" id=\"non-salaried-income\" placeholder=\"Enter annual business income in PKR\">\n                <\/div>\n                \n                <div class=\"form-group\">\n                    <label for=\"non-salaried-other\">Other Income (Annual)<\/label>\n                    <input type=\"number\" id=\"non-salaried-other\" placeholder=\"Enter other annual income in PKR\" value=\"0\">\n                <\/div>\n                \n                <div class=\"form-group\">\n                    <label for=\"non-salaried-zone\">Tax Zone<\/label>\n                    <select id=\"non-salaried-zone\">\n                        <option value=\"1\">Zone 1 (Islamabad, Karachi, Lahore, Hyderabad)<\/option>\n                        <option value=\"2\">Zone 2 (Other areas)<\/option>\n                    <\/select>\n                <\/div>\n                \n                <div class=\"form-group\">\n                    <label for=\"non-salaried-filing\">Filing Status \n                        <span class=\"tooltip\">?\n                            <span class=\"tooltiptext\">Filers get reduced tax rates<\/span>\n                        <\/span>\n                    <\/label>\n                    <select id=\"non-salaried-filing\">\n                        <option value=\"filer\">Filer<\/option>\n                        <option value=\"non-filer\">Non-Filer<\/option>\n                    <\/select>\n                <\/div>\n                \n                <button id=\"non-salaried-calculate-btn\">Calculate Tax<\/button>\n            <\/div>\n            \n            <div class=\"calculator-results\">\n                <h2 style=\"color: var(--primary-color); margin-bottom: 20px;\">Tax Results<\/h2>\n                \n                <div class=\"result-card\">\n                    <div class=\"result-title\">Annual Taxable Income<\/div>\n                    <div class=\"result-value\" id=\"non-salaried-taxable-income\">&#8212;<\/div>\n                    <div class=\"result-unit\">PKR<\/div>\n                <\/div>\n                \n                <div class=\"result-card\">\n                    <div class=\"result-title\">Income Tax Payable<\/div>\n                    <div class=\"result-value\" id=\"non-salaried-tax-amount\">&#8212;<\/div>\n                    <div class=\"result-unit\">PKR<\/div>\n                <\/div>\n                \n                <div class=\"result-card\">\n                    <div class=\"result-title\">Advance Tax (If Applicable)<\/div>\n                    <div class=\"result-value\" id=\"non-salaried-advance-tax\">&#8212;<\/div>\n                    <div class=\"result-unit\">PKR<\/div>\n                <\/div>\n                \n                <table class=\"tax-breakdown\">\n                    <thead>\n                        <tr>\n                            <th>Description<\/th>\n                            <th>Amount (PKR)<\/th>\n                        <\/tr>\n                    <\/thead>\n                    <tbody id=\"non-salaried-tax-breakdown\">\n                        <!-- Will be populated by JavaScript -->\n                    <\/tbody>\n                <\/table>\n            <\/div>\n        <\/div>\n        \n        <!-- AOP Calculator -->\n        <div id=\"aop-calculator\" class=\"calculator-container hidden\">\n            <div class=\"calculator-form\">\n                <h2 style=\"color: var(--primary-color); margin-bottom: 20px;\">AOP Income Details<\/h2>\n                \n                <div class=\"form-group\">\n                    <label for=\"aop-income\">Annual Business Income<\/label>\n                    <input type=\"number\" id=\"aop-income\" placeholder=\"Enter annual business income in PKR\">\n                <\/div>\n                \n                <div class=\"form-group\">\n                    <label for=\"aop-other\">Other Income (Annual)<\/label>\n                    <input type=\"number\" id=\"aop-other\" placeholder=\"Enter other annual income in PKR\" value=\"0\">\n                <\/div>\n                \n                <div class=\"form-group\">\n                    <label for=\"aop-filing\">Filing Status<\/label>\n                    <select id=\"aop-filing\">\n                        <option value=\"filer\">Filer<\/option>\n                        <option value=\"non-filer\">Non-Filer<\/option>\n                    <\/select>\n                <\/div>\n                \n                <button id=\"aop-calculate-btn\">Calculate Tax<\/button>\n            <\/div>\n            \n            <div class=\"calculator-results\">\n                <h2 style=\"color: var(--primary-color); margin-bottom: 20px;\">Tax Results<\/h2>\n                \n                <div class=\"result-card\">\n                    <div class=\"result-title\">Annual Taxable Income<\/div>\n                    <div class=\"result-value\" id=\"aop-taxable-income\">&#8212;<\/div>\n                    <div class=\"result-unit\">PKR<\/div>\n                <\/div>\n                \n                <div class=\"result-card\">\n                    <div class=\"result-title\">Income Tax Payable<\/div>\n                    <div class=\"result-value\" id=\"aop-tax-amount\">&#8212;<\/div>\n                    <div class=\"result-unit\">PKR<\/div>\n                <\/div>\n                \n                <table class=\"tax-breakdown\">\n                    <thead>\n                        <tr>\n                            <th>Description<\/th>\n                            <th>Amount (PKR)<\/th>\n                        <\/tr>\n                    <\/thead>\n                    <tbody id=\"aop-tax-breakdown\">\n                        <!-- Will be populated by JavaScript -->\n                    <\/tbody>\n                <\/table>\n            <\/div>\n        <\/div>\n        \n        <!-- Company Calculator -->\n        <div id=\"company-calculator\" class=\"calculator-container hidden\">\n            <div class=\"calculator-form\">\n                <h2 style=\"color: var(--primary-color); margin-bottom: 20px;\">Company Income Details<\/h2>\n                \n                <div class=\"form-group\">\n                    <label for=\"company-income\">Annual Taxable Income<\/label>\n                    <input type=\"number\" id=\"company-income\" placeholder=\"Enter annual taxable income in PKR\">\n                <\/div>\n                \n                <div class=\"form-group\">\n                    <label for=\"company-type\">Company Type<\/label>\n                    <select id=\"company-type\">\n                        <option value=\"private\">Private Limited Company<\/option>\n                        <option value=\"public\">Public Limited Company<\/option>\n                        <option value=\"bank\">Banking Company<\/option>\n                        <option value=\"small\">Small Company<\/option>\n                    <\/select>\n                <\/div>\n                \n                <button id=\"company-calculate-btn\">Calculate Tax<\/button>\n            <\/div>\n            \n            <div class=\"calculator-results\">\n                <h2 style=\"color: var(--primary-color); margin-bottom: 20px;\">Tax Results<\/h2>\n                \n                <div class=\"result-card\">\n                    <div class=\"result-title\">Annual Taxable Income<\/div>\n                    <div class=\"result-value\" id=\"company-taxable-income\">&#8212;<\/div>\n                    <div class=\"result-unit\">PKR<\/div>\n                <\/div>\n                \n                <div class=\"result-card\">\n                    <div class=\"result-title\">Income Tax Payable<\/div>\n                    <div class=\"result-value\" id=\"company-tax-amount\">&#8212;<\/div>\n                    <div class=\"result-unit\">PKR<\/div>\n                <\/div>\n                \n                <div class=\"result-card\">\n                    <div class=\"result-title\">Super Tax (If Applicable)<\/div>\n                    <div class=\"result-value\" id=\"company-super-tax\">&#8212;<\/div>\n                    <div class=\"result-unit\">PKR<\/div>\n                <\/div>\n                \n                <table class=\"tax-breakdown\">\n                    <thead>\n                        <tr>\n                            <th>Description<\/th>\n                            <th>Amount (PKR)<\/th>\n                        <\/tr>\n                    <\/thead>\n                    <tbody id=\"company-tax-breakdown\">\n                        <!-- Will be populated by JavaScript -->\n                    <\/tbody>\n                <\/table>\n            <\/div>\n        <\/div>\n        \n        <div class=\"info-section\">\n            <h2 id=\"slab-year-title\">Income Tax Slabs for Salaried Individuals (FY 2025-26)<\/h2>\n            \n            <table class=\"tax-slab-table\" id=\"salaried-slabs-table\">\n                <!-- Will be populated by JavaScript -->\n            <\/table>\n            \n            <h3 style=\"margin-top: 20px; color: var(--primary-color);\">Tax Credits and Exemptions<\/h3>\n            <ul style=\"margin-left: 20px; margin-bottom: 15px;\" id=\"exemptions-list\">\n                <!-- Will be populated by JavaScript -->\n            <\/ul>\n        <\/div>\n        \n        <footer>\n            <p>&copy; 2023-2025 TaxCalculatorPK.com | Pakistani Income Tax Calculator<\/p>\n            <p style=\"font-size: 0.9rem; margin-top: 10px;\">Disclaimer: This tool provides estimates only. For official tax calculations, please consult with a tax professional or the FBR.<\/p>\n        <\/footer>\n    <\/div>\n\n    <script>\n        document.addEventListener('DOMContentLoaded', function() {\n            \/\/ Tax data for different years\n            const taxData = {\n                \"2023\": {\n                    salaried: {\n                        zoneExemption: [1200000, 600000], \/\/ Zone 1, Zone 2\n                        medicalExemptPercent: 0.1,\n                        slabs: [\n                            { min: 0, max: 600000, rate: 0, fixed: 0 },\n                            { min: 600001, max: 1200000, rate: 0.025, fixed: 0 },\n                            { min: 1200001, max: 2400000, rate: 0.125, fixed: 15000 },\n                            { min: 2400001, max: 3600000, rate: 0.20, fixed: 165000 },\n                            { min: 3600001, max: 6000000, rate: 0.25, fixed: 405000 },\n                            { min: 6000001, max: 12000000, rate: 0.325, fixed: 1005000 },\n                            { min: 12000001, max: Infinity, rate: 0.35, fixed: 2955000 }\n                        ]\n                    },\n                    nonSalaried: {\n                        filer: {\n                            zoneExemption: [600000, 400000], \/\/ Zone 1, Zone 2\n                            slabs: [\n                                { min: 0, max: 400000, rate: 0, fixed: 0 },\n                                { min: 400001, max: 800000, rate: 0.05, fixed: 0 },\n                                { min: 800001, max: 1200000, rate: 0.10, fixed: 20000 },\n                                { min: 1200001, max: 2400000, rate: 0.15, fixed: 60000 },\n                                { min: 2400001, max: 3000000, rate: 0.20, fixed: 240000 },\n                                { min: 3000001, max: 4000000, rate: 0.25, fixed: 360000 },\n                                { min: 4000001, max: 6000000, rate: 0.30, fixed: 610000 },\n                                { min: 6000001, max: Infinity, rate: 0.35, fixed: 1210000 }\n                            ]\n                        },\n                        nonFiler: {\n                            zoneExemption: [0, 0], \/\/ No exemption for non-filers\n                            slabs: [\n                                { min: 0, max: 400000, rate: 0.05, fixed: 0 },\n                                { min: 400001, max: 800000, rate: 0.10, fixed: 20000 },\n                                { min: 800001, max: 1200000, rate: 0.15, fixed: 60000 },\n                                { min: 1200001, max: 2400000, rate: 0.20, fixed: 120000 },\n                                { min: 2400001, max: 3000000, rate: 0.25, fixed: 360000 },\n                                { min: 3000001, max: 4000000, rate: 0.30, fixed: 510000 },\n                                { min: 4000001, max: 6000000, rate: 0.35, fixed: 810000 },\n                                { min: 6000001, max: Infinity, rate: 0.40, fixed: 1510000 }\n                            ],\n                            advanceTaxRate: 0.04\n                        }\n                    },\n                    aop: {\n                        filer: {\n                            slabs: [\n                                { min: 0, max: 400000, rate: 0, fixed: 0 },\n                                { min: 400001, max: 800000, rate: 0.05, fixed: 0 },\n                                { min: 800001, max: 1200000, rate: 0.10, fixed: 20000 },\n                                { min: 1200001, max: 2400000, rate: 0.15, fixed: 60000 },\n                                { min: 2400001, max: 3000000, rate: 0.20, fixed: 240000 },\n                                { min: 3000001, max: 4000000, rate: 0.25, fixed: 360000 },\n                                { min: 4000001, max: 6000000, rate: 0.30, fixed: 610000 },\n                                { min: 6000001, max: Infinity, rate: 0.35, fixed: 1210000 }\n                            ]\n                        },\n                        nonFiler: {\n                            slabs: [\n                                { min: 0, max: 400000, rate: 0.05, fixed: 0 },\n                                { min: 400001, max: 800000, rate: 0.10, fixed: 20000 },\n                                { min: 800001, max: 1200000, rate: 0.15, fixed: 60000 },\n                                { min: 1200001, max: 2400000, rate: 0.20, fixed: 120000 },\n                                { min: 2400001, max: 3000000, rate: 0.25, fixed: 360000 },\n                                { min: 3000001, max: 4000000, rate: 0.30, fixed: 510000 },\n                                { min: 4000001, max: 6000000, rate: 0.35, fixed: 810000 },\n                                { min: 6000001, max: Infinity, rate: 0.40, fixed: 1510000 }\n                            ]\n                        }\n                    },\n                    company: {\n                        private: 0.29,\n                        public: 0.29,\n                        bank: {\n                            rate: 0.35,\n                            superTaxThreshold: 500000000,\n                            superTaxRate: 0.04\n                        },\n                        small: [\n                            { max: 5000000, rate: 0.20 },\n                            { min: 5000001, rate: 0.25, fixed: 1000000 }\n                        ]\n                    }\n                },\n                \"2024\": {\n                    \/\/ Projected rates for 2024-25 (similar structure as 2023 but with minor adjustments)\n                    salaried: {\n                        zoneExemption: [1300000, 650000], \/\/ Slightly increased exemptions\n                        medicalExemptPercent: 0.1,\n                        slabs: [\n                            { min: 0, max: 650000, rate: 0, fixed: 0 },\n                            { min: 650001, max: 1300000, rate: 0.025, fixed: 0 },\n                            { min: 1300001, max: 2600000, rate: 0.125, fixed: 16250 },\n                            { min: 2600001, max: 3900000, rate: 0.20, fixed: 178750 },\n                            { min: 3900001, max: 6500000, rate: 0.25, fixed: 438750 },\n                            { min: 6500001, max: 13000000, rate: 0.325, fixed: 1088750 },\n                            { min: 13000001, max: Infinity, rate: 0.35, fixed: 3203750 }\n                        ]\n                    },\n                    \/\/ ... similar structure for other types with adjusted numbers\n                },\n                \"2025\": {\n                    \/\/ Projected rates for 2025-26 (with potential changes)\n                    salaried: {\n                        zoneExemption: [1400000, 700000], \/\/ Further increased exemptions\n                        medicalExemptPercent: 0.1,\n                        slabs: [\n                            { min: 0, max: 700000, rate: 0, fixed: 0 },\n                            { min: 700001, max: 1400000, rate: 0.025, fixed: 0 },\n                            { min: 1400001, max: 2800000, rate: 0.125, fixed: 17500 },\n                            { min: 2800001, max: 4200000, rate: 0.20, fixed: 192500 },\n                            { min: 4200001, max: 7000000, rate: 0.25, fixed: 472500 },\n                            { min: 7000001, max: 14000000, rate: 0.325, fixed: 1172500 },\n                            { min: 14000001, max: Infinity, rate: 0.35, fixed: 3452500 }\n                        ]\n                    },\n                    \/\/ ... similar structure for other types with adjusted numbers\n                }\n            };\n\n            \/\/ Current selected year\n            let currentYear = \"2025\";\n            \n            \/\/ Tab switching functionality\n            const tabs = document.querySelectorAll('.tab');\n            tabs.forEach(tab => {\n                tab.addEventListener('click', function() {\n                    \/\/ Remove active class from all tabs\n                    tabs.forEach(t => t.classList.remove('active'));\n                    \/\/ Add active class to clicked tab\n                    this.classList.add('active');\n                    \n                    \/\/ Hide all calculators\n                    document.querySelectorAll('.calculator-container').forEach(calc => {\n                        calc.classList.add('hidden');\n                    });\n                    \n                    \/\/ Show the selected calculator\n                    const tabName = this.getAttribute('data-tab');\n                    document.getElementById(`${tabName}-calculator`).classList.remove('hidden');\n                });\n            });\n            \n            \/\/ Year selector change handler\n            document.getElementById('tax-year').addEventListener('change', function() {\n                currentYear = this.value;\n                updateYearNotice();\n                updateTaxSlabsDisplay();\n                \n                \/\/ Recalculate if there are existing calculations\n                if (document.getElementById('salaried-calculate-btn')) {\n                    calculateSalariedTax();\n                }\n                if (document.getElementById('non-salaried-calculate-btn')) {\n                    calculateNonSalariedTax();\n                }\n                if (document.getElementById('aop-calculate-btn')) {\n                    calculateAOPTax();\n                }\n                if (document.getElementById('company-calculate-btn')) {\n                    calculateCompanyTax();\n                }\n            });\n            \n            function updateYearNotice() {\n                const notice = document.getElementById('future-year-notice');\n                if (currentYear > \"2023\") {\n                    notice.classList.remove('hidden');\n                } else {\n                    notice.classList.add('hidden');\n                }\n            }\n            \n            function updateTaxSlabsDisplay() {\n                const yearData = taxData[currentYear];\n                const table = document.getElementById('salaried-slabs-table');\n                const title = document.getElementById('slab-year-title');\n                const exemptionsList = document.getElementById('exemptions-list');\n                \n                \/\/ Update title\n                title.textContent = `Income Tax Slabs for Salaried Individuals (FY ${currentYear}-${parseInt(currentYear)+1})`;\n                \n                \/\/ Clear existing table\n                table.innerHTML = '';\n                \n                \/\/ Create table header\n                const header = document.createElement('thead');\n                const headerRow = document.createElement('tr');\n                \n                const rangeHeader = document.createElement('th');\n                rangeHeader.textContent = 'Income Range (PKR)';\n                headerRow.appendChild(rangeHeader);\n                \n                const rateHeader = document.createElement('th');\n                rateHeader.textContent = 'Tax Rate';\n                headerRow.appendChild(rateHeader);\n                \n                const additionalHeader = document.createElement('th');\n                additionalHeader.textContent = 'Additional Tax';\n                headerRow.appendChild(additionalHeader);\n                \n                header.appendChild(headerRow);\n                table.appendChild(header);\n                \n                \/\/ Create table body\n                const body = document.createElement('tbody');\n                \n                yearData.salaried.slabs.forEach(slab => {\n                    const row = document.createElement('tr');\n                    \n                    const rangeCell = document.createElement('td');\n                    if (slab.max === Infinity) {\n                        rangeCell.textContent = `Above ${slab.min.toLocaleString()}`;\n                    } else {\n                        rangeCell.textContent = `${slab.min.toLocaleString()} - ${slab.max.toLocaleString()}`;\n                    }\n                    row.appendChild(rangeCell);\n                    \n                    const rateCell = document.createElement('td');\n                    rateCell.textContent = `${(slab.rate * 100)}%`;\n                    row.appendChild(rateCell);\n                    \n                    const additionalCell = document.createElement('td');\n                    if (slab.min === 0) {\n                        additionalCell.textContent = '-';\n                    } else {\n                        additionalCell.textContent = `${slab.fixed.toLocaleString()} + ${(slab.rate * 100)}% of amount exceeding ${slab.min.toLocaleString()}`;\n                    }\n                    row.appendChild(additionalCell);\n                    \n                    body.appendChild(row);\n                });\n                \n                table.appendChild(body);\n                \n                \/\/ Update exemptions list\n                exemptionsList.innerHTML = '';\n                \n                const zone1Item = document.createElement('li');\n                zone1Item.textContent = `Zone 1: 50% of salary or PKR ${yearData.salaried.zoneExemption[0].toLocaleString()} (whichever is lower) is exempt`;\n                exemptionsList.appendChild(zone1Item);\n                \n                const zone2Item = document.createElement('li');\n                zone2Item.textContent = `Zone 2: 50% of salary or PKR ${yearData.salaried.zoneExemption[1].toLocaleString()} (whichever is lower) is exempt`;\n                exemptionsList.appendChild(zone2Item);\n                \n                const medicalItem = document.createElement('li');\n                medicalItem.textContent = `${(yearData.salaried.medicalExemptPercent * 100)}% of basic salary as medical allowance is exempt`;\n                exemptionsList.appendChild(medicalItem);\n                \n                const additionalItem = document.createElement('li');\n                additionalItem.textContent = 'Additional exemptions may apply for special cases';\n                exemptionsList.appendChild(additionalItem);\n            }\n            \n            \/\/ Initialize tax slabs display\n            updateTaxSlabsDisplay();\n            updateYearNotice();\n            \n            \/\/ Salaried Individual Tax Calculation\n            document.getElementById('salaried-calculate-btn').addEventListener('click', calculateSalariedTax);\n            \n            function calculateSalariedTax() {\n                const yearData = taxData[currentYear].salaried;\n                \n                \/\/ Get input values\n                const basicSalary = parseFloat(document.getElementById('salaried-income').value) || 0;\n                const allowances = parseFloat(document.getElementById('salaried-allowances').value) || 0;\n                const bonus = parseFloat(document.getElementById('salaried-bonus').value) || 0;\n                const medical = parseFloat(document.getElementById('salaried-medical').value) || 0;\n                const otherIncome = parseFloat(document.getElementById('salaried-other').value) || 0;\n                const zone = document.getElementById('salaried-zone').value;\n                \n                \/\/ Calculate annual components\n                const annualBasic = basicSalary * 12;\n                const annualAllowances = allowances * 12;\n                \n                \/\/ Calculate exempt amounts\n                const medicalExempt = Math.min(annualBasic * yearData.medicalExemptPercent, medical);\n                const taxableMedical = medical - medicalExempt;\n                \n                \/\/ Calculate zone exemption\n                const zoneExemption = Math.min(annualBasic * 0.5, yearData.zoneExemption[zone-1]);\n                \n                \/\/ Calculate taxable income\n                let taxableIncome = annualBasic + annualAllowances + bonus + taxableMedical + otherIncome - zoneExemption;\n                taxableIncome = Math.max(0, taxableIncome); \/\/ Ensure not negative\n                \n                \/\/ Calculate tax based on slabs\n                let tax = 0;\n                let breakdown = [];\n                \n                for (const slab of yearData.slabs) {\n                    if (taxableIncome > slab.min) {\n                        const taxableInSlab = Math.min(taxableIncome, slab.max) - slab.min;\n                        const taxInSlab = slab.fixed + (taxableInSlab * slab.rate);\n                        \n                        if (taxableInSlab > 0) {\n                            breakdown.push({\n                                range: `${slab.min.toLocaleString()} - ${slab.max === Infinity ? 'Above' : slab.max.toLocaleString()}`,\n                                rate: `${(slab.rate * 100)}%`,\n                                amount: taxInSlab - slab.fixed\n                            });\n                            \n                            if (slab.fixed > 0 && slab.min > 0) {\n                                breakdown.push({\n                                    range: `Fixed amount for previous slabs`,\n                                    rate: '-',\n                                    amount: slab.fixed\n                                });\n                            }\n                        }\n                        \n                        tax = taxInSlab;\n                    } else {\n                        break;\n                    }\n                }\n                \n                \/\/ Update results\n                document.getElementById('salaried-taxable-income').textContent = taxableIncome.toLocaleString();\n                document.getElementById('salaried-tax-amount').textContent = Math.round(tax).toLocaleString();\n                document.getElementById('salaried-monthly-tax').textContent = Math.round(tax \/ 12).toLocaleString();\n                \n                \/\/ Update breakdown table\n                const breakdownTable = document.getElementById('salaried-tax-breakdown');\n                breakdownTable.innerHTML = '';\n                \n                \/\/ Group fixed amounts with their slabs\n                const groupedBreakdown = [];\n                for (let i = 0; i < breakdown.length; i++) {\n                    if (breakdown[i].rate === '-') {\n                        \/\/ Fixed amount from previous slab\n                        if (groupedBreakdown.length > 0) {\n                            groupedBreakdown[groupedBreakdown.length - 1].fixed = breakdown[i].amount;\n                        }\n                    } else {\n                        groupedBreakdown.push({\n                            range: breakdown[i].range,\n                            rate: breakdown[i].rate,\n                            amount: breakdown[i].amount,\n                            fixed: 0\n                        });\n                    }\n                }\n                \n                groupedBreakdown.forEach(slab => {\n                    const row = document.createElement('tr');\n                    \n                    const rangeCell = document.createElement('td');\n                    rangeCell.textContent = slab.range;\n                    row.appendChild(rangeCell);\n                    \n                    const amountCell = document.createElement('td');\n                    let amountText = '';\n                    if (slab.fixed > 0) {\n                        amountText = `${slab.fixed.toLocaleString()} + `;\n                    }\n                    amountText += `${Math.round(slab.amount).toLocaleString()}`;\n                    amountCell.textContent = amountText;\n                    row.appendChild(amountCell);\n                    \n                    breakdownTable.appendChild(row);\n                });\n                \n                \/\/ Add total row\n                const totalRow = document.createElement('tr');\n                totalRow.style.fontWeight = 'bold';\n                \n                const totalLabelCell = document.createElement('td');\n                totalLabelCell.textContent = 'Total Tax Payable';\n                totalRow.appendChild(totalLabelCell);\n                \n                const totalAmountCell = document.createElement('td');\n                totalAmountCell.textContent = Math.round(tax).toLocaleString();\n                totalRow.appendChild(totalAmountCell);\n                \n                breakdownTable.appendChild(totalRow);\n            }\n            \n            \/\/ Non-Salaried Individual Tax Calculation\n            document.getElementById('non-salaried-calculate-btn').addEventListener('click', calculateNonSalariedTax);\n            \n            function calculateNonSalariedTax() {\n                const yearData = taxData[currentYear].nonSalaried;\n                const filingStatus = document.getElementById('non-salaried-filing').value;\n                const statusData = yearData[filingStatus];\n                \n                const income = parseFloat(document.getElementById('non-salaried-income').value) || 0;\n                const otherIncome = parseFloat(document.getElementById('non-salaried-other').value) || 0;\n                const zone = document.getElementById('non-salaried-zone').value;\n                \n                let taxableIncome = income + otherIncome;\n                \n                \/\/ Apply zone exemption (different from salaried)\n                taxableIncome = Math.max(0, taxableIncome - statusData.zoneExemption[zone-1]);\n                \n                \/\/ Calculate tax based on slabs\n                let tax = 0;\n                let breakdown = [];\n                \n                for (const slab of statusData.slabs) {\n                    if (taxableIncome > slab.min) {\n                        const taxableInSlab = Math.min(taxableIncome, slab.max || Infinity) - slab.min;\n                        const taxInSlab = slab.fixed + (taxableInSlab * slab.rate);\n                        \n                        if (taxableInSlab > 0) {\n                            breakdown.push({\n                                range: `${slab.min.toLocaleString()} - ${slab.max ? slab.max.toLocaleString() : 'Above'}`,\n                                rate: `${(slab.rate * 100)}%`,\n                                amount: taxInSlab - slab.fixed\n                            });\n                            \n                            if (slab.fixed > 0 && slab.min > 0) {\n                                breakdown.push({\n                                    range: `Fixed amount for previous slabs`,\n                                    rate: '-',\n                                    amount: slab.fixed\n                                });\n                            }\n                        }\n                        \n                        tax = taxInSlab;\n                    } else {\n                        break;\n                    }\n                }\n                \n                \/\/ Calculate advance tax (for non-filers)\n                let advanceTax = 0;\n                if (filingStatus === 'non-filer' && statusData.advanceTaxRate) {\n                    advanceTax = income * statusData.advanceTaxRate;\n                }\n                \n                \/\/ Update results\n                document.getElementById('non-salaried-taxable-income').textContent = taxableIncome.toLocaleString();\n                document.getElementById('non-salaried-tax-amount').textContent = Math.round(tax).toLocaleString();\n                document.getElementById('non-salaried-advance-tax').textContent = Math.round(advanceTax).toLocaleString();\n                \n                \/\/ Update breakdown table\n                const breakdownTable = document.getElementById('non-salaried-tax-breakdown');\n                breakdownTable.innerHTML = '';\n                \n                \/\/ Group fixed amounts with their slabs\n                const groupedBreakdown = [];\n                for (let i = 0; i < breakdown.length; i++) {\n                    if (breakdown[i].rate === '-') {\n                        \/\/ Fixed amount from previous slab\n                        if (groupedBreakdown.length > 0) {\n                            groupedBreakdown[groupedBreakdown.length - 1].fixed = breakdown[i].amount;\n                        }\n                    } else {\n                        groupedBreakdown.push({\n                            range: breakdown[i].range,\n                            rate: breakdown[i].rate,\n                            amount: breakdown[i].amount,\n                            fixed: 0\n                        });\n                    }\n                }\n                \n                groupedBreakdown.forEach(slab => {\n                    const row = document.createElement('tr');\n                    \n                    const rangeCell = document.createElement('td');\n                    rangeCell.textContent = slab.range;\n                    row.appendChild(rangeCell);\n                    \n                    const amountCell = document.createElement('td');\n                    let amountText = '';\n                    if (slab.fixed > 0) {\n                        amountText = `${slab.fixed.toLocaleString()} + `;\n                    }\n                    amountText += `${Math.round(slab.amount).toLocaleString()}`;\n                    amountCell.textContent = amountText;\n                    row.appendChild(amountCell);\n                    \n                    breakdownTable.appendChild(row);\n                });\n                \n                \/\/ Add total row\n                const totalRow = document.createElement('tr');\n                totalRow.style.fontWeight = 'bold';\n                \n                const totalLabelCell = document.createElement('td');\n                totalLabelCell.textContent = 'Total Tax Payable';\n                totalRow.appendChild(totalLabelCell);\n                \n                const totalAmountCell = document.createElement('td');\n                totalAmountCell.textContent = Math.round(tax).toLocaleString();\n                totalRow.appendChild(totalAmountCell);\n                \n                breakdownTable.appendChild(totalRow);\n                \n                \/\/ Add advance tax row if applicable\n                if (advanceTax > 0) {\n                    const advanceRow = document.createElement('tr');\n                    advanceRow.style.fontWeight = 'bold';\n                    \n                    const advanceLabelCell = document.createElement('td');\n                    advanceLabelCell.textContent = 'Advance Tax (Non-Filer)';\n                    advanceRow.appendChild(advanceLabelCell);\n                    \n                    const advanceAmountCell = document.createElement('td');\n                    advanceAmountCell.textContent = Math.round(advanceTax).toLocaleString();\n                    advanceRow.appendChild(advanceAmountCell);\n                    \n                    breakdownTable.appendChild(advanceRow);\n                }\n            }\n            \n            \/\/ AOP Tax Calculation\n            document.getElementById('aop-calculate-btn').addEventListener('click', calculateAOPTax);\n            \n            function calculateAOPTax() {\n                const yearData = taxData[currentYear].aop;\n                const filingStatus = document.getElementById('aop-filing').value;\n                const statusData = yearData[filingStatus];\n                \n                const income = parseFloat(document.getElementById('aop-income').value) || 0;\n                const otherIncome = parseFloat(document.getElementById('aop-other').value) || 0;\n                \n                const taxableIncome = income + otherIncome;\n                \n                \/\/ Calculate tax based on slabs\n                let tax = 0;\n                let breakdown = [];\n                \n                for (const slab of statusData.slabs) {\n                    if (taxableIncome > slab.min) {\n                        const taxableInSlab = Math.min(taxableIncome, slab.max || Infinity) - slab.min;\n                        const taxInSlab = slab.fixed + (taxableInSlab * slab.rate);\n                        \n                        if (taxableInSlab > 0) {\n                            breakdown.push({\n                                range: `${slab.min.toLocaleString()} - ${slab.max ? slab.max.toLocaleString() : 'Above'}`,\n                                rate: `${(slab.rate * 100)}%`,\n                                amount: taxInSlab - slab.fixed\n                            });\n                            \n                            if (slab.fixed > 0 && slab.min > 0) {\n                                breakdown.push({\n                                    range: `Fixed amount for previous slabs`,\n                                    rate: '-',\n                                    amount: slab.fixed\n                                });\n                            }\n                        }\n                        \n                        tax = taxInSlab;\n                    } else {\n                        break;\n                    }\n                }\n                \n                \/\/ Update results\n                document.getElementById('aop-taxable-income').textContent = taxableIncome.toLocaleString();\n                document.getElementById('aop-tax-amount').textContent = Math.round(tax).toLocaleString();\n                \n                \/\/ Update breakdown table\n                const breakdownTable = document.getElementById('aop-tax-breakdown');\n                breakdownTable.innerHTML = '';\n                \n                \/\/ Group fixed amounts with their slabs\n                const groupedBreakdown = [];\n                for (let i = 0; i < breakdown.length; i++) {\n                    if (breakdown[i].rate === '-') {\n                        \/\/ Fixed amount from previous slab\n                        if (groupedBreakdown.length > 0) {\n                            groupedBreakdown[groupedBreakdown.length - 1].fixed = breakdown[i].amount;\n                        }\n                    } else {\n                        groupedBreakdown.push({\n                            range: breakdown[i].range,\n                            rate: breakdown[i].rate,\n                            amount: breakdown[i].amount,\n                            fixed: 0\n                        });\n                    }\n                }\n                \n                groupedBreakdown.forEach(slab => {\n                    const row = document.createElement('tr');\n                    \n                    const rangeCell = document.createElement('td');\n                    rangeCell.textContent = slab.range;\n                    row.appendChild(rangeCell);\n                    \n                    const amountCell = document.createElement('td');\n                    let amountText = '';\n                    if (slab.fixed > 0) {\n                        amountText = `${slab.fixed.toLocaleString()} + `;\n                    }\n                    amountText += `${Math.round(slab.amount).toLocaleString()}`;\n                    amountCell.textContent = amountText;\n                    row.appendChild(amountCell);\n                    \n                    breakdownTable.appendChild(row);\n                });\n                \n                \/\/ Add total row\n                const totalRow = document.createElement('tr');\n                totalRow.style.fontWeight = 'bold';\n                \n                const totalLabelCell = document.createElement('td');\n                totalLabelCell.textContent = 'Total Tax Payable';\n                totalRow.appendChild(totalLabelCell);\n                \n                const totalAmountCell = document.createElement('td');\n                totalAmountCell.textContent = Math.round(tax).toLocaleString();\n                totalRow.appendChild(totalAmountCell);\n                \n                breakdownTable.appendChild(totalRow);\n            }\n            \n            \/\/ Company Tax Calculation\n            document.getElementById('company-calculate-btn').addEventListener('click', calculateCompanyTax);\n            \n            function calculateCompanyTax() {\n                const yearData = taxData[currentYear].company;\n                const companyType = document.getElementById('company-type').value;\n                \n                const income = parseFloat(document.getElementById('company-income').value) || 0;\n                \n                const taxableIncome = income;\n                \n                \/\/ Calculate tax based on company type\n                let tax = 0;\n                let superTax = 0;\n                let breakdown = [];\n                \n                if (companyType === 'private' || companyType === 'public') {\n                    tax = taxableIncome * yearData[companyType];\n                    breakdown.push({ \n                        description: `Standard Company Tax (${(yearData[companyType] * 100)}%)`,\n                        amount: tax \n                    });\n                } else if (companyType === 'bank') {\n                    tax = taxableIncome * yearData.bank.rate;\n                    breakdown.push({ \n                        description: `Banking Company Tax (${(yearData.bank.rate * 100)}%)`,\n                        amount: tax \n                    });\n                    \n                    \/\/ Super tax for banks\n                    if (taxableIncome > yearData.bank.superTaxThreshold) {\n                        superTax = (taxableIncome - yearData.bank.superTaxThreshold) * yearData.bank.superTaxRate;\n                        breakdown.push({ \n                            description: `Super Tax (on income above ${yearData.bank.superTaxThreshold.toLocaleString()})`,\n                            amount: superTax \n                        });\n                    }\n                } else if (companyType === 'small') {\n                    if (taxableIncome <= yearData.small[0].max) {\n                        tax = taxableIncome * yearData.small[0].rate;\n                        breakdown.push({ \n                            description: `Small Company Tax (Tier 1 - ${(yearData.small[0].rate * 100)}%)`,\n                            amount: tax \n                        });\n                    } else {\n                        tax = yearData.small[1].fixed + (taxableIncome - yearData.small[0].max) * yearData.small[1].rate;\n                        breakdown.push(\n                            { \n                                description: `Small Company Tax (First ${yearData.small[0].max.toLocaleString()})`,\n                                amount: yearData.small[1].fixed \n                            },\n                            { \n                                description: `Small Company Tax (Remaining at ${(yearData.small[1].rate * 100)}%)`,\n                                amount: tax - yearData.small[1].fixed \n                            }\n                        );\n                    }\n                }\n                \n                \/\/ Update results\n                document.getElementById('company-taxable-income').textContent = taxableIncome.toLocaleString();\n                document.getElementById('company-tax-amount').textContent = Math.round(tax).toLocaleString();\n                document.getElementById('company-super-tax').textContent = Math.round(superTax).toLocaleString();\n                \n                \/\/ Update breakdown table\n                const breakdownTable = document.getElementById('company-tax-breakdown');\n                breakdownTable.innerHTML = '';\n                \n                breakdown.forEach(item => {\n                    const row = document.createElement('tr');\n                    \n                    const descCell = document.createElement('td');\n                    descCell.textContent = item.description;\n                    row.appendChild(descCell);\n                    \n                    const amountCell = document.createElement('td');\n                    amountCell.textContent = Math.round(item.amount).toLocaleString();\n                    row.appendChild(amountCell);\n                    \n                    breakdownTable.appendChild(row);\n                });\n                \n                \/\/ Add total row\n                const totalRow = document.createElement('tr');\n                totalRow.style.fontWeight = 'bold';\n                \n                const totalLabelCell = document.createElement('td');\n                totalLabelCell.textContent = 'Total Tax Payable';\n                totalRow.appendChild(totalLabelCell);\n                \n                const totalAmountCell = document.createElement('td');\n                totalAmountCell.textContent = Math.round(tax + superTax).toLocaleString();\n                totalRow.appendChild(totalAmountCell);\n                \n                breakdownTable.appendChild(totalRow);\n            }\n        });\n    <\/script>\n<\/body>\n<\/html>\n\n\n\n<p><\/p>\n<img src=\"https:\/\/toolsblaster.com\/wp-content\/uploads\/2025\/07\/incom-Tax-.webp\" class=\"ss-hidden-pin-image\" alt=\"\" data-pin-url=\"https:\/\/toolsblaster.com\/?p=1877\" data-pin-media=\"https:\/\/toolsblaster.com\/wp-content\/uploads\/2025\/07\/incom-Tax-.webp\" data-pin-description=\"Pakistani New Income Tax Calculator\"\/>","protected":false},"excerpt":{"rendered":"<p>Pakistani Income Tax Calculator 2023-26 | TaxCalculatorPK Pakistani Income Tax Calculator Calculate your tax liability as per FBR rates Select Fiscal Year: 2023-242024-252025-26 Note: 2025-26 tax rates are projected based&hellip;<\/p>\n<img src=\"https:\/\/toolsblaster.com\/wp-content\/uploads\/2025\/07\/incom-Tax-.webp\" class=\"ss-hidden-pin-image\" alt=\"\" data-pin-url=\"https:\/\/toolsblaster.com\/?p=1877\" data-pin-media=\"https:\/\/toolsblaster.com\/wp-content\/uploads\/2025\/07\/incom-Tax-.webp\" data-pin-description=\"Pakistani New Income Tax Calculator\"\/>","protected":false},"author":1,"featured_media":1878,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAowgIyDCw:productID":"","_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[16,10],"tags":[],"class_list":["post-1877","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-calculators","category-top-tools"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/toolsblaster.com\/index.php?rest_route=\/wp\/v2\/posts\/1877","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/toolsblaster.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/toolsblaster.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/toolsblaster.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/toolsblaster.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1877"}],"version-history":[{"count":9,"href":"https:\/\/toolsblaster.com\/index.php?rest_route=\/wp\/v2\/posts\/1877\/revisions"}],"predecessor-version":[{"id":1890,"href":"https:\/\/toolsblaster.com\/index.php?rest_route=\/wp\/v2\/posts\/1877\/revisions\/1890"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/toolsblaster.com\/index.php?rest_route=\/wp\/v2\/media\/1878"}],"wp:attachment":[{"href":"https:\/\/toolsblaster.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1877"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/toolsblaster.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1877"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/toolsblaster.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1877"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}