Substantial-Presence Days

Apply one, one-third, and one-sixth day weights against a caller-supplied presence threshold.

Description

The substantial-presence calculation weights days from three calendar years.

The substantial-presence calculation weights days from three calendar years. Legal residence determination also has a current-year minimum and exceptions beyond the weighted sum.1, 2

Apply one, one-third, and one-sixth day weights against a caller-supplied presence threshold.

When to use Substantial-Presence Days

Use this tool to apply one, one-third, and one-sixth day weights against a caller-supplied presence threshold.

Choose the specific arithmetic or checklist scenario and establish its input amounts, dates, rates and criteria from the applicable records. Keep currencies, periods and jurisdictions consistent; review the tool-specific assumptions before interpreting the result.

How to use Substantial-Presence Days and understand its results

  1. Choose the specific arithmetic or checklist scenario and establish its input amounts, dates, rates and criteria from the applicable records. Keep currencies, periods and jurisdictions consistent; review the tool-specific assumptions before interpreting the result.
  2. Enter currentYearDays, previousYearDays, secondPreviousYearDays, weightedDayThreshold using the field table and calculation rules, then run the tool.
  3. Read weightedPresenceDays, meetsWeightedThreshold. The explanation below defines the units, signs, ordering and any flags or placeholder values.
  4. If the tool reports an input issue, correct the values and run it again. Apply the stated assumptions when interpreting a successfully returned result.
Input fieldMeaningValue type; see rules belowRequirement
currentYearDaysCurrent-year presence daysinteger; minimum: 0; maximum: 366Required
previousYearDaysPrevious-year presence daysinteger; minimum: 0; maximum: 366Required
secondPreviousYearDaysSecond-previous-year presence daysinteger; minimum: 0; maximum: 366Required
weightedDayThresholdWeighted-day thresholdnumber; minimum: 0Required

Enter nonnegative integer days for each year, each no greater than 366, and a nonnegative threshold. Return weighted days and an inclusive threshold flag.

weighted=currentDays+previousDays/3+secondPreviousDays/6; meets=weighted≥threshold

Units, indexing, boundary conditions and exceptional cases are defined in the calculation rules above.

Output fieldMeaningValue type
weightedPresenceDaysWeighted presence daysnumber; minimum: 0
meetsWeightedThresholdMeets weighted thresholdboolean
json
{
  "input": {
    "currentYearDays": 120,
    "previousYearDays": 120,
    "secondPreviousYearDays": 120,
    "weightedDayThreshold": 183
  },
  "output": {
    "weightedPresenceDays": 180,
    "meetsWeightedThreshold": false
  }
}

Limitations and assumptions

The implementation does not apply the separate 31-current-year-day requirement, excluded days, treaty rules or exceptions. A passing weighted comparison alone does not establish tax residence.

Numeric inputs must be finite. Follow the calculation-specific rules for overflow, underflow and exceptional cases. Missing required fields, extra fields, wrong value types and violations of the calculation rules are input errors. A successfully returned false flag is an evaluated outcome; its meaning is explained above.

Alternative or Complementary methods

Use Duty-Day Income Allocation: Allocate compensation by caller-supplied jurisdiction and total duty days. For a complementary task, use Exit-Tax Threshold Screen: Compare expatriation facts with caller-supplied exit-tax thresholds.

Further background: Substantial Presence Test.

References

  1. Substantial-Presence Days — tool.io

  2. Substantial Presence Test — Internal Revenue Service

Similar or alternative tools

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies