Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/8308.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added the Indiana Over 65 Property Tax Credit.
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,29 @@ values:
- wi_homestead_credit
- wi_property_tax_credit
- wv_homestead_excess_property_tax_credit
2026-01-01:
- az_property_tax_credit
- ct_property_tax_credit
- dc_ptc
- dc_senior_disabled_property_tax_relief
- il_property_tax_credit
- in_over_65_property_tax_credit
- ma_senior_circuit_breaker
- me_property_tax_fairness_credit
- mi_homestead_property_tax_credit
- mn_renters_credit
- mo_property_tax_credit
- mt_elderly_homeowner_or_renter_credit
- mt_property_tax_rebate
- nj_property_tax_credit
- nm_property_tax_rebate
- ny_real_property_tax_credit
- ok_ptc
- ri_property_tax_credit
- ut_homeowner_renter_relief
- wi_homestead_credit
- wi_property_tax_credit
- wv_homestead_excess_property_tax_credit

metadata:
unit: list
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: Indiana limits eligibility to filers at or above this age under the Over 65 Credit program.
values:
2026-01-01: 65
metadata:
unit: year
period: year
label: Indiana Over 65 Credit age threshold
reference:
- title: Monroe County Auditor | Over 65
href: https://www.in.gov/counties/monroe/Departments/auditor/over-65/
- title: Indiana Department of Local Government Finance | Legislation Affecting Deductions and Exemptions
href: https://www.in.gov/dlgf/files/2025-memos/250612-Cockerill-Memo-Legislation-Affecting-Deductions%2C-Exemptions%2C-and-Credits.pdf#page=2
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: Indiana provides this amount under the Over 65 Credit program.
values:
2026-01-01: 150
metadata:
unit: currency-USD
period: year
label: Indiana Over 65 Credit amount
reference:
- title: Monroe County Auditor | Over 65
href: https://www.in.gov/counties/monroe/Departments/auditor/over-65/
- title: Indiana Department of Local Government Finance | Legislation Affecting Deductions and Exemptions
href: https://www.in.gov/dlgf/files/2025-memos/250612-Cockerill-Memo-Legislation-Affecting-Deductions%2C-Exemptions%2C-and-Credits.pdf#page=2
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
description: Indiana limits adjusted gross income to this amount under the Over 65 Credit program.
metadata:
unit: currency-USD
period: year
label: Indiana Over 65 Credit income limit
breakdown:
- filing_status
reference:
- title: Monroe County Auditor | Over 65
href: https://www.in.gov/counties/monroe/Departments/auditor/over-65/
- title: Indiana Department of Local Government Finance | Legislation Affecting Deductions and Exemptions
href: https://www.in.gov/dlgf/files/2025-memos/250612-Cockerill-Memo-Legislation-Affecting-Deductions%2C-Exemptions%2C-and-Credits.pdf#page=2
SINGLE:
2026-01-01: 60_000
HEAD_OF_HOUSEHOLD:
2026-01-01: 60_000
JOINT:
2026-01-01: 70_000
SURVIVING_SPOUSE:
2026-01-01: 70_000
SEPARATE:
2026-01-01: 60_000
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: Indiana limits surviving spouse eligibility to filers at or above this age under the Over 65 Credit program.
values:
2026-01-01: 60
metadata:
unit: year
period: year
label: Indiana Over 65 Credit surviving spouse age threshold
reference:
- title: Monroe County Auditor | Over 65
href: https://www.in.gov/counties/monroe/Departments/auditor/over-65/
- title: Indiana Department of Local Government Finance | Legislation Affecting Deductions and Exemptions
href: https://www.in.gov/dlgf/files/2025-memos/250612-Cockerill-Memo-Legislation-Affecting-Deductions%2C-Exemptions%2C-and-Credits.pdf#page=2
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
- name: Case 1, credit is capped at the statutory amount.
period: 2026
input:
people:
person1:
age: 65
real_estate_taxes: 2_000
tax_units:
tax_unit:
members: [person1]
adjusted_gross_income:
2024: 40_000
households:
household:
members: [person1]
state_code: IN
output:
in_over_65_property_tax_credit: 150

- name: Case 2, credit is limited to property taxes paid.
period: 2026
input:
people:
person1:
age: 65
real_estate_taxes: 100
tax_units:
tax_unit:
members: [person1]
adjusted_gross_income:
2024: 40_000
households:
household:
members: [person1]
state_code: IN
output:
in_over_65_property_tax_credit: 100
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
- name: Case 1, senior homeowner under the single income limit.
period: 2026
input:
people:
person1:
age: 65
real_estate_taxes: 2_000
tax_units:
tax_unit:
members: [person1]
adjusted_gross_income:
2024: 60_000
households:
household:
members: [person1]
state_code: IN
output:
in_over_65_property_tax_credit_eligible: true

- name: Case 2, filer below the age threshold.
period: 2026
input:
people:
person1:
age: 64
real_estate_taxes: 2_000
tax_units:
tax_unit:
members: [person1]
adjusted_gross_income:
2024: 40_000
households:
household:
members: [person1]
state_code: IN
output:
in_over_65_property_tax_credit_eligible: false

- name: Case 3, joint filers above the income limit.
period: 2026
input:
people:
person1:
age: 66
real_estate_taxes: 2_000
person2:
age: 64
tax_units:
tax_unit:
members: [person1, person2]
filing_status:
2024: JOINT
2026: JOINT
adjusted_gross_income:
2024: 70_001
households:
household:
members: [person1, person2]
state_code: IN
output:
in_over_65_property_tax_credit_eligible: false

- name: Case 4, senior without real estate taxes.
period: 2026
input:
people:
person1:
age: 65
tax_units:
tax_unit:
members: [person1]
adjusted_gross_income:
2024: 40_000
households:
household:
members: [person1]
state_code: IN
output:
in_over_65_property_tax_credit_eligible: false

- name: Case 5, surviving spouse at the surviving spouse age threshold.
period: 2026
input:
people:
person1:
age: 60
real_estate_taxes: 2_000
tax_units:
tax_unit:
members: [person1]
filing_status:
2024: SURVIVING_SPOUSE
2026: SURVIVING_SPOUSE
adjusted_gross_income:
2024: 60_000
households:
household:
members: [person1]
state_code: IN
output:
in_over_65_property_tax_credit_eligible: true

- name: Case 6, widowed filer marker qualifies outside federal surviving spouse status.
period: 2026
input:
people:
person1:
age: 60
is_surviving_spouse: true
real_estate_taxes: 2_000
tax_units:
tax_unit:
members: [person1]
adjusted_gross_income:
2024: 40_000
households:
household:
members: [person1]
state_code: IN
output:
in_over_65_property_tax_credit_eligible: true

- name: Case 7, prior-prior-year income determines eligibility.
period: 2026
input:
people:
person1:
age: 65
real_estate_taxes: 2_000
tax_units:
tax_unit:
members: [person1]
adjusted_gross_income:
2024: 40_000
2026: 80_000
households:
household:
members: [person1]
state_code: IN
output:
in_over_65_property_tax_credit_eligible: true

- name: Case 8, income above the prior-prior-year limit is ineligible.
period: 2026
input:
people:
person1:
age: 65
real_estate_taxes: 2_000
tax_units:
tax_unit:
members: [person1]
adjusted_gross_income:
2024: 60_001
2026: 40_000
households:
household:
members: [person1]
state_code: IN
output:
in_over_65_property_tax_credit_eligible: false

- name: Case 9, current surviving spouse status qualifies with prior-prior-year single income.
period: 2026
input:
people:
person1:
age: 60
real_estate_taxes: 2_000
tax_units:
tax_unit:
members: [person1]
filing_status:
2024: SINGLE
2026: SURVIVING_SPOUSE
adjusted_gross_income:
2024: 60_000
households:
household:
members: [person1]
state_code: IN
output:
in_over_65_property_tax_credit_eligible: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
from policyengine_us.model_api import *


class in_over_65_property_tax_credit(Variable):
value_type = float
entity = TaxUnit
label = "Indiana Over 65 Property Tax Credit"
unit = USD
definition_period = YEAR
reference = (
"https://www.in.gov/counties/monroe/Departments/auditor/over-65/",
"https://www.in.gov/dlgf/files/2025-memos/250612-Cockerill-Memo-Legislation-Affecting-Deductions%2C-Exemptions%2C-and-Credits.pdf#page=2",
)
defined_for = "in_over_65_property_tax_credit_eligible"

def formula(tax_unit, period, parameters):
return min_(
parameters(period).gov.states["in"].tax.property.over_65_credit.amount,
add(tax_unit, period, ["real_estate_taxes"]),
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
from policyengine_us.model_api import *


class in_over_65_property_tax_credit_eligible(Variable):
value_type = bool
entity = TaxUnit
label = "Eligible for the Indiana Over 65 Property Tax Credit"
definition_period = YEAR
reference = (
"https://www.in.gov/counties/monroe/Departments/auditor/over-65/",
"https://www.in.gov/dlgf/files/2025-memos/250612-Cockerill-Memo-Legislation-Affecting-Deductions%2C-Exemptions%2C-and-Credits.pdf#page=2",
)
defined_for = StateCode.IN

def formula(tax_unit, period, parameters):
prior_prior_year = period.offset(-2, "year")
p = parameters(period).gov.states["in"].tax.property.over_65_credit
income_year_filing_status = tax_unit("filing_status", prior_prior_year)
current_filing_status = tax_unit("filing_status", period)
status = current_filing_status.possible_values
person = tax_unit.members
head_or_spouse = person("is_tax_unit_head_or_spouse", period)
age = person("age", period.this_year)
is_surviving_spouse = person("is_surviving_spouse", period)

senior = tax_unit.any(
(age >= p.age_threshold) & head_or_spouse,
)
marked_surviving_spouse = tax_unit.any(
(age >= p.surviving_spouse_age_threshold)
& is_surviving_spouse
& head_or_spouse,
)
federal_surviving_spouse = (
current_filing_status == status.SURVIVING_SPOUSE
) & tax_unit.any(
(age >= p.surviving_spouse_age_threshold) & head_or_spouse,
)
surviving_spouse = marked_surviving_spouse | federal_surviving_spouse
income_eligible = (
tax_unit("adjusted_gross_income", prior_prior_year)
<= p.income_limit[income_year_filing_status]
)
homeowner = add(tax_unit, period, ["real_estate_taxes"]) > 0

return (senior | surviving_spouse) & income_eligible & homeowner
Loading