> ## Documentation Index
> Fetch the complete documentation index at: https://developer.quicko.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Check Residential Status

> Check how your stay in India determines your Resident, NRI, or RNOR tax status.

export const Iframe = ({lightUrl, darkUrl, title, height = 900, className = ""}) => {
  const resolvedHeight = typeof height === "number" ? `${height}px` : height;
  return <div className="w-full overflow-hidden">
      {}
      <div className="w-full">
        {}
        <iframe src={lightUrl} title={title} className={`block w-full border-0 dark:hidden ${className}`} style={{
    height: resolvedHeight
  }} allow="clipboard-write" />

        {}
        <iframe src={darkUrl} title={title} className={`hidden w-full border-0 dark:block ${className}`} style={{
    height: resolvedHeight
  }} allow="clipboard-write" />
      </div>

      {}
      <div onClick={() => window.open("https://quicko.com", "_blank", "noopener,noreferrer")} className="
        flex items-center justify-center gap-2
        h-14 px-2
        border-x border-b
        border-[#c6c5d0] dark:border-[#313b4a]
        bg-[#f6f7f8] dark:bg-[#1c1c1f]
        cursor-pointer
        rounded-b-md
      ">
        <span className="text-sm leading-none dark:text-zinc-400">
          Powered by
        </span>
        <img src="https://cdn.brandfetch.io/id6OWxavk2/theme/dark/idpHm6Kke3.svg?c=1bxid64Mup7aczewSAYMX&amp;t=1765534843947" alt="Quicko" className="h-4 object-contain" />
      </div>
    </div>;
};

Check Residential Status tool helps you determine whether an individual qualifies as Resident, Non-Resident, or Resident but Not Ordinarily Resident (RNOR) for Indian income tax purposes based on their physical presence in India.

## Features

<Columns cols={2}>
  <Card title="Accurate Status Determination" icon="check">
    Calculates residential status based on stay duration and tax residency rules.
  </Card>

  <Card title="Multi-Year Analysis" icon="calendar">
    Considers current and previous years' stay for comprehensive assessment.
  </Card>

  <Card title="RNOR Detection" icon="user-check">
    Identifies Resident but Not Ordinarily Resident status.
  </Card>

  <Card title="Clear Explanation" icon="info">
    Provides reasoning behind the determined residential status.
  </Card>
</Columns>

## Integration

### Web (iframe)

```html theme={null}
<iframe
  src="https://tools.quicko.com/check-residential-status"
  width="100%"
  height="500"
  frameborder="0"
  allow="clipboard-write"
></iframe>
```

With customization:

```html theme={null}
<iframe
  id="residential-status-checker"
  width="100%"
  height="500"
  frameborder="0"
  allow="clipboard-write"
></iframe>

<script>
  const theme = {
    mode: "dark",
    seed: "#006AD4"
  };
  
  const base64Theme = btoa(encodeURIComponent(JSON.stringify(theme)));
  document.getElementById('residential-status-checker').src = 
    `https://tools.quicko.com/check-residential-status?theme=${base64Theme}`;
</script>
```

### Mobile (WebView)

<Tabs>
  <Tab title="iOS (Swift)">
    ```swift theme={null}
    import WebKit

    let theme: [String: Any] = [
        "mode": "light",
        "seed": "#006AD4"
    ]

    if let jsonData = try? JSONSerialization.data(withJSONObject: theme),
       let base64Theme = jsonData.base64EncodedString()
            .addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) {
        let toolUrl = "https://tools.quicko.com/check-residential-status?theme=\(base64Theme)"
        webView.load(URLRequest(url: URL(string: toolUrl)!))
    }
    ```
  </Tab>

  <Tab title="Android (Kotlin)">
    ```kotlin theme={null}
    import android.util.Base64
    import org.json.JSONObject

    val theme = JSONObject().apply {
        put("mode", "light")
        put("seed", "#006AD4")
    }

    val base64Theme = Base64.encodeToString(
        theme.toString().toByteArray(Charsets.UTF_8),
        Base64.NO_WRAP
    )
    val toolUrl = "https://tools.quicko.com/check-residential-status?theme=$base64Theme"
    webView.loadUrl(toolUrl)
    ```
  </Tab>

  <Tab title="Flutter">
    ```dart theme={null}
    import 'dart:convert';

    final theme = {'mode': 'light', 'seed': '#006AD4'};
    final base64Theme = base64Encode(utf8.encode(jsonEncode(theme)));
    final toolUrl = 'https://tools.quicko.com/check-residential-status?theme=$base64Theme';

    controller.loadRequest(Uri.parse(toolUrl));
    ```
  </Tab>

  <Tab title="React Native">
    ```jsx theme={null}
    import { Buffer } from 'buffer';

    const theme = { mode: 'light', seed: '#006AD4' };
    const base64Theme = Buffer.from(JSON.stringify(theme)).toString('base64');
    const toolUrl = `https://tools.quicko.com/check-residential-status?theme=${base64Theme}`;

    <WebView source={{ uri: toolUrl }} />
    ```
  </Tab>
</Tabs>

***

## Residential Status Rules

The tool follows Income Tax Act provisions:

<AccordionGroup>
  <Accordion title="Resident (ROR)" icon="house">
    An individual is a Resident if they satisfy any one of the following conditions:

    * Present in India for 182 days or more during the FY
    * Present in India for 60 days or more during the FY AND 365 days or more in preceding 4 years
  </Accordion>

  <Accordion title="Non-Resident (NR)" icon="plane">
    An individual who does not satisfy the conditions for being a Resident is a Non-Resident.
  </Accordion>

  <Accordion title="Resident but Not Ordinarily Resident (RNOR)" icon="user-check">
    A Resident qualifies as RNOR if they satisfy any one condition:

    * Non-resident in 9 out of 10 preceding years
    * Present in India for 729 days or less in preceding 7 years
  </Accordion>
</AccordionGroup>

***

## Demo

<Iframe title="Check Residential Status" lightUrl="https://tools.quicko.com/check-residential-status" darkUrl="https://tools.quicko.com/check-residential-status?theme=ewoibW9kZSI6ImRhcmsiCn0" height={700} className="rounded-l" />

***

## Related

<Columns cols={2}>
  <Card title="Integration Guide" icon="code" href="/projects/tools/integration/index">
    Learn how to embed this tool in your platform.
  </Card>

  <Card title="Customization Options" icon="settings" href="/projects/tools/options/index">
    Match the tool's appearance to your brand.
  </Card>
</Columns>
