<?xml version="1.0" encoding="UTF-8" ?><!-- generator=Zoho Sites --><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><atom:link href="https://www.taass.in/blogs/nri/feed" rel="self" type="application/rss+xml"/><title>Thombre and Associates - Blog , NRI</title><description>Thombre and Associates - Blog , NRI</description><link>https://www.taass.in/blogs/nri</link><lastBuildDate>Mon, 13 Apr 2026 21:38:49 -0700</lastBuildDate><generator>http://zoho.com/sites/</generator><item><title><![CDATA[Common NRI Tax Trap]]></title><link>https://www.taass.in/blogs/post/common-nri-tax-trap</link><description><![CDATA[Essential guide for Non-Resident Indians on avoiding common tax traps in India. Learn legal strategies for determining residential status, preventing double taxation using DTAA, reducing high TDS, and ensuring FEMA compliance for NRE/NRO accounts. Maintain a clean financial record.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_Y8fMjyNbQI6BW8caAtodtA" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_nlzqvua49gwsFb5nw5U22g" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_MX3XBwUak4LjAhhINMaZLA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_jsSivj2l4_eIYlrptcC9cw" data-element-type="codeSnippet" class="zpelement zpelem-codesnippet "><div class="zpsnippet-container"><!DOCTYPE html><html lang="en"><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>NRI Tax Traps & Compliance Guide</title><script src="https://cdn.tailwindcss.com"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script><style> @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); body { font-family: 'Inter', sans-serif; background-color: #fafaf9; /* Stone-50 */ color: #1c1917; /* Stone-900 */ } .chart-container { position: relative; width: 100%; max-width: 600px; margin-left: auto; margin-right: auto; height: 300px; max-height: 400px; } @media (min-width: 768px) { .chart-container { height: 350px; } } .card-hover:hover { transform: translateY(-2px); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); } .nav-active { border-bottom: 2px solid #0d9488; /* Teal-600 */ color: #0f766e; /* Teal-700 */ font-weight: 600; } /* Custom Range Slider */ input[type=range] { -webkit-appearance: none; background: transparent; } input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; height: 20px; width: 20px; border-radius: 50%; background: #0d9488; cursor: pointer; margin-top: -8px; box-shadow: 0 1px 3px rgba(0,0,0,0.3); } input[type=range]::-webkit-slider-runnable-track { width: 100%; height: 4px; cursor: pointer; background: #d6d3d1; border-radius: 2px; } </style><!-- Chosen Palette: Warm Neutrals (Stone) with Professional Teal Accents and Alert Orange for Warnings --><!-- Application Structure Plan: The app uses a dashboard-style tabbed layout. This allows the user to focus on one specific "Tax Trap" at a time without being overwhelmed by text. 1. Residential Status: Interactive slider to demonstrate the 182-day rule dynamic. 2. Double Taxation: Visual comparison chart showing tax impact with and without DTAA compliance. 3. TDS & Banking: Interactive cards and a decision tree for banking rules (NRE vs NRO). 4. Filing & Assets: Checklist approach to compliance. This structure separates the "Problem" (Trap) from the "Solution" (Legal Way to Save), guiding the user from awareness to action. --><!-- Visualization & Content Choices: - Residential Gauge (Doughnut Chart): Goal -> Show how close one is to losing NRI status. Justification -> Visualizing 'days remaining' is more impactful than a number. - Tax Impact Bar Chart: Goal -> Compare financial outcomes. Justification -> Bar charts best represent categorical comparisons (With DTAA vs Without). - NRE/NRO Cards: Goal -> Differentiate account types. Justification -> Clean UI cards with clear bullet points are better than a dense table. - Compliance Checklist: Goal -> Actionable steps. Justification -> Interactive toggles verify understanding. - Confirmation: NO SVG or Mermaid used. Canvas and HTML/CSS used for all visuals. --> <!-- CONFIRMATION: NO SVG graphics used. NO Mermaid JS used. --><body class="min-h-screen flex flex-col"><!-- Header --><header class="bg-white border-b border-stone-200 sticky top-0 z-50"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="flex justify-between items-center h-16"><div class="flex items-center"><span class="text-2xl font-bold text-stone-800 tracking-tight">NRI<span class="text-teal-600">TaxGuard</span></span></div>
<nav class="hidden md:flex space-x-8" id="desktop-nav"><!-- Nav items injected by JS --></nav><div class="md:hidden"><button id="mobile-menu-btn" class="text-stone-500 hover:text-stone-900 focus:outline-none"> Menu </button></div>
</div></div><!-- Mobile Nav --><div class="md:hidden hidden bg-stone-50 border-t border-stone-200" id="mobile-nav"><!-- Nav items injected by JS --></div>
</header><!-- Main Content Area --><main class="flex-grow max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8 w-full"><!-- Hero/ Intro Section --><div id="section-intro" class="section-view block animate-fade-in"><div class="text-center py-12"><h1 class="text-4xl sm:text-5xl font-extrabold text-stone-900 mb-6"> Top Tax Traps NRIs Fall Into <br class="hidden sm:block"/>& <span class="text-teal-600">Legal Ways to Save</span></h1><p class="mt-4 text-xl text-stone-600 max-w-3xl mx-auto"> Many Non-Resident Indians face unexpected tax troubles due to simple mistakes. From residential status errors to double taxation, navigate the complexities of the Income Tax Act and FEMA rules legally. </p><div class="mt-8 flex justify-center gap-4"><button onclick="navigateTo('status')" class="px-6 py-3 border border-transparent text-base font-medium rounded-md text-white bg-teal-600 hover:bg-teal-700 shadow-md transition-all"> Start Assessment </button></div>
</div><!-- Dashboard Summary Grid --><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mt-12"><div class="bg-white p-6 rounded-xl shadow-sm border border-stone-100 card-hover cursor-pointer" onclick="navigateTo('status')"><div class="text-orange-500 font-bold text-sm uppercase tracking-wide mb-2">Trap #1</div>
<h3 class="text-lg font-bold text-stone-900 mb-2">Residential Status</h3><p class="text-stone-600 text-sm">Miscounting days can make your global income taxable in India.</p></div>
<div class="bg-white p-6 rounded-xl shadow-sm border border-stone-100 card-hover cursor-pointer" onclick="navigateTo('doubletax')"><div class="text-orange-500 font-bold text-sm uppercase tracking-wide mb-2">Trap #2</div>
<h3 class="text-lg font-bold text-stone-900 mb-2">Double Taxation</h3><p class="text-stone-600 text-sm">Paying tax twice? Use DTAA to claim credits legally.</p></div>
<div class="bg-white p-6 rounded-xl shadow-sm border border-stone-100 card-hover cursor-pointer" onclick="navigateTo('tds')"><div class="text-orange-500 font-bold text-sm uppercase tracking-wide mb-2">Trap #3</div>
<h3 class="text-lg font-bold text-stone-900 mb-2">High TDS & Banking</h3><p class="text-stone-600 text-sm">Deductions up to 30%? FEMA rules for Savings accounts.</p></div>
<div class="bg-white p-6 rounded-xl shadow-sm border border-stone-100 card-hover cursor-pointer" onclick="navigateTo('filing')"><div class="text-orange-500 font-bold text-sm uppercase tracking-wide mb-2">Trap #4</div>
<h3 class="text-lg font-bold text-stone-900 mb-2">Filing & Assets</h3><p class="text-stone-600 text-sm">Reporting foreign assets erroneously and filing obligations.</p></div>
</div></div><!-- Section 1: Residential Status --><div id="section-status" class="section-view hidden"><div class="mb-8 border-b border-stone-200 pb-4"><h2 class="text-3xl font-bold text-stone-900">The Residential Status Trap</h2><p class="text-stone-600 mt-2"> In India, your tax status is based on the days you spend here, not your citizenship. A small calculation error can turn an NRI into a "Resident" or "RNOR," making your <span class="font-bold text-orange-600">global income</span> taxable in India. </p></div>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center"><!-- Calculator --><div class="bg-white p-8 rounded-2xl shadow-sm border border-stone-200"><h3 class="text-xl font-bold text-stone-800 mb-6">Days in India Calculator</h3><div class="mb-8"><label for="days-slider" class="block text-sm font-medium text-stone-700 mb-2">Days spent in India (Financial Year)</label><input type="range" id="days-slider" min="0" max="365" value="60" class="w-full h-2 bg-stone-200 rounded-lg appearance-none cursor-pointer"><div class="flex justify-between text-xs text-stone-500 mt-2"><span>0 Days</span><span class="font-bold text-lg text-teal-600" id="days-display">60 Days</span><span>365 Days</span></div>
</div><div id="status-result" class="p-4 bg-teal-50 border border-teal-200 rounded-lg transition-colors"><h4 class="font-bold text-teal-800 text-lg">Likely Status: NRI</h4><p class="text-sm text-teal-700 mt-1">Your global income is generally NOT taxable in India.</p></div>
<div class="mt-6 text-xs text-stone-500"><p>* This is a simplified checker based on the primary 182-day rule. Other conditions (like 60 days + 365 days in 4 years) may apply.</p></div>
</div><!-- Visualization --><div class="flex flex-col items-center"><h3 class="text-lg font-semibold text-stone-700 mb-4 text-center">Risk Visualization</h3><div class="chart-container"><canvas id="statusChart"></canvas></div>
<p class="text-center text-sm text-stone-600 mt-4 max-w-md"> Tracking days is crucial. Careful planning of visits helps avoid unwanted tax surprises. </p></div>
</div></div><!-- Section 2: Double Taxation --><div id="section-doubletax" class="section-view hidden"><div class="mb-8 border-b border-stone-200 pb-4"><h2 class="text-3xl font-bold text-stone-900">The Double Taxation Trap</h2><p class="text-stone-600 mt-2"> Earning abroad and in India? Without proper planning, you might pay tax twice. The Double Taxation Avoidance Agreement (DTAA) is your legal shield. </p></div>
<div class="grid grid-cols-1 lg:grid-cols-3 gap-8"><!-- Text Content --><div class="lg:col-span-1 space-y-6"><div class="bg-white p-6 rounded-xl shadow-sm border border-stone-200"><h3 class="text-lg font-bold text-stone-900 mb-3">Required Documents</h3><p class="text-sm text-stone-600 mb-4">To claim credit for taxes paid abroad and avoid paying twice, you typically need to file:</p><ul class="space-y-3"><li class="flex items-start"><span class="flex-shrink-0 h-5 w-5 rounded-full bg-teal-100 text-teal-600 flex items-center justify-center text-xs font-bold mt-0.5">1</span><span class="ml-3 text-sm text-stone-700"><strong class="block text-stone-900">Form 10F</strong> Self-declaration for invoking DTAA benefits.</span></li><li class="flex items-start"><span class="flex-shrink-0 h-5 w-5 rounded-full bg-teal-100 text-teal-600 flex items-center justify-center text-xs font-bold mt-0.5">2</span><span class="ml-3 text-sm text-stone-700"><strong class="block text-stone-900">TRC (Tax Residency Certificate)</strong> Proof of residency from your current country.</span></li><li class="flex items-start"><span class="flex-shrink-0 h-5 w-5 rounded-full bg-teal-100 text-teal-600 flex items-center justify-center text-xs font-bold mt-0.5">3</span><span class="ml-3 text-sm text-stone-700"><strong class="block text-stone-900">Form 67</strong> Statement of income offered to tax abroad.</span></li></ul></div>
</div><!-- Simulation/Chart --><div class="lg:col-span-2 bg-white p-6 rounded-xl shadow-sm border border-stone-200"><div class="flex justify-between items-center mb-6"><h3 class="text-lg font-bold text-stone-800">Tax Liability Simulation</h3><div class="flex items-center space-x-2"><span class="text-sm text-stone-600">Apply DTAA?</span><button id="dtaa-toggle" class="relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none bg-stone-300"><span class="sr-only">Use setting</span><span id="dtaa-toggle-knob" class="pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out translate-x-0"></span></button></div>
</div><div class="chart-container"><canvas id="dtaaChart"></canvas></div><p class="text-sm text-stone-500 mt-4 italic text-center"> *Hypothetical scenario: Income taxed at 30% in India and 25% Abroad. Without DTAA, you pay both (55%). With DTAA, you pay the higher of the two or claim credit, effectively paying only 30%. </p></div>
</div></div><!-- Section 3: TDS & Banking --><div id="section-tds" class="section-view hidden"><div class="mb-8 border-b border-stone-200 pb-4"><h2 class="text-3xl font-bold text-stone-900">High TDS & Banking Rules</h2><p class="text-stone-600 mt-2"> NRIs often face TDS rates up to 30% on rent and capital gains. Additionally, continuing to use a regular resident savings account is a violation of FEMA rules. </p></div>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-12"><!-- TDS Section --><div class="bg-white p-6 rounded-xl shadow-sm border border-stone-200 flex flex-col"><h3 class="text-xl font-bold text-stone-800 mb-4 border-b border-stone-100 pb-2">Reducing TDS Legally</h3><p class="text-sm text-stone-600 mb-4"> TDS often exceeds actual tax liability. Instead of waiting for a refund, apply for a lower deduction. </p><div class="bg-teal-50 p-4 rounded-lg border border-teal-100 mb-6"><h4 class="font-bold text-teal-800 mb-1">Solution: Form 13</h4><p class="text-sm text-teal-700"> Apply under Section 197 for a <span class="font-semibold">Lower or Nil TDS Certificate</span>. This matches the deduction to your real liability. </p></div>
<div class="chart-container mt-auto"><canvas id="tdsChart"></canvas></div></div><!-- Banking Section --><div class="flex flex-col space-y-4"><h3 class="text-xl font-bold text-stone-800 border-b border-stone-100 pb-2">The Banking Mandate (FEMA)</h3><p class="text-sm text-stone-600">You must convert resident savings accounts upon moving abroad. Violations lead to penalties.</p><div class="grid grid-cols-1 gap-4"><!-- NRE Card --><div class="bg-indigo-50 hover:bg-indigo-100 transition p-5 rounded-xl border border-indigo-100 cursor-pointer group" onclick="toggleBankingDetail('nre')"><div class="flex justify-between items-center"><h4 class="font-bold text-indigo-900 text-lg">NRE Account</h4><span class="text-indigo-400 group-hover:text-indigo-600 text-2xl font-light">+</span></div>
<p class="text-sm text-indigo-800 mt-1">Non-Resident External</p><div id="nre-detail" class="hidden mt-3 text-sm text-stone-700 space-y-2 border-t border-indigo-200 pt-2"><ul class="list-disc list-inside"><li>For <span class="font-semibold">Foreign Earnings</span> transfer to India.</li><li>Principal & Interest are fully <span class="font-semibold text-emerald-600">Repatriable</span>.</li><li>Interest earned is <span class="font-semibold text-emerald-600">Tax-Free</span> in India.</li></ul></div>
</div><!-- NRO Card --><div class="bg-sky-50 hover:bg-sky-100 transition p-5 rounded-xl border border-sky-100 cursor-pointer group" onclick="toggleBankingDetail('nro')"><div class="flex justify-between items-center"><h4 class="font-bold text-sky-900 text-lg">NRO Account</h4><span class="text-sky-400 group-hover:text-sky-600 text-2xl font-light">+</span></div>
<p class="text-sm text-sky-800 mt-1">Non-Resident Ordinary</p><div id="nro-detail" class="hidden mt-3 text-sm text-stone-700 space-y-2 border-t border-sky-200 pt-2"><ul class="list-disc list-inside"><li>For <span class="font-semibold">India-sourced Income</span> (Rent, Dividends).</li><li>Restricted Repatriation (up to $1M USD/year).</li><li>Interest is <span class="font-semibold text-orange-600">Taxable</span> in India.</li></ul></div>
</div></div></div></div></div><!-- Section 4: Filing & Assets --><div id="section-filing" class="section-view hidden"><div class="mb-8 border-b border-stone-200 pb-4"><h2 class="text-3xl font-bold text-stone-900">Filing ITR & Asset Reporting</h2><p class="text-stone-600 mt-2"> Even with small income, filing might be mandatory or beneficial. Reporting foreign assets when not required is a risky trap. </p></div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-8"><!-- Foreign Asset Warning --><div class="bg-orange-50 p-6 rounded-xl border border-orange-200"><div class="flex items-start mb-4"><div class="flex-shrink-0 p-2 bg-orange-100 rounded-lg text-orange-600"><span class="text-2xl">⚠️</span></div>
<div class="ml-4"><h3 class="text-lg font-bold text-orange-900">Foreign Asset Trap</h3><p class="text-orange-800 text-sm font-medium mt-1">Do NOT fill Schedule FA by mistake</p></div>
</div><p class="text-stone-700 text-sm mb-4"> Only <strong>Residents</strong> must report foreign assets (Schedule FA). If an NRI fills this: </p><ul class="list-disc list-inside text-sm text-stone-700 space-y-1 mb-4"><li>It signals the wrong residential status.</li><li>It may trigger scrutiny from the tax department.</li><li>Always choose the correct ITR form (Usually <strong>ITR-2</strong> for NRIs).</li></ul></div>
<!-- Filing Checklist --><div class="bg-white p-6 rounded-xl shadow-sm border border-stone-200"><h3 class="text-lg font-bold text-stone-900 mb-4">Do You Need to File ITR?</h3><div class="space-y-4" id="filing-checklist"><div class="flex items-center justify-between p-3 bg-stone-50 rounded-lg"><span class="text-sm text-stone-700">Total Indian Income > ₹2.5 Lakh?</span><div class="flex space-x-2"><button class="px-3 py-1 text-xs rounded border border-stone-300 hover:bg-stone-200 filing-btn" data-val="yes">Yes</button><button class="px-3 py-1 text-xs rounded border border-stone-300 hover:bg-stone-200 filing-btn" data-val="no">No</button></div>
</div><div class="flex items-center justify-between p-3 bg-stone-50 rounded-lg"><span class="text-sm text-stone-700">Earned Capital Gains (Short/Long Term)?</span><div class="flex space-x-2"><button class="px-3 py-1 text-xs rounded border border-stone-300 hover:bg-stone-200 filing-btn" data-val="yes">Yes</button><button class="px-3 py-1 text-xs rounded border border-stone-300 hover:bg-stone-200 filing-btn" data-val="no">No</button></div>
</div><div class="flex items-center justify-between p-3 bg-stone-50 rounded-lg"><span class="text-sm text-stone-700">Want to claim TDS Refund?</span><div class="flex space-x-2"><button class="px-3 py-1 text-xs rounded border border-stone-300 hover:bg-stone-200 filing-btn" data-val="yes">Yes</button><button class="px-3 py-1 text-xs rounded border border-stone-300 hover:bg-stone-200 filing-btn" data-val="no">No</button></div>
</div></div><div id="filing-result" class="mt-6 p-4 rounded-lg bg-stone-100 text-center hidden"><span class="font-bold text-stone-800 block mb-1">Recommendation:</span><span id="filing-text" class="text-sm text-stone-600">Select options above.</span></div>
</div></div></div></main><!-- Footer --><footer class="bg-stone-900 text-stone-400 py-8 mt-auto"><div class="max-w-7xl mx-auto px-4 text-center"><p class="text-sm">Based on: "Top tax traps NRIs fall into and 8 legal ways to save big on Indian taxes"</p><p class="text-xs mt-2 text-stone-600">Disclaimer: This tool is for informational purposes only and does not constitute professional tax advice. Consult a CA for specific cases.</p></div>
</footer><script>
        // State
        const state = {
            currentSection: 'intro',
            dtaaActive: false,
            daysInIndia: 60,
            filingCriteria: {
                income: null,
                gains: null,
                refund: null
            }
        };

        // Navigation Data
        const navItems = [
            { id: 'intro', label: 'Home' },
            { id: 'status', label: 'Status Check' },
            { id: 'doubletax', label: 'Double Tax' },
            { id: 'tds', label: 'TDS & Banking' },
            { id: 'filing', label: 'Filing & Assets' }
        ];

        // Charts Instances
        let statusChart = null;
        let dtaaChart = null;
        let tdsChart = null;

        // Initialization
        document.addEventListener('DOMContentLoaded', () => {
            renderNav();
            initCharts();
            setupEventListeners();
            updateFilingResult(); // Reset state
        });

        // Navigation Logic
        function renderNav() {
            const desktopNav = document.getElementById('desktop-nav');
            const mobileNav = document.getElementById('mobile-nav');
            
            let html = '';
            navItems.forEach(item => {
                const activeClass = state.currentSection === item.id ? 'nav-active' : 'text-stone-500 hover:text-stone-900';
                html += `<button onclick="navigateTo('${item.id}')" class="${activeClass} px-3 py-2 rounded-md text-sm font-medium transition-colors">${item.label}</button>`;
            });

            desktopNav.innerHTML = html;
            
            // Mobile Nav
            let mobileHtml = '<div class="px-2 pt-2 pb-3 space-y-1 sm:px-3">';
            navItems.forEach(item => {
                 const activeClass = state.currentSection === item.id ? 'bg-teal-50 text-teal-700' : 'text-stone-600 hover:bg-stone-100';
                 mobileHtml += `<button onclick="navigateTo('${item.id}')" class="${activeClass} block w-full text-left px-3 py-2 rounded-md text-base font-medium">${item.label}</button>`;
            });
            mobileHtml += '</div>';
            mobileNav.innerHTML = mobileHtml;
        }

        function navigateTo(sectionId) {
            state.currentSection = sectionId;
            
            // Hide all sections
            document.querySelectorAll('.section-view').forEach(el => {
                el.classList.add('hidden');
                el.classList.remove('animate-fade-in');
            });

            // Show current section
            const target = document.getElementById(`section-${sectionId}`);
            target.classList.remove('hidden');
            target.classList.add('animate-fade-in');

            // Scroll to top
            window.scrollTo(0, 0);

            // Update Nav UI
            renderNav();
            document.getElementById('mobile-nav').classList.add('hidden'); // Close mobile menu

            // Resize charts if necessary when section becomes visible
            if(sectionId === 'status' && statusChart) statusChart.resize();
            if(sectionId === 'doubletax' && dtaaChart) dtaaChart.resize();
            if(sectionId === 'tds' && tdsChart) tdsChart.resize();
        }

        // --- Interaction Logic ---

        function setupEventListeners() {
            // Mobile Menu
            document.getElementById('mobile-menu-btn').addEventListener('click', () => {
                document.getElementById('mobile-nav').classList.toggle('hidden');
            });

            // Status Slider
            const slider = document.getElementById('days-slider');
            slider.addEventListener('input', (e) => {
                state.daysInIndia = parseInt(e.target.value);
                document.getElementById('days-display').textContent = `${state.daysInIndia} Days`;
                updateStatusLogic();
            });

            // DTAA Toggle
            document.getElementById('dtaa-toggle').addEventListener('click', () => {
                state.dtaaActive = !state.dtaaActive;
                const knob = document.getElementById('dtaa-toggle-knob');
                const bg = document.getElementById('dtaa-toggle');
                
                if (state.dtaaActive) {
                    knob.classList.add('translate-x-5');
                    bg.classList.remove('bg-stone-300');
                    bg.classList.add('bg-teal-600');
                } else {
                    knob.classList.remove('translate-x-5');
                    bg.classList.add('bg-stone-300');
                    bg.classList.remove('bg-teal-600');
                }
                updateDTAAChart();
            });

            // Filing Buttons
            document.querySelectorAll('.filing-btn').forEach(btn => {
                btn.addEventListener('click', (e) => {
                    const row = e.target.closest('div').parentElement;
                    // Reset styling in this row
                    row.querySelectorAll('.filing-btn').forEach(b => {
                        b.classList.remove('bg-teal-600', 'text-white', 'border-transparent');
                        b.classList.add('text-stone-700', 'border-stone-300');
                    });
                    
                    // Activate clicked
                    e.target.classList.remove('text-stone-700', 'border-stone-300');
                    e.target.classList.add('bg-teal-600', 'text-white', 'border-transparent');

                    // Update State
                    const text = row.querySelector('span').textContent;
                    const val = e.target.getAttribute('data-val') === 'yes';

                    if(text.includes('Income')) state.filingCriteria.income = val;
                    if(text.includes('Gains')) state.filingCriteria.gains = val;
                    if(text.includes('Refund')) state.filingCriteria.refund = val;

                    updateFilingResult();
                });
            });
        }

        // --- Status Logic ---
        function updateStatusLogic() {
            const resultBox = document.getElementById('status-result');
            const h4 = resultBox.querySelector('h4');
            const p = resultBox.querySelector('p');

            // Simple logic based on 182 days
            const threshold = 182;
            const isResident = state.daysInIndia >= threshold;

            if (isResident) {
                resultBox.classList.remove('bg-teal-50', 'border-teal-200');
                resultBox.classList.add('bg-orange-50', 'border-orange-200');
                h4.textContent = "Likely Status: RESIDENT";
                h4.classList.remove('text-teal-800');
                h4.classList.add('text-orange-800');
                p.textContent = "Your GLOBAL income is likely taxable in India.";
            } else {
                resultBox.classList.remove('bg-orange-50', 'border-orange-200');
                resultBox.classList.add('bg-teal-50', 'border-teal-200');
                h4.textContent = "Likely Status: NRI";
                h4.classList.remove('text-orange-800');
                h4.classList.add('text-teal-800');
                p.textContent = "Your global income is generally NOT taxable in India.";
            }

            // Update Chart
            if(statusChart) {
                statusChart.data.datasets[0].data = [state.daysInIndia, 365 - state.daysInIndia];
                statusChart.data.datasets[0].backgroundColor = isResident ? ['#ea580c', '#e5e7eb'] : ['#0d9488', '#e5e7eb'];
                statusChart.update();
            }
        }

        // --- Banking Toggle ---
        window.toggleBankingDetail = function(type) {
            const detail = document.getElementById(`${type}-detail`);
            const isHidden = detail.classList.contains('hidden');
            
            // Close both first
            document.getElementById('nre-detail').classList.add('hidden');
            document.getElementById('nro-detail').classList.add('hidden');
            
            // Open clicked if was hidden
            if (isHidden) {
                detail.classList.remove('hidden');
            }
        }

        // --- Filing Result Logic ---
        function updateFilingResult() {
            const c = state.filingCriteria;
            const resDiv = document.getElementById('filing-result');
            const resText = document.getElementById('filing-text');

            if (c.income === null && c.gains === null && c.refund === null) {
                resDiv.classList.add('hidden');
                return;
            }

            resDiv.classList.remove('hidden', 'bg-red-50', 'bg-green-50', 'bg-yellow-50');
            
            if (c.income || c.gains) {
                resDiv.classList.add('bg-orange-50');
                resText.innerHTML = "<span class='text-orange-800 font-bold'>Mandatory Filing Required.</span><br>Missing the due date can attract fines.";
            } else if (c.refund) {
                resDiv.classList.add('bg-teal-50');
                resText.innerHTML = "<span class='text-teal-800 font-bold'>Filing Recommended.</span><br>You must file to claim your refund.";
            } else if (c.income === false && c.gains === false && c.refund === false) {
                resDiv.classList.add('bg-stone-100');
                resText.innerHTML = "You may not need to file, but keeping a record is good practice.";
            } else {
                resDiv.classList.add('bg-stone-100');
                resText.textContent = "Complete the checklist to see recommendations.";
            }
        }

        // --- Charts Implementation ---
        function initCharts() {
            Chart.defaults.font.family = "'Inter', sans-serif";
            
            // 1. Status Chart (Doughnut)
            const ctxStatus = document.getElementById('statusChart').getContext('2d');
            statusChart = new Chart(ctxStatus, {
                type: 'doughnut',
                data: {
                    labels: ['Days in India', 'Days Remaining'],
                    datasets: [{
                        data: [60, 305],
                        backgroundColor: ['#0d9488', '#e5e7eb'],
                        borderWidth: 0,
                        hoverOffset: 4
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    cutout: '75%',
                    plugins: {
                        legend: { position: 'bottom' },
                        tooltip: {
                            callbacks: {
                                label: function(context) {
                                    return ` ${context.label}: ${context.raw}`;
                                }
                            }
                        }
                    }
                }
            });

            // 2. DTAA Chart (Bar)
            const ctxDtaa = document.getElementById('dtaaChart').getContext('2d');
            dtaaChart = new Chart(ctxDtaa, {
                type: 'bar',
                data: {
                    labels: ['Tax Liability'],
                    datasets: [
                        {
                            label: 'Tax Paid in India',
                            data: [30],
                            backgroundColor: '#f97316', // Orange
                        },
                        {
                            label: 'Tax Paid Abroad',
                            data: [25],
                            backgroundColor: '#0d9488', // Teal
                        }
                    ]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    scales: {
                        x: { stacked: true },
                        y: { 
                            stacked: true,
                            beginAtZero: true,
                            title: { display: true, text: 'Tax Rate (%)' }
                        }
                    },
                    plugins: {
                        title: { display: true, text: 'Without DTAA (Double Tax)' }
                    }
                }
            });

            // 3. TDS Chart (Donut/Pie for comparison)
            const ctxTds = document.getElementById('tdsChart').getContext('2d');
            tdsChart = new Chart(ctxTds, {
                type: 'bar',
                data: {
                    labels: ['Standard TDS', 'With Form 13'],
                    datasets: [{
                        label: 'Tax Deduction %',
                        data: [30, 10], // Hypothetical 10% lower deduction
                        backgroundColor: ['#ef4444', '#10b981'],
                        borderRadius: 4
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    plugins: {
                        legend: { display: false },
                        title: { display: true, text: 'Impact of Lower TDS Certificate' },
                        tooltip: {
                            callbacks: {
                                footer: (items) => {
                                    if(items[0].label === 'With Form 13') return 'Matches actual liability closer.';
                                    return 'Excess money blocked until refund.';
                                }
                            }
                        }
                    },
                    scales: {
                        y: { beginAtZero: true, max: 40 }
                    }
                }
            });
        }

        function updateDTAAChart() {
            if (!dtaaChart) return;
            
            if (state.dtaaActive) {
                // With DTAA: You claim credit. 
                // Scenario: India tax 30%, Foreign tax 25%. 
                // You pay 25% abroad, claim credit in India, pay remaining 5% in India. Total 30%.
                // Visually: Stacked but total is limited.
                
                dtaaChart.data.datasets = [
                    {
                        label: 'Net Tax (India)',
                        data: [5], 
                        backgroundColor: '#f97316'
                    },
                    {
                        label: 'Tax Credit (Paid Abroad)',
                        data: [25],
                        backgroundColor: '#0d9488'
                    }
                ];
                dtaaChart.options.plugins.title.text = "With DTAA (Tax Credit Claimed)";
            } else {
                // Without DTAA: Pay both fully.
                dtaaChart.data.datasets = [
                    {
                        label: 'Tax Paid in India',
                        data: [30],
                        backgroundColor: '#f97316'
                    },
                    {
                        label: 'Tax Paid Abroad',
                        data: [25],
                        backgroundColor: '#0d9488'
                    }
                ];
                dtaaChart.options.plugins.title.text = "Without DTAA (Double Tax Risk)";
            }
            dtaaChart.update();
        }

    </script></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Wed, 24 Dec 2025 09:30:00 +0500</pubDate></item><item><title><![CDATA[Navigating RNOR Status in India]]></title><link>https://www.taass.in/blogs/post/navigating-rnor-status-in-india1</link><description><![CDATA[This guide simplifies India's RNOR tax status. It helps individuals check classification, understand residency changes, and compare NRI, RNOR, ROR tax implications. Offers compliance tips and special case details, making complex tax info accessible for returning NRIs.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_zdCWh62oQXuv7QCWbx617w" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_FTgwI3Lx0QWrM3W3RVMVrA" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column="false"><style type="text/css"></style><div data-element-id="elm_lwlpPFbUfo79dTP8FnEYWA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"></style><div data-element-id="elm_Idm68nnGRVPkMG-BDAs_lA" data-element-type="codeSnippet" class="zpelement zpelem-codesnippet "><div class="zpsnippet-container"><!DOCTYPE html><html lang="en"><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Interactive Guide to RNOR Status in India</title><script src="https://cdn.tailwindcss.com"></script><script src="https://cdn.jsdelivr.net/npm/chart.js"></script><!-- Chosen Palette: Calm Finance --><!-- Application Structure Plan: The SPA is designed around user tasks, not the report's linear structure. It starts with a hero section for context, moves to an interactive 'Status Checker' for immediate personalization, then a 'Timeline Simulator' to visualize the duration concept, a 'Tax Benefits Explorer' to compare tax liabilities, and finally 'Key Compliance Actions' and 'Special Cases' for practical advice. This task-oriented flow (Assess -> Visualize -> Compare -> Act) is more engaging and useful than a static report, guiding the user from understanding their own situation to knowing what to do about it. --> <!-- Visualization & Content Choices: - RNOR Conditions (Report Sections 2, 3) -> Goal: Assess -> Interactive Status Checker -> User clicks Yes/No to answer questions -> Justification: Provides a direct, personalized answer to the user's primary question, "Am I an RNOR?". Implemented with Vanilla JS. - Illustrative Timeline (Report Table 3) -> Goal: Show Change -> Interactive Timeline Chart -> User selects a return date to update a bar chart showing status over several years -> Justification: Makes the abstract concept of the "up to 3 year" duration tangible and dynamic. Implemented with Chart.js. - Taxability Comparison (Report Table 2) -> Goal: Compare -> Tabbed Tax Scope Explorer -> User clicks tabs (NRI, RNOR, ROR) to see color-coded lists of taxable vs. non-taxable income -> Justification: Far easier to digest than a dense table, allowing for direct comparison. Implemented with Vanilla JS & Tailwind. - Best Practices (Report Section 5) -> Goal: Inform -> Interactive Checklist -> User clicks on an item to see a short explanation -> Justification: Presents actionable advice in a clean, non-overwhelming format. Implemented with Vanilla JS & Tailwind. --> <!-- CONFIRMATION: NO SVG graphics used. NO Mermaid JS used. --><style> body { font-family: 'Inter', sans-serif; } @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); .tab-active { background-color: #0d9488; /* teal-600 */ color: white; border-color: #0d9488; /* teal-600 */ } .tab-inactive { background-color: #f0fdfa; /* teal-50 */ color: #115e59; /* teal-800 */ border-color: #ccfbf1; /* teal-100 */ } .transition-all-fast { transition: all 0.2s ease-in-out; } .info-card { background-color: white; border-radius: 0.75rem; padding: 1.5rem; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); border: 1px solid #e5e7eb; } .status-checker-btn { transition: all 0.2s ease-in-out; } .status-checker-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); } </style><body class="bg-stone-50 text-slate-800"><div class="container mx-auto max-w-6xl px-4 py-8 sm:py-12"><header class="text-center mb-12"><h1 class="text-4xl md:text-5xl font-bold text-teal-800 mb-4"></h1><p class="text-lg md:text-xl text-slate-600 max-w-3xl mx-auto">An interactive guide to the 'Resident but Not Ordinarily Resident' status — a temporary tax shield for returning NRIs. Understand the rules, benefits, and how to plan your transition.</p></header><main class="space-y-16"><!-- Section 1: Interactive Status Checker --><section id="status-checker" class="info-card"><h2 class="text-2xl font-bold text-teal-800 mb-2">Are you an RNOR?</h2><p class="text-slate-600 mb-6">Answer these questions about the current financial year (April 1 - March 31) to get a preliminary idea of your status. This is a simplified guide; consult a tax advisor for definitive classification.</p><div id="checker-container" class="space-y-6"><!-- Questions will be injected here by JS --></div>
<div id="checker-result" class="mt-6 p-4 rounded-lg bg-teal-50 border border-teal-200 text-teal-800 hidden"><!-- Result will be shown here --></div>
</section><!-- Section 2: The RNOR Journey --><section id="journey" class="info-card"><h2 class="text-2xl font-bold text-teal-800 mb-2">The RNOR Journey: A Timeline</h2><p class="text-slate-600 mb-6">See how your tax status evolves after returning to India. The "up to 3 years" RNOR period is not guaranteed; it depends entirely on your stay history. This section provides a textual explanation of a common scenario for an individual who was an NRI for 10+ years before returning.</p><div class="mb-6"><p class="text-slate-700 font-medium mb-2">Example Scenario: Sameer returns to India permanently on August 1, 2022, after being an NRI for over 10 years.</p><ul class="list-disc list-inside text-slate-600 space-y-2"><li><strong>FY 2022-23 (Aug 1, 2022 - Mar 31, 2023):</strong> Sameer stays ~243 days. He is Resident, and since he was an NRI for 10+ preceding FYs, he is classified as <strong>RNOR</strong>.</li><li><strong>FY 2023-24 (Apr 1, 2023 - Mar 31, 2024):</strong> Sameer stays 365 days. He remains Resident. He is still an NRI for 9 of the 10 preceding FYs (FY 2013-14 to FY 2022-23), so he continues as <strong>RNOR</strong>.</li><li><strong>FY 2024-25 (Apr 1, 2024 - Mar 31, 2025):</strong> Sameer stays 365 days. He remains Resident. He is now Resident for 2 years (FY 2022-23, FY 2023-24) out of the last 10 (FY 2015-16 to FY 2024-25). However, his cumulative stay in the 7 preceding FYs (FY 2018-19 to FY 2024-25) is still below 730 days. Therefore, he continues as <strong>RNOR</strong>.</li><li><strong>FY 2025-26 (Apr 1, 2025 - Mar 31, 2026):</strong> Sameer stays 365 days. He remains Resident. He is now Resident for 3 years out of the last 10, and his cumulative stay in the 7 preceding FYs (FY 2019-20 to FY 2025-26) now exceeds 729 days. He no longer meets *either* RNOR condition, so he transitions to <strong>ROR (Resident and Ordinarily Resident)</strong>. His global income will now be taxable.</li></ul><p class="text-sm text-slate-500 mt-2"><em>Note: The exact number of days for cumulative stay in 7 preceding FYs needs to be calculated precisely based on actual travel history.</em></p></div>
</section><!-- Section 3: Taxability Explorer --><section id="taxability" class="info-card"><h2 class="text-2xl font-bold text-teal-800 mb-2">Taxability Explorer</h2><p class="text-slate-600 mb-6">The primary benefit of RNOR status is its impact on your tax liability. Click the tabs below to see how the scope of taxable income changes based on your residential status.</p><div class="mb-6 flex justify-center space-x-2 sm:space-x-4"><button id="tab-nri" class="tax-tab tab-active px-4 py-2 sm:px-6 sm:py-3 font-semibold rounded-full border-2 transition-all-fast">NRI</button><button id="tab-rnor" class="tax-tab tab-inactive px-4 py-2 sm:px-6 sm:py-3 font-semibold rounded-full border-2 transition-all-fast">RNOR</button><button id="tab-ror" class="tax-tab tab-inactive px-4 py-2 sm:px-6 sm:py-3 font-semibold rounded-full border-2 transition-all-fast">ROR</button></div>
<div id="tax-content-container" class="grid grid-cols-1 md:grid-cols-2 gap-4"><!-- Content will be injected by JS --></div>
</section><!-- Section 4: Key Compliance Actions --><section id="compliance" class="info-card"><h2 class="text-2xl font-bold text-teal-800 mb-2">Strategic Checklist for RNORs</h2><p class="text-slate-600 mb-6">The RNOR period is a valuable window for financial planning. Here are key actions to consider to maximize benefits and ensure compliance. Click each item for details.</p><div id="checklist-container" class="space-y-3"><!-- Checklist items injected by JS --></div>
</section><!-- Section 5: Special Cases --><section id="special-cases" class="info-card"><h2 class="text-2xl font-bold text-teal-800 mb-2">Special Cases & Recent Amendments</h2><p class="text-slate-600 mb-6">The Finance Act 2020 introduced new rules that can affect residency status, primarily for high-income individuals. These expand the definition beyond just physical presence.</p><div id="accordion-container" class="space-y-3"><!-- Accordion items injected by JS --></div>
</section></main><footer class="text-center mt-16 pt-8 border-t border-slate-200"><p class="text-slate-500 text-sm">This application is for informational purposes only and does not constitute legal or tax advice. The rules are complex and depend on individual circumstances. Please consult with a qualified tax professional for personalized guidance.</p></footer></div>
<script>
document.addEventListener('DOMContentLoaded', () => {

    const data = {
        taxability: {
            nri: {
                title: "Non-Resident (NRI)",
                taxable: [
                    { item: "Indian Income", desc: "Income earned, accrued, or received in India (e.g., Indian salary, rent from Indian property, capital gains on Indian assets)." },
                ],
                not_taxable: [
                    { item: "Foreign Income", desc: "Income earned and received outside India is not taxed in India." },
                    { item: "NRE/FCNR Interest", desc: "Interest on Non-Resident External and Foreign Currency Non-Resident accounts is tax-exempt." },
                ]
            },
            rnor: {
                title: "Resident but Not Ordinarily Resident (RNOR)",
                taxable: [
                    { item: "Indian Income", desc: "Same as an NRI, all Indian-sourced income is taxable." },
                    { item: "Foreign Business Income", desc: "Income from a business controlled from or a profession set up in India." },
                ],
                not_taxable: [
                    { item: "Most Foreign Income", desc: "Foreign salary, rent, capital gains, and interest are NOT taxed unless received in India." },
                    { item: "NRE/FCNR/RFC Interest", desc: "Interest on NRE, FCNR, and Resident Foreign Currency (RFC) accounts remains tax-exempt." },
                    { item: "No Foreign Asset Reporting", desc: "Generally exempt from disclosing foreign assets in tax returns (Schedule FA)." },
                ]
            },
            ror: {
                title: "Resident and Ordinarily Resident (ROR)",
                taxable: [
                    { item: "Global Income", desc: "All income, whether earned in India or anywhere else in the world, is taxable in India." },
                    { item: "RFC Interest", desc: "Interest on RFC accounts becomes taxable." },
                ],
                not_taxable: [
                    { item: "Limited Exemptions", desc: "Only specific exemptions under the Income Tax Act apply. The broad foreign income shield is gone." },
                ]
            }
        },
        checklist: [
            { title: "💡 Track Your Days Meticulously", content: "Your residential status depends on your exact number of days of physical presence in India. Keep a detailed travel log, as both arrival and departure days count as days stayed in India." },
            { title: "🗓️ Re-evaluate Status Annually", content: "RNOR is not permanent. You must re-assess your status every financial year by checking the two core conditions. The transition to ROR can happen in your 3rd or 4th year." },
            { title: "🏦 Use Resident Foreign Currency (RFC) Accounts", content: "Open an RFC account to hold your foreign currency earnings. You can transfer funds from NRE/FCNR accounts to an RFC account. Interest on RFC accounts is tax-free during the RNOR period." },
            { title: "↔️ Manage Income Receipt", content: "Crucially, to keep your foreign income tax-free, do NOT receive it directly in an Indian bank account (other than RFC). Having it credited abroad first is essential." },
            { title: "🔄 Convert NRE/NRO Accounts", content: "Once you become a resident under FEMA rules (which can be different from tax rules), you are legally required to inform your bank to re-designate your NRE and NRO accounts to resident accounts or RFC accounts." },
            { title: "💸 Plan Foreign Asset Disposal", content: "The RNOR period is the perfect time to sell foreign assets (like stocks or property) without attracting Indian capital gains tax. Plan these disposals before you become an ROR." },
            { title: "👨‍💼 Consult a Tax Advisor", content: "The interaction between tax laws, FEMA, and DTAAs is complex. Professional advice is invaluable to ensure compliance and optimize your financial strategy." }
        ],
        specialCases: [
            { title: "Deemed Resident Status", content: "An Indian citizen with total Indian-sourced income over ₹15 lakhs is considered a 'Deemed Resident' if they are not liable to tax in any other country. Such individuals are automatically classified as RNOR, meaning their Indian income is taxed but their foreign income is not." },
            { title: "The 120-Day Rule for Visitors", content: "For Indian citizens or PIOs visiting India with Indian-sourced income over ₹15 lakhs, the residency threshold changes. If their stay is between 120 and 181 days, they are automatically treated as RNOR. This is an exception to the standard 182-day rule." }
        ],
        statusChecker: [
            { id: 1, text: "In the current Financial Year, was your stay in India 182 days or more?", next: { yes: 3, no: 2 } },
            { id: 2, text: "Was your stay 60+ days this year AND 365+ days in the 4 preceding years?", next: { yes: 3, no: 'nri' } },
            { id: 3, text: "Were you a Non-Resident (NRI) in 9 of the 10 preceding Financial Years?", next: { yes: 'rnor', no: 4 } },
            { id: 4, text: "Was your total stay in India 729 days or less in the 7 preceding Financial Years?", next: { yes: 'rnor', no: 'ror' } }
        ],
        results: {
            nri: "Based on your answers, you are likely a <strong>Non-Resident (NRI)</strong>. Only your Indian-sourced income is taxable in India.",
            rnor: "Based on your answers, you have met the basic resident conditions but also satisfy the criteria for being <strong>Resident but Not Ordinarily Resident (RNOR)</strong>. Your foreign income is largely tax-exempt.",
            ror: "Based on your answers, you are likely a <strong>Resident and Ordinarily Resident (ROR)</strong>. Your global income is taxable in India."
        }
    };

    const checkerContainer = document.getElementById('checker-container');
    const resultContainer = document.getElementById('checker-result');
    let currentQuestionId = 1;

    function renderQuestion(id) {
        const question = data.statusChecker.find(q => q.id === id);
        if (!question) return;

        checkerContainer.innerHTML = `
            <div class="p-4 bg-white rounded-lg shadow-md border border-slate-200">
                <p class="text-lg font-medium text-slate-700 mb-4">${question.text}</p>
                <div class="flex justify-end space-x-4">
                    <button class="status-checker-btn px-6 py-2 bg-teal-600 text-white font-semibold rounded-md shadow-sm hover:bg-teal-700" data-answer="yes">Yes</button>
                    <button class="status-checker-btn px-6 py-2 bg-rose-600 text-white font-semibold rounded-md shadow-sm hover:bg-rose-700" data-answer="no">No</button>
                </div>
            </div>
        `;

        checkerContainer.querySelectorAll('button').forEach(btn => {
            btn.addEventListener('click', (e) => handleAnswer(question, e.target.dataset.answer));
        });
    }

    function handleAnswer(question, answer) {
        const nextStep = question.next[answer];
        if (typeof nextStep === 'number') {
            currentQuestionId = nextStep;
            renderQuestion(currentQuestionId);
        } else {
            showResult(nextStep);
        }
    }

    function showResult(status) {
        checkerContainer.innerHTML = `<button id="reset-checker" class="w-full text-center px-6 py-2 bg-slate-200 text-slate-800 font-semibold rounded-md hover:bg-slate-300">Start Over</button>`;
        resultContainer.innerHTML = data.results[status];
        resultContainer.classList.remove('hidden');
        document.getElementById('reset-checker').addEventListener('click', initChecker);
    }

    function initChecker() {
        resultContainer.classList.add('hidden');
        currentQuestionId = 1;
        renderQuestion(currentQuestionId);
    }

    initChecker();

    const taxTabs = document.querySelectorAll('.tax-tab');
    const taxContentContainer = document.getElementById('tax-content-container');

    function renderTaxContent(status) {
        const content = data.taxability[status];
        taxContentContainer.innerHTML = `
            <div class="bg-rose-50 border border-rose-200 p-4 rounded-lg">
                <h3 class="text-lg font-semibold text-rose-800 mb-3 flex items-center">
                    <span class="mr-2 text-xl">✕</span> Taxable Income
                </h3>
                <ul class="space-y-3">
                    ${content.taxable.map(item => `<li><strong class="text-slate-700">${item.item}:</strong> <span class="text-slate-600">${item.desc}</span></li>`).join('')}
                </ul>
            </div>
            <div class="bg-green-50 border border-green-200 p-4 rounded-lg">
                <h3 class="text-lg font-semibold text-green-800 mb-3 flex items-center">
                    <span class="mr-2 text-xl">✓</span> Not Taxable in India
                </h3>
                <ul class="space-y-3">
                    ${content.not_taxable.map(item => `<li><strong class="text-slate-700">${item.item}:</strong> <span class="text-slate-600">${item.desc}</span></li>`).join('')}
                </ul>
            </div>
        `;
    }

    taxTabs.forEach(tab => {
        tab.addEventListener('click', () => {
            taxTabs.forEach(t => t.classList.replace('tab-active', 'tab-inactive'));
            tab.classList.replace('tab-inactive', 'tab-active');
            const status = tab.id.split('-')[1];
            renderTaxContent(status);
        });
    });

    renderTaxContent('nri');

    const checklistContainer = document.getElementById('checklist-container');
    data.checklist.forEach(item => {
        const div = document.createElement('div');
        div.innerHTML = `
            <div class="bg-white border border-slate-200 rounded-lg shadow-sm">
                <button class="w-full text-left p-4 font-medium text-slate-700 flex justify-between items-center hover:bg-slate-50">
                    <span>${item.title}</span>
                    <span class="transform transition-transform duration-200 text-teal-600 text-xl font-bold">+</span>
                </button>
                <div class="px-4 pb-4 text-slate-600 hidden">
                    ${item.content}
                </div>
            </div>
        `;
        checklistContainer.appendChild(div);
    });

    checklistContainer.addEventListener('click', e => {
        const button = e.target.closest('button');
        if (button) {
            const content = button.nextElementSibling;
            const icon = button.querySelector('span:last-child');
            const isHidden = content.classList.toggle('hidden');
            icon.style.transform = isHidden ? 'rotate(0deg)' : 'rotate(45deg)';
            icon.textContent = isHidden ? '+' : '−';
        }
    });

    const accordionContainer = document.getElementById('accordion-container');
    data.specialCases.forEach(item => {
        const div = document.createElement('div');
        div.className = "bg-white border border-slate-200 rounded-lg shadow-sm";
        div.innerHTML = `
            <button class="w-full text-left p-4 font-semibold text-slate-800 flex justify-between items-center hover:bg-slate-50">
                <span>${item.title}</span>
                <span class="transform transition-transform duration-200 text-teal-600 text-lg">▼</span>
            </button>
            <div class="px-4 pb-4 text-slate-600 hidden">${item.content}</div>
        `;
        accordionContainer.appendChild(div);
    });

    accordionContainer.addEventListener('click', e => {
        const button = e.target.closest('button');
        if(button) {
            const content = button.nextElementSibling;
            const icon = button.querySelector('span:last-child');
            const isHidden = content.classList.toggle('hidden');
            icon.style.transform = isHidden ? 'rotate(0deg)' : 'rotate(180deg)';
        }
    });
});
</script></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Fri, 18 Jul 2025 15:53:07 +0500</pubDate></item></channel></rss>