{
  "publisher": {
    "name": "Provedays",
    "url": "https://provedays.com"
  },
  "license": "CC BY 4.0",
  "license_url": "https://creativecommons.org/licenses/by/4.0/",
  "attribution": "Provedays — provedays.com",
  "notice": "Rule data is licensed CC BY 4.0. Golden test fixtures, guide prose and the rule schema are not covered by this licence and remain all rights reserved. See https://provedays.com/terms/.",
  "documentation": "https://provedays.com/methodology/",
  "rule_id": "pt.tax.183day_rolling",
  "versions": [
    {
      "rule_id": "pt.tax.183day_rolling",
      "version": "2026.1",
      "jurisdiction": "PT",
      "title": "Portugal 183-day rule (12-month window)",
      "summary": "You are Portuguese tax resident if you spend more than 183 days in Portugal in ANY 12-month period that touches the tax year. A day counts when you spend the night in Portugal (overnight-stay convention). Having a home available as your habitual residence can also trigger residence with fewer days — a facts question flagged separately.",
      "evaluator": "rolling_window",
      "determinative": true,
      "official_source_url": "https://info.portaldasfinancas.gov.pt/pt/apoio_contribuinte/Folhetos_informativos/Documents/Non_habitual_residents_Registration.pdf",
      "last_verified": "2026-08-28",
      "effective_from": "2015-01-01",
      "effective_to": null,
      "disclaimer_level": "standard",
      "convention": {
        "midnight_rule": true
      },
      "params": {
        "window_days": 365,
        "threshold": 183,
        "op": ">",
        "direction": "attain",
        "countries": [
          "PT"
        ]
      },
      "notifications": [
        {
          "at_count": 170,
          "at_fraction_of_limit": null,
          "message_key": "pt183.approaching"
        }
      ],
      "notes": [
        "Evaluated as a trailing 365-day rolling window (overnight basis). The statutory test is any 12-month period intersecting the tax year; the rolling counter is the live approximation and the year-end evaluation scans window positions.",
        "Overnight-stay convention mapped to present_at_midnight (SEMANTICS.md #13)."
      ]
    }
  ]
}