Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New York Inflation Rebates 2025 #5481

Merged
merged 16 commits into from
Jan 21, 2025
Merged
4 changes: 4 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- bump: minor
changes:
added:
- 2025 New York Inflation Rebates.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
description: New York provides the following 2025 Inflation Rebate amount for head of household filers, based on state adjusted gross income.

brackets:
- threshold:
2025-01-01: 0
amount:
2025-01-01: 300
- threshold:
2025-01-01: 150_000
amount:
2025-01-01: 0


metadata:
type: single_amount
amount_unit: currency-USD
threshold_unit: currency-USD
label: New York 2025 Inflaton Rebate head of household amount
reference:
- title: New York State Governor Hochul Proposes Sending 8.6 Million New Yorkers an Inflation Refund Check as First Proposal of 2025 State of the State
href: https://www.governor.ny.gov/news/money-your-pockets-governor-hochul-proposes-sending-86-million-new-yorkers-inflation-refund
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
description: New York's inflation rebates are in effect if this is true.

values:
0000-01-01: false

metadata:
unit: bool
period: year
label: New York inflation rebates in effect
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
description: New York provides the following 2025 Inflation Rebate amount for joint filers, based on state adjusted gross income.

brackets:
- threshold:
2025-01-01: 0
amount:
2025-01-01: 500
- threshold:
2025-01-01: 300_000
amount:
2025-01-01: 0


metadata:
type: single_amount
amount_unit: currency-USD
threshold_unit: currency-USD
label: New York 2025 Inflaton Rebate joint amount
reference:
- title: New York State Governor Hochul Proposes Sending 8.6 Million New Yorkers an Inflation Refund Check as First Proposal of 2025 State of the State
href: https://www.governor.ny.gov/news/money-your-pockets-governor-hochul-proposes-sending-86-million-new-yorkers-inflation-refund
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
description: New York provides the following 2025 Inflation Rebate amount for separate filers, based on state adjusted gross income.

brackets:
- threshold:
2025-01-01: 0
amount:
2025-01-01: 250
- threshold:
2025-01-01: 150_000
amount:
2025-01-01: 0


metadata:
type: single_amount
amount_unit: currency-USD
threshold_unit: currency-USD
label: New York 2025 Inflaton Rebate separate amount
reference:
- title: New York State Governor Hochul Proposes Sending 8.6 Million New Yorkers an Inflation Refund Check as First Proposal of 2025 State of the State
href: https://www.governor.ny.gov/news/money-your-pockets-governor-hochul-proposes-sending-86-million-new-yorkers-inflation-refund
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
description: New York provides the following 2025 Inflation Rebate amount for single filers, based on state adjusted gross income.

brackets:
- threshold:
2025-01-01: 0
amount:
2025-01-01: 300
- threshold:
2025-01-01: 150_000
amount:
2025-01-01: 0


metadata:
type: single_amount
amount_unit: currency-USD
threshold_unit: currency-USD
label: New York 2025 Inflaton Rebate single amount
reference:
- title: New York State Governor Hochul Proposes Sending 8.6 Million New Yorkers an Inflation Refund Check as First Proposal of 2025 State of the State
href: https://www.governor.ny.gov/news/money-your-pockets-governor-hochul-proposes-sending-86-million-new-yorkers-inflation-refund
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
description: New York provides the following 2025 Inflation Rebate amount for surviving spouses, based on state adjusted gross income.

brackets:
- threshold:
2025-01-01: 0
amount:
2025-01-01: 500
- threshold:
2025-01-01: 300_000
amount:
2025-01-01: 0


metadata:
type: single_amount
amount_unit: currency-USD
threshold_unit: currency-USD
label: New York 2025 Inflaton Rebate surviving spouse amount
reference:
- title: New York State Governor Hochul Proposes Sending 8.6 Million New Yorkers an Inflation Refund Check as First Proposal of 2025 State of the State
href: https://www.governor.ny.gov/news/money-your-pockets-governor-hochul-proposes-sending-86-million-new-yorkers-inflation-refund
7 changes: 7 additions & 0 deletions policyengine_us/reforms/reforms.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@
)
from .states.dc.property_tax import create_dc_property_tax_credit_reform

from .states.ny.inflation_rebates import (
create_ny_2025_inflation_rebates_reform,
)

from .deductions.salt import (
create_limit_salt_deduction_to_property_taxes_reform,
Expand Down Expand Up @@ -170,6 +173,9 @@ def create_structural_reforms_from_parameters(parameters, period):
dc_property_tax_credit = create_dc_property_tax_credit_reform(
parameters, period
)
ny_2025_inflation_rebates = create_ny_2025_inflation_rebates_reform(
parameters, period
)
limit_salt_deduction_to_property_taxes = (
create_limit_salt_deduction_to_property_taxes_reform(
parameters, period
Expand Down Expand Up @@ -210,6 +216,7 @@ def create_structural_reforms_from_parameters(parameters, period):
abolish_snap_deductions,
abolish_snap_net_income_test,
dc_property_tax_credit,
ny_2025_inflation_rebates,
limit_salt_deduction_to_property_taxes,
]
reforms = tuple(filter(lambda x: x is not None, reforms))
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from .ny_2025_inflation_rebates import (
create_ny_2025_inflation_rebates_reform,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
from policyengine_us.model_api import *
from policyengine_core.periods import period as period_


def create_ny_2025_inflation_rebates() -> Reform:
class ny_2025_inflation_rebates(Variable):
value_type = float
entity = TaxUnit
label = "New York 2025 inflation rebates"
unit = USD
definition_period = YEAR
reference = "https://www.governor.ny.gov/news/money-your-pockets-governor-hochul-proposes-sending-86-million-new-yorkers-inflation-refund"
defined_for = StateCode.NY

def formula(tax_unit, period, parameters):
p = parameters(period).gov.contrib.states.ny.inflation_rebates
agi = tax_unit("ny_agi", period)
filing_status = tax_unit("filing_status", period)
filing_statuses = filing_status.possible_values
return select(
[
filing_status == filing_statuses.SINGLE,
filing_status == filing_statuses.JOINT,
filing_status == filing_statuses.HEAD_OF_HOUSEHOLD,
filing_status == filing_statuses.SEPARATE,
filing_status == filing_statuses.SURVIVING_SPOUSE,
],
[
p.single.calc(agi, right=True),
p.joint.calc(agi, right=True),
p.head_of_household.calc(agi, right=True),
p.separate.calc(agi, right=True),
p.surviving_spouse.calc(agi, right=True),
],
)

class reform(Reform):
def apply(self):
self.update_variable(ny_2025_inflation_rebates)

return reform


def create_ny_2025_inflation_rebates_reform(
parameters, period, bypass: bool = False
):
if bypass:
return create_ny_2025_inflation_rebates()

p = parameters.gov.contrib.states.ny.inflation_rebates

reform_active = False
current_period = period_(period)

for i in range(5):
if p(current_period).in_effect:
reform_active = True
break
current_period = current_period.offset(1, "year")

if reform_active:
return create_ny_2025_inflation_rebates()
else:
return None


ny_2025_inflation_rebates = create_ny_2025_inflation_rebates_reform(
None, None, bypass=True
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
- name: Single person, eligible
period: 2025
reforms: policyengine_us.reforms.states.ny.inflation_rebates.ny_2025_inflation_rebates.ny_2025_inflation_rebates
input:
gov.contrib.states.ny.inflation_rebates.in_effect: true
state_code: NY
ny_agi: 150_000
filing_status: SINGLE
output:
ny_2025_inflation_rebates: 300

- name: Single person, ineligible
period: 2025
reforms: policyengine_us.reforms.states.ny.inflation_rebates.ny_2025_inflation_rebates.ny_2025_inflation_rebates
input:
gov.contrib.states.ny.inflation_rebates.in_effect: true
state_code: NY
ny_agi: 150_001
filing_status: SINGLE
output:
ny_2025_inflation_rebates: 0

- name: Separate person, eligible
period: 2025
reforms: policyengine_us.reforms.states.ny.inflation_rebates.ny_2025_inflation_rebates.ny_2025_inflation_rebates
input:
gov.contrib.states.ny.inflation_rebates.in_effect: true
state_code: NY
ny_agi: 150_000
filing_status: SEPARATE
output:
ny_2025_inflation_rebates: 250

- name: Separate person, ineligible
period: 2025
reforms: policyengine_us.reforms.states.ny.inflation_rebates.ny_2025_inflation_rebates.ny_2025_inflation_rebates
input:
gov.contrib.states.ny.inflation_rebates.in_effect: true
state_code: NY
ny_agi: 150_001
filing_status: SEPARATE
output:
ny_2025_inflation_rebates: 0

- name: Joint couple, eligible
period: 2025
reforms: policyengine_us.reforms.states.ny.inflation_rebates.ny_2025_inflation_rebates.ny_2025_inflation_rebates
input:
gov.contrib.states.ny.inflation_rebates.in_effect: true
state_code: NY
ny_agi: 300_000
filing_status: JOINT
output:
ny_2025_inflation_rebates: 500

- name: Joint couple, ineligible
period: 2025
reforms: policyengine_us.reforms.states.ny.inflation_rebates.ny_2025_inflation_rebates.ny_2025_inflation_rebates
input:
gov.contrib.states.ny.inflation_rebates.in_effect: true
state_code: NY
ny_agi: 300_001
filing_status: JOINT
output:
ny_2025_inflation_rebates: 0
Loading