From 94e40f14716b64e4afc6c1909a87c8f62e32a9ea Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 1 Sep 2026 19:38:23 +0400 Subject: [PATCH 1/5] Fix state parameter uprating rounding metadata --- .../fix-uprating-rounding-metadata.fixed.md | 1 + .../states/sc/dependent_exemption/amount.yaml | 9 +- .../states/ar/tax/income/rates/main/rate.yaml | 63 +++--- .../low_income/amount/five_exemptions.yaml | 180 +++++++++-------- .../low_income/amount/four_exemptions.yaml | 180 +++++++++-------- .../low_income/amount/one_exemption.yaml | 180 +++++++++-------- .../low_income/amount/six_exemptions.yaml | 189 ++++++++++-------- .../low_income/amount/three_exemptions.yaml | 180 +++++++++-------- .../low_income/amount/two_exemptions.yaml | 180 +++++++++-------- .../standard/claimable_as_dependent/min.yaml | 9 +- .../dependent_exemption/amount.yaml | 9 +- .../income/deductions/young_child/amount.yaml | 9 +- .../gov/states/sc/tax/income/rates.yaml | 18 +- .../deductions/standard/additional.yaml | 9 +- .../tax/income/deductions/standard/base.yaml | 45 +++-- .../tax/income/rates/head_of_household.yaml | 27 +-- .../gov/states/vt/tax/income/rates/joint.yaml | 27 +-- .../states/vt/tax/income/rates/separate.yaml | 27 +-- .../states/vt/tax/income/rates/single.yaml | 27 +-- .../vt/tax/income/rates/surviving_spouse.yaml | 27 +-- .../working_families_tax_credit/amount.yaml | 36 ++-- .../millionaires_tax/deductions/standard.yaml | 15 +- .../standard/phase_out/head_of_household.yaml | 9 +- .../deductions/standard/phase_out/joint.yaml | 9 +- .../standard/phase_out/separate.yaml | 9 +- .../deductions/standard/phase_out/single.yaml | 9 +- .../tax/income/rates/head_of_household.yaml | 27 +-- .../gov/states/wi/tax/income/rates/joint.yaml | 27 +-- .../states/wi/tax/income/rates/separate.yaml | 27 +-- .../states/wi/tax/income/rates/single.yaml | 27 +-- 30 files changed, 884 insertions(+), 707 deletions(-) create mode 100644 changelog.d/fix-uprating-rounding-metadata.fixed.md diff --git a/changelog.d/fix-uprating-rounding-metadata.fixed.md b/changelog.d/fix-uprating-rounding-metadata.fixed.md new file mode 100644 index 00000000000..ffe1f1d4742 --- /dev/null +++ b/changelog.d/fix-uprating-rounding-metadata.fixed.md @@ -0,0 +1 @@ +Fixed 12 state tax programs whose uprating rounding configuration was ignored. diff --git a/policyengine_us/parameters/gov/contrib/states/sc/dependent_exemption/amount.yaml b/policyengine_us/parameters/gov/contrib/states/sc/dependent_exemption/amount.yaml index 68964e368e0..7d281c90bce 100644 --- a/policyengine_us/parameters/gov/contrib/states/sc/dependent_exemption/amount.yaml +++ b/policyengine_us/parameters/gov/contrib/states/sc/dependent_exemption/amount.yaml @@ -9,10 +9,11 @@ values: metadata: unit: currency-USD period: year - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 10 label: South Carolina dependent exemption reform amount reference: - title: SC 1040 tax form instructions (2025) diff --git a/policyengine_us/parameters/gov/states/ar/tax/income/rates/main/rate.yaml b/policyengine_us/parameters/gov/states/ar/tax/income/rates/main/rate.yaml index 9cd808fa17c..97eebf8ae0e 100644 --- a/policyengine_us/parameters/gov/states/ar/tax/income/rates/main/rate.yaml +++ b/policyengine_us/parameters/gov/states/ar/tax/income/rates/main/rate.yaml @@ -36,10 +36,11 @@ brackets: values: 2014-01-01: 0 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 100 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 100 amount: 2014-01-01: 0.009 2019-01-01: 0 @@ -55,10 +56,11 @@ brackets: 2025-01-01: 5_600 2026-01-01: 5_600 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 100 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 100 amount: 2014-01-01: 0.025 2015-01-01: 0.024 @@ -75,10 +77,11 @@ brackets: 2025-01-01: 11_200 2026-01-01: 11_200 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 100 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 100 amount: 2014-01-01: 0.035 2015-01-01: 0.034 @@ -96,10 +99,11 @@ brackets: 2025-01-01: 16_000 2026-01-01: 16_000 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 100 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 100 amount: 2014-01-01: 0.045 2015-01-01: 0.044 @@ -117,10 +121,11 @@ brackets: 2025-01-01: 26_400 2026-01-01: 26_400 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 100 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 100 amount: 2014-01-01: 0.06 2019-01-01: 0.05 @@ -137,10 +142,11 @@ brackets: 2021-01-01: 39_700 2022-01-01: .inf metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 100 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 100 amount: 2014-01-01: 0.07 2019-01-01: 0.06 @@ -153,10 +159,11 @@ brackets: 2020-01-01: 82_001 2021-01-01: .inf metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 100 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 100 amount: 2014-01-01: .inf 2019-01-01: 0.069 diff --git a/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/five_exemptions.yaml b/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/five_exemptions.yaml index 7c3f5f9ceb0..af73d9fee31 100644 --- a/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/five_exemptions.yaml +++ b/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/five_exemptions.yaml @@ -9,10 +9,11 @@ brackets: 2024-01-01: 510 2025-01-01: 522 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 1_000 amount: @@ -22,10 +23,11 @@ brackets: 2024-01-01: 639 2025-01-01: 655 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 7_500 amount: @@ -35,10 +37,11 @@ brackets: 2024-01-01: 645 2025-01-01: 660 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 8_000 amount: @@ -48,10 +51,11 @@ brackets: 2024-01-01: 645 2025-01-01: 660 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 9_000 amount: @@ -61,10 +65,11 @@ brackets: 2024-01-01: 572 2025-01-01: 586 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 10_000 amount: @@ -74,10 +79,11 @@ brackets: 2024-01-01: 499 2025-01-01: 511 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 11_500 amount: @@ -87,10 +93,11 @@ brackets: 2024-01-01: 409 2025-01-01: 419 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 13_000 amount: @@ -100,10 +107,11 @@ brackets: 2024-01-01: 353 2025-01-01: 362 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 14_500 amount: @@ -113,10 +121,11 @@ brackets: 2024-01-01: 319 2025-01-01: 327 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 16_500 amount: @@ -126,10 +135,11 @@ brackets: 2024-01-01: 280 2025-01-01: 287 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 18_000 amount: @@ -139,10 +149,11 @@ brackets: 2024-01-01: 246 2025-01-01: 252 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 19_500 amount: @@ -152,10 +163,11 @@ brackets: 2024-01-01: 207 2025-01-01: 212 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 23_000 amount: @@ -165,10 +177,11 @@ brackets: 2024-01-01: 190 2025-01-01: 195 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 24_500 amount: @@ -178,10 +191,11 @@ brackets: 2024-01-01: 173 2025-01-01: 178 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 26_000 amount: @@ -191,10 +205,11 @@ brackets: 2024-01-01: 157 2025-01-01: 160 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 27_500 amount: @@ -204,10 +219,11 @@ brackets: 2024-01-01: 145 2025-01-01: 149 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 29_500 amount: @@ -217,10 +233,11 @@ brackets: 2024-01-01: 129 2025-01-01: 132 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 31_000 amount: @@ -230,10 +247,11 @@ brackets: 2024-01-01: 112 2025-01-01: 114 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 32_500 amount: @@ -243,10 +261,11 @@ brackets: 2024-01-01: 89 2025-01-01: 91 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 34_000 amount: @@ -256,10 +275,11 @@ brackets: 2024-01-01: 72 2025-01-01: 74 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 36_000 amount: diff --git a/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/four_exemptions.yaml b/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/four_exemptions.yaml index f7d0633ade2..cc2f7db3eb7 100644 --- a/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/four_exemptions.yaml +++ b/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/four_exemptions.yaml @@ -9,10 +9,11 @@ brackets: 2024-01-01: 437 2025-01-01: 448 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 1_000 amount: @@ -22,10 +23,11 @@ brackets: 2024-01-01: 566 2025-01-01: 580 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 7_500 amount: @@ -35,10 +37,11 @@ brackets: 2024-01-01: 555 2025-01-01: 568 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 8_000 amount: @@ -48,10 +51,11 @@ brackets: 2024-01-01: 538 2025-01-01: 551 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 9_000 amount: @@ -61,10 +65,11 @@ brackets: 2024-01-01: 476 2025-01-01: 488 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 10_000 amount: @@ -74,10 +79,11 @@ brackets: 2024-01-01: 403 2025-01-01: 413 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 11_500 amount: @@ -87,10 +93,11 @@ brackets: 2024-01-01: 331 2025-01-01: 339 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 13_000 amount: @@ -100,10 +107,11 @@ brackets: 2024-01-01: 308 2025-01-01: 316 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 14_500 amount: @@ -113,10 +121,11 @@ brackets: 2024-01-01: 263 2025-01-01: 270 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 16_500 amount: @@ -126,10 +135,11 @@ brackets: 2024-01-01: 235 2025-01-01: 241 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 18_000 amount: @@ -139,10 +149,11 @@ brackets: 2024-01-01: 201 2025-01-01: 206 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 19_500 amount: @@ -152,10 +163,11 @@ brackets: 2024-01-01: 185 2025-01-01: 189 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 23_000 amount: @@ -165,10 +177,11 @@ brackets: 2024-01-01: 162 2025-01-01: 166 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 24_500 amount: @@ -178,10 +191,11 @@ brackets: 2024-01-01: 157 2025-01-01: 160 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 26_000 amount: @@ -191,10 +205,11 @@ brackets: 2024-01-01: 145 2025-01-01: 149 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 27_500 amount: @@ -204,10 +219,11 @@ brackets: 2024-01-01: 129 2025-01-01: 132 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 29_500 amount: @@ -217,10 +233,11 @@ brackets: 2024-01-01: 112 2025-01-01: 114 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 31_000 amount: @@ -230,10 +247,11 @@ brackets: 2024-01-01: 89 2025-01-01: 91 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 32_500 amount: @@ -243,10 +261,11 @@ brackets: 2024-01-01: 72 2025-01-01: 74 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 34_000 amount: @@ -256,10 +275,11 @@ brackets: 2024-01-01: 61 2025-01-01: 63 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 36_000 amount: diff --git a/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/one_exemption.yaml b/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/one_exemption.yaml index 2dad2a659a8..724d7b9ba6a 100644 --- a/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/one_exemption.yaml +++ b/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/one_exemption.yaml @@ -9,10 +9,11 @@ brackets: 2024-01-01: 218 2025-01-01: 224 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 1_000 amount: @@ -22,10 +23,11 @@ brackets: 2024-01-01: 246 2025-01-01: 252 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 7_500 amount: @@ -35,10 +37,11 @@ brackets: 2024-01-01: 230 2025-01-01: 235 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 8_000 amount: @@ -48,10 +51,11 @@ brackets: 2024-01-01: 207 2025-01-01: 212 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 9_000 amount: @@ -61,10 +65,11 @@ brackets: 2024-01-01: 190 2025-01-01: 195 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 10_000 amount: @@ -74,10 +79,11 @@ brackets: 2024-01-01: 162 2025-01-01: 166 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 11_500 amount: @@ -87,10 +93,11 @@ brackets: 2024-01-01: 145 2025-01-01: 149 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 13_000 amount: @@ -100,10 +107,11 @@ brackets: 2024-01-01: 129 2025-01-01: 132 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 14_500 amount: @@ -113,10 +121,11 @@ brackets: 2024-01-01: 117 2025-01-01: 120 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 16_500 amount: @@ -126,10 +135,11 @@ brackets: 2024-01-01: 112 2025-01-01: 114 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 18_000 amount: @@ -139,10 +149,11 @@ brackets: 2024-01-01: 100 2025-01-01: 103 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 19_500 amount: @@ -152,10 +163,11 @@ brackets: 2024-01-01: 89 2025-01-01: 91 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 23_000 amount: @@ -165,10 +177,11 @@ brackets: 2024-01-01: 84 2025-01-01: 86 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 24_500 amount: @@ -178,10 +191,11 @@ brackets: 2024-01-01: 72 2025-01-01: 74 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 26_000 amount: @@ -191,10 +205,11 @@ brackets: 2024-01-01: 61 2025-01-01: 63 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 27_500 amount: @@ -204,10 +219,11 @@ brackets: 2024-01-01: 56 2025-01-01: 57 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 29_500 amount: @@ -217,10 +233,11 @@ brackets: 2024-01-01: 44 2025-01-01: 45 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 31_000 amount: @@ -230,10 +247,11 @@ brackets: 2024-01-01: 39 2025-01-01: 40 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 32_500 amount: @@ -243,10 +261,11 @@ brackets: 2024-01-01: 28 2025-01-01: 28 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 34_000 amount: @@ -255,10 +274,11 @@ brackets: 2023-01-01: 16 2025-01-01: 17 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 36_000 amount: diff --git a/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/six_exemptions.yaml b/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/six_exemptions.yaml index 072abd1b564..c9180d52938 100644 --- a/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/six_exemptions.yaml +++ b/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/six_exemptions.yaml @@ -9,10 +9,11 @@ brackets: 2024-01-01: 583 2025-01-01: 597 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 1_000 amount: @@ -22,10 +23,11 @@ brackets: 2024-01-01: 757 2025-01-01: 775 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 1_500 amount: @@ -35,10 +37,11 @@ brackets: 2024-01-01: 791 2025-01-01: 810 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 2_500 amount: @@ -48,10 +51,11 @@ brackets: 2024-01-01: 819 2025-01-01: 839 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 8_000 amount: @@ -61,10 +65,11 @@ brackets: 2024-01-01: 785 2025-01-01: 804 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 9_000 amount: @@ -74,10 +79,11 @@ brackets: 2024-01-01: 746 2025-01-01: 764 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 10_000 amount: @@ -87,10 +93,11 @@ brackets: 2024-01-01: 673 2025-01-01: 689 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 11_500 amount: @@ -100,10 +107,11 @@ brackets: 2024-01-01: 538 2025-01-01: 551 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 13_000 amount: @@ -113,10 +121,11 @@ brackets: 2024-01-01: 437 2025-01-01: 448 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 14_500 amount: @@ -126,10 +135,11 @@ brackets: 2024-01-01: 375 2025-01-01: 385 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 16_500 amount: @@ -139,10 +149,11 @@ brackets: 2024-01-01: 336 2025-01-01: 344 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 18_000 amount: @@ -152,10 +163,11 @@ brackets: 2024-01-01: 291 2025-01-01: 298 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 19_500 amount: @@ -165,10 +177,11 @@ brackets: 2024-01-01: 258 2025-01-01: 264 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 23_000 amount: @@ -178,10 +191,11 @@ brackets: 2024-01-01: 218 2025-01-01: 224 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 24_500 amount: @@ -191,10 +205,11 @@ brackets: 2024-01-01: 201 2025-01-01: 206 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 26_000 amount: @@ -204,10 +219,11 @@ brackets: 2024-01-01: 190 2025-01-01: 195 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 27_500 amount: @@ -217,10 +233,11 @@ brackets: 2024-01-01: 173 2025-01-01: 178 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 29_500 amount: @@ -230,10 +247,11 @@ brackets: 2024-01-01: 145 2025-01-01: 149 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 31_000 amount: @@ -243,10 +261,11 @@ brackets: 2024-01-01: 117 2025-01-01: 120 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 32_500 amount: @@ -256,10 +275,11 @@ brackets: 2024-01-01: 100 2025-01-01: 103 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 34_000 amount: @@ -269,10 +289,11 @@ brackets: 2024-01-01: 84 2025-01-01: 86 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 36_000 amount: diff --git a/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/three_exemptions.yaml b/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/three_exemptions.yaml index 01117ab5576..9b608d07b20 100644 --- a/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/three_exemptions.yaml +++ b/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/three_exemptions.yaml @@ -9,10 +9,11 @@ brackets: 2024-01-01: 364 2025-01-01: 373 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 1_000 amount: @@ -22,10 +23,11 @@ brackets: 2024-01-01: 454 2025-01-01: 465 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 7_500 amount: @@ -35,10 +37,11 @@ brackets: 2024-01-01: 437 2025-01-01: 448 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 8_000 amount: @@ -48,10 +51,11 @@ brackets: 2024-01-01: 420 2025-01-01: 431 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 9_000 amount: @@ -61,10 +65,11 @@ brackets: 2024-01-01: 381 2025-01-01: 390 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 10_000 amount: @@ -74,10 +79,11 @@ brackets: 2024-01-01: 308 2025-01-01: 316 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 11_500 amount: @@ -87,10 +93,11 @@ brackets: 2024-01-01: 263 2025-01-01: 270 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 13_000 amount: @@ -100,10 +107,11 @@ brackets: 2024-01-01: 246 2025-01-01: 252 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 14_500 amount: @@ -113,10 +121,11 @@ brackets: 2024-01-01: 207 2025-01-01: 212 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 16_500 amount: @@ -126,10 +135,11 @@ brackets: 2024-01-01: 185 2025-01-01: 189 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 18_000 amount: @@ -139,10 +149,11 @@ brackets: 2024-01-01: 162 2025-01-01: 166 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 19_500 amount: @@ -152,10 +163,11 @@ brackets: 2024-01-01: 157 2025-01-01: 160 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 23_000 amount: @@ -165,10 +177,11 @@ brackets: 2024-01-01: 134 2025-01-01: 137 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 24_500 amount: @@ -178,10 +191,11 @@ brackets: 2024-01-01: 129 2025-01-01: 132 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 26_000 amount: @@ -191,10 +205,11 @@ brackets: 2024-01-01: 117 2025-01-01: 120 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 27_500 amount: @@ -204,10 +219,11 @@ brackets: 2024-01-01: 112 2025-01-01: 114 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 29_500 amount: @@ -217,10 +233,11 @@ brackets: 2024-01-01: 89 2025-01-01: 91 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 31_000 amount: @@ -230,10 +247,11 @@ brackets: 2024-01-01: 72 2025-01-01: 74 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 32_500 amount: @@ -243,10 +261,11 @@ brackets: 2024-01-01: 56 2025-01-01: 57 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 34_000 amount: @@ -256,10 +275,11 @@ brackets: 2024-01-01: 44 2025-01-01: 45 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 36_000 amount: diff --git a/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/two_exemptions.yaml b/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/two_exemptions.yaml index 9150a4dc175..5619cfc1c37 100644 --- a/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/two_exemptions.yaml +++ b/policyengine_us/parameters/gov/states/nm/tax/income/rebates/low_income/amount/two_exemptions.yaml @@ -9,10 +9,11 @@ brackets: 2024-01-01: 291 2025-01-01: 298 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 1_000 amount: @@ -22,10 +23,11 @@ brackets: 2024-01-01: 353 2025-01-01: 362 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 7_500 amount: @@ -35,10 +37,11 @@ brackets: 2024-01-01: 347 2025-01-01: 356 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 8_000 amount: @@ -48,10 +51,11 @@ brackets: 2024-01-01: 319 2025-01-01: 327 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 9_000 amount: @@ -61,10 +65,11 @@ brackets: 2024-01-01: 280 2025-01-01: 287 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 10_000 amount: @@ -74,10 +79,11 @@ brackets: 2024-01-01: 235 2025-01-01: 241 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 11_500 amount: @@ -87,10 +93,11 @@ brackets: 2024-01-01: 207 2025-01-01: 212 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 13_000 amount: @@ -100,10 +107,11 @@ brackets: 2024-01-01: 190 2025-01-01: 195 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 14_500 amount: @@ -113,10 +121,11 @@ brackets: 2024-01-01: 173 2025-01-01: 178 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 16_500 amount: @@ -126,10 +135,11 @@ brackets: 2024-01-01: 145 2025-01-01: 149 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 18_000 amount: @@ -139,10 +149,11 @@ brackets: 2024-01-01: 129 2025-01-01: 132 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 19_500 amount: @@ -152,10 +163,11 @@ brackets: 2024-01-01: 117 2025-01-01: 120 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 23_000 amount: @@ -165,10 +177,11 @@ brackets: 2024-01-01: 112 2025-01-01: 114 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 24_500 amount: @@ -178,10 +191,11 @@ brackets: 2024-01-01: 100 2025-01-01: 103 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 26_000 amount: @@ -191,10 +205,11 @@ brackets: 2024-01-01: 89 2025-01-01: 91 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 27_500 amount: @@ -204,10 +219,11 @@ brackets: 2024-01-01: 84 2025-01-01: 86 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 29_500 amount: @@ -217,10 +233,11 @@ brackets: 2024-01-01: 61 2025-01-01: 63 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 31_000 amount: @@ -230,10 +247,11 @@ brackets: 2024-01-01: 56 2025-01-01: 57 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 32_500 amount: @@ -243,10 +261,11 @@ brackets: 2024-01-01: 44 2025-01-01: 45 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 34_000 amount: @@ -256,10 +275,11 @@ brackets: 2024-01-01: 39 2025-01-01: 40 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 1 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 1 - threshold: 2021-01-01: 36_000 amount: diff --git a/policyengine_us/parameters/gov/states/or/tax/income/deductions/standard/claimable_as_dependent/min.yaml b/policyengine_us/parameters/gov/states/or/tax/income/deductions/standard/claimable_as_dependent/min.yaml index b32320d5ce3..776b5a71434 100644 --- a/policyengine_us/parameters/gov/states/or/tax/income/deductions/standard/claimable_as_dependent/min.yaml +++ b/policyengine_us/parameters/gov/states/or/tax/income/deductions/standard/claimable_as_dependent/min.yaml @@ -8,10 +8,11 @@ metadata: unit: currency-USD period: year label: Oregon minimum deduction if claimable as dependent - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 reference: - title: 2021 Oregon Income Tax Form OR-40 Instructions href: https://www.oregon.gov/dor/forms/FormsPubs/form-or-40-inst_101-040-1_2021.pdf#page=15 diff --git a/policyengine_us/parameters/gov/states/sc/tax/income/deductions/dependent_exemption/amount.yaml b/policyengine_us/parameters/gov/states/sc/tax/income/deductions/dependent_exemption/amount.yaml index 8a5c4a623ca..3f55268050d 100644 --- a/policyengine_us/parameters/gov/states/sc/tax/income/deductions/dependent_exemption/amount.yaml +++ b/policyengine_us/parameters/gov/states/sc/tax/income/deductions/dependent_exemption/amount.yaml @@ -10,10 +10,11 @@ values: metadata: unit: currency-USD period: year - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 10 label: South Carolina dependent exemption amount reference: # 12-6-1140(13) defines the dependent exemption amount; 12-6-1160 sets the diff --git a/policyengine_us/parameters/gov/states/sc/tax/income/deductions/young_child/amount.yaml b/policyengine_us/parameters/gov/states/sc/tax/income/deductions/young_child/amount.yaml index ef16fb29455..39c8c8cfc0b 100644 --- a/policyengine_us/parameters/gov/states/sc/tax/income/deductions/young_child/amount.yaml +++ b/policyengine_us/parameters/gov/states/sc/tax/income/deductions/young_child/amount.yaml @@ -10,10 +10,11 @@ values: metadata: unit: currency-USD period: year - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 10 label: South Carolina young child deduction amount reference: # 12-6-1160 defines the young child deduction equal to the 12-6-1140 amount. diff --git a/policyengine_us/parameters/gov/states/sc/tax/income/rates.yaml b/policyengine_us/parameters/gov/states/sc/tax/income/rates.yaml index 916aee34dc3..e6a55a8267b 100644 --- a/policyengine_us/parameters/gov/states/sc/tax/income/rates.yaml +++ b/policyengine_us/parameters/gov/states/sc/tax/income/rates.yaml @@ -18,10 +18,11 @@ brackets: 2025-01-01: 3_560 2026-01-01: 30_000 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 10 rate: 1994-01-01: 0.03 2026-01-01: 0.0521 @@ -34,10 +35,11 @@ brackets: 2025-01-01: 17_830 2026-01-01: .inf metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 10 rate: 1994-01-01: 0.04 2022-01-01: 0.065 diff --git a/policyengine_us/parameters/gov/states/vt/tax/income/deductions/standard/additional.yaml b/policyengine_us/parameters/gov/states/vt/tax/income/deductions/standard/additional.yaml index 83cb65dee78..330039e3874 100644 --- a/policyengine_us/parameters/gov/states/vt/tax/income/deductions/standard/additional.yaml +++ b/policyengine_us/parameters/gov/states/vt/tax/income/deductions/standard/additional.yaml @@ -3,10 +3,11 @@ metadata: label: Vermont additional aged or blind, head or spouse, standard deduction amount period: year unit: currency-USD - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 reference: - title: 2021 VERMONT Income Tax Return Form Instructions-Taxable Income Line 4 href: https://tax.vermont.gov/sites/tax/files/documents/Income-Booklet-2021.pdf#page=10 diff --git a/policyengine_us/parameters/gov/states/vt/tax/income/deductions/standard/base.yaml b/policyengine_us/parameters/gov/states/vt/tax/income/deductions/standard/base.yaml index 57bf2fbb619..f777af9872b 100644 --- a/policyengine_us/parameters/gov/states/vt/tax/income/deductions/standard/base.yaml +++ b/policyengine_us/parameters/gov/states/vt/tax/income/deductions/standard/base.yaml @@ -28,10 +28,11 @@ JOINT: 2024-01-01: 14_850 2025-01-01: 15_300 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 HEAD_OF_HOUSEHOLD: values: 2021-01-01: 9_500 @@ -40,10 +41,11 @@ HEAD_OF_HOUSEHOLD: 2024-01-01: 11_100 2025-01-01: 11_450 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 SURVIVING_SPOUSE: values: 2021-01-01: 12_700 @@ -52,10 +54,11 @@ SURVIVING_SPOUSE: 2024-01-01: 14_850 2025-01-01: 15_300 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 SINGLE: values: 2021-01-01: 6_350 @@ -64,10 +67,11 @@ SINGLE: 2024-01-01: 7_400 2025-01-01: 7_650 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 SEPARATE: values: 2021-01-01: 6_350 @@ -76,7 +80,8 @@ SEPARATE: 2024-01-01: 7_400 2025-01-01: 7_650 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 diff --git a/policyengine_us/parameters/gov/states/vt/tax/income/rates/head_of_household.yaml b/policyengine_us/parameters/gov/states/vt/tax/income/rates/head_of_household.yaml index 141186a93eb..89a0cbd4519 100644 --- a/policyengine_us/parameters/gov/states/vt/tax/income/rates/head_of_household.yaml +++ b/policyengine_us/parameters/gov/states/vt/tax/income/rates/head_of_household.yaml @@ -31,10 +31,11 @@ brackets: 2024-01-01: 64_200 2025-01-01: 66_200 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2021-01-01: 0.066 - threshold: @@ -45,10 +46,11 @@ brackets: 2024-01-01: 165_700 2025-01-01: 171_000 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2021-01-01: 0.076 - threshold: @@ -59,9 +61,10 @@ brackets: 2024-01-01: 268_300 2025-01-01: 276_850 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2021-01-01: 0.0875 diff --git a/policyengine_us/parameters/gov/states/vt/tax/income/rates/joint.yaml b/policyengine_us/parameters/gov/states/vt/tax/income/rates/joint.yaml index a9b7e9577ef..28687429d7d 100644 --- a/policyengine_us/parameters/gov/states/vt/tax/income/rates/joint.yaml +++ b/policyengine_us/parameters/gov/states/vt/tax/income/rates/joint.yaml @@ -31,10 +31,11 @@ brackets: 2024-01-01: 79_950 2025-01-01: 82_500 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2021-01-01: 0.066 - threshold: @@ -45,10 +46,11 @@ brackets: 2024-01-01: 193_300 2025-01-01: 199_450 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2021-01-01: 0.076 - threshold: @@ -59,9 +61,10 @@ brackets: 2024-01-01: 294_600 2025-01-01: 304_000 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2021-01-01: 0.0875 diff --git a/policyengine_us/parameters/gov/states/vt/tax/income/rates/separate.yaml b/policyengine_us/parameters/gov/states/vt/tax/income/rates/separate.yaml index f22277e5de1..473711b6f8c 100644 --- a/policyengine_us/parameters/gov/states/vt/tax/income/rates/separate.yaml +++ b/policyengine_us/parameters/gov/states/vt/tax/income/rates/separate.yaml @@ -31,10 +31,11 @@ brackets: 2024-01-01: 39_975 2025-01-01: 41_250 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2022-01-01: 0.066 - threshold: @@ -45,10 +46,11 @@ brackets: 2024-01-01: 96_650 2025-01-01: 99_725 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2022-01-01: 0.076 - threshold: @@ -59,9 +61,10 @@ brackets: 2024-01-01: 147_300 2025-01-01: 152_000 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2022-01-01: 0.0875 diff --git a/policyengine_us/parameters/gov/states/vt/tax/income/rates/single.yaml b/policyengine_us/parameters/gov/states/vt/tax/income/rates/single.yaml index d774eadbe8e..31acac1ca86 100644 --- a/policyengine_us/parameters/gov/states/vt/tax/income/rates/single.yaml +++ b/policyengine_us/parameters/gov/states/vt/tax/income/rates/single.yaml @@ -31,10 +31,11 @@ brackets: 2024-01-01: 47_900 2025-01-01: 49_400 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2022-01-01: 0.066 - threshold: @@ -45,10 +46,11 @@ brackets: 2024-01-01: 116_000 2025-01-01: 119_700 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2022-01-01: 0.076 - threshold: @@ -59,9 +61,10 @@ brackets: 2024-01-01: 242_000 2025-01-01: 249_700 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2022-01-01: 0.0875 diff --git a/policyengine_us/parameters/gov/states/vt/tax/income/rates/surviving_spouse.yaml b/policyengine_us/parameters/gov/states/vt/tax/income/rates/surviving_spouse.yaml index 41960455b07..13ec5f954d7 100644 --- a/policyengine_us/parameters/gov/states/vt/tax/income/rates/surviving_spouse.yaml +++ b/policyengine_us/parameters/gov/states/vt/tax/income/rates/surviving_spouse.yaml @@ -31,10 +31,11 @@ brackets: 2024-01-01: 79_950 2025-01-01: 82_500 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2022-01-01: 0.066 - threshold: @@ -45,10 +46,11 @@ brackets: 2024-01-01: 193_300 2025-01-01: 199_450 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2021-01-01: 0.076 - threshold: @@ -59,9 +61,10 @@ brackets: 2024-01-01: 294_600 2025-01-01: 304_000 metadata: - uprating: gov.irs.uprating - rounding: - type: downwards - interval: 50 + uprating: + parameter: gov.irs.uprating + rounding: + type: downwards + interval: 50 rate: 2021-01-01: 0.0875 diff --git a/policyengine_us/parameters/gov/states/wa/tax/income/credits/working_families_tax_credit/amount.yaml b/policyengine_us/parameters/gov/states/wa/tax/income/credits/working_families_tax_credit/amount.yaml index 42237c9704e..3722fc538ed 100644 --- a/policyengine_us/parameters/gov/states/wa/tax/income/credits/working_families_tax_credit/amount.yaml +++ b/policyengine_us/parameters/gov/states/wa/tax/income/credits/working_families_tax_credit/amount.yaml @@ -33,10 +33,11 @@ brackets: 2024-01-01: 325 2025-01-01: 335 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 5 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 5 - threshold: 2022-01-01: 1 amount: @@ -47,10 +48,11 @@ brackets: 2024-01-01: 640 2025-01-01: 660 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 5 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 5 - threshold: 2022-01-01: 2 amount: @@ -61,10 +63,11 @@ brackets: 2024-01-01: 965 2025-01-01: 995 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 5 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 5 - threshold: 2022-01-01: 3 amount: @@ -75,7 +78,8 @@ brackets: 2024-01-01: 1_290 2025-01-01: 1_330 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 5 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 5 diff --git a/policyengine_us/parameters/gov/states/wa/tax/income/millionaires_tax/deductions/standard.yaml b/policyengine_us/parameters/gov/states/wa/tax/income/millionaires_tax/deductions/standard.yaml index 30315cdaa58..d14c9e03517 100644 --- a/policyengine_us/parameters/gov/states/wa/tax/income/millionaires_tax/deductions/standard.yaml +++ b/policyengine_us/parameters/gov/states/wa/tax/income/millionaires_tax/deductions/standard.yaml @@ -6,13 +6,14 @@ metadata: unit: currency-USD period: year label: Washington millionaires tax standard deduction - uprating: gov.bls.cpi.cpi_w - # Sec. 316(2) specifies national CPI-W (all urban wage earners and - # clerical workers) for indexing starting Oct 2029 (for tax year 2030). - # Fixed at $1M for 2028-2029. - rounding: - type: nearest - interval: 1_000 + uprating: + parameter: gov.bls.cpi.cpi_w + # Sec. 316(2) specifies national CPI-W (all urban wage earners and + # clerical workers) for indexing starting Oct 2029 (for tax year 2030). + # Fixed at $1M for 2028-2029. + rounding: + type: nearest + interval: 1_000 reference: - title: ESSB 6346, Sec. 314 - One million dollar standard deduction href: https://lawfilesext.leg.wa.gov/biennium/2025-26/Pdf/Bills/Senate%20Passed%20Legislature/6346-S.PL.pdf#page=14 diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/head_of_household.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/head_of_household.yaml index f2776118ab2..4bff16e1713 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/head_of_household.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/head_of_household.yaml @@ -26,10 +26,11 @@ brackets: 2024-01-01: 19_070 2025-01-01: 19_550 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.22515 - threshold: diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/joint.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/joint.yaml index b0bf5da6aa5..09c8874000c 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/joint.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/joint.yaml @@ -26,9 +26,10 @@ brackets: 2024-01-01: 27_520 2025-01-01: 28_210 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.19778 diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/separate.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/separate.yaml index 465e6a1226b..1f30395aacb 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/separate.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/separate.yaml @@ -26,9 +26,10 @@ brackets: 2024-01-01: 13_060 2025-01-01: 13_390 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.19778 diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/single.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/single.yaml index 2b0b05ccda0..b9076e11ee1 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/single.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/deductions/standard/phase_out/single.yaml @@ -26,9 +26,10 @@ brackets: 2024-01-01: 19_070 2025-01-01: 19_550 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.12 diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/rates/head_of_household.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/rates/head_of_household.yaml index 5fd46f9e755..62bf8dc4b11 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/rates/head_of_household.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/rates/head_of_household.yaml @@ -31,10 +31,11 @@ brackets: 2024-01-01: 14_320 2025-01-01: 14_680 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.0465 2023-01-01: 0.044 @@ -46,10 +47,11 @@ brackets: 2024-01-01: 28_640 2025-01-01: 51_130 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.053 - threshold: @@ -60,9 +62,10 @@ brackets: 2024-01-01: 315_310 2025-01-01: 323_290 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.0765 diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/rates/joint.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/rates/joint.yaml index 4e793b4267a..3ccd350acc9 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/rates/joint.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/rates/joint.yaml @@ -31,10 +31,11 @@ brackets: 2024-01-01: 19_090 2025-01-01: 19_580 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.0465 2023-01-01: 0.044 @@ -46,10 +47,11 @@ brackets: 2024-01-01: 38_190 2025-01-01: 68_170 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.053 - threshold: @@ -60,9 +62,10 @@ brackets: 2024-01-01: 420_420 2025-01-01: 431_060 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.0765 diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/rates/separate.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/rates/separate.yaml index 12be40c29fe..ba8132b5719 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/rates/separate.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/rates/separate.yaml @@ -31,10 +31,11 @@ brackets: 2024-01-01: 9_550 2025-01-01: 9_790 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.0465 2023-01-01: 0.044 @@ -46,10 +47,11 @@ brackets: 2024-01-01: 19_090 2025-01-01: 34_090 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.053 - threshold: @@ -60,9 +62,10 @@ brackets: 2024-01-01: 210_210 2025-01-01: 215_530 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.0765 diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/rates/single.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/rates/single.yaml index 7ab308f2bfd..f7d4a5f2f17 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/rates/single.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/rates/single.yaml @@ -31,10 +31,11 @@ brackets: 2024-01-01: 14_320 2025-01-01: 14_680 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.0465 2023-01-01: 0.044 @@ -46,10 +47,11 @@ brackets: 2024-01-01: 28_640 2025-01-01: 51_130 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.053 - threshold: @@ -60,9 +62,10 @@ brackets: 2024-01-01: 315_310 2025-01-01: 323_290 metadata: - uprating: gov.irs.uprating - rounding: - type: nearest - interval: 10 + uprating: + parameter: gov.irs.uprating + rounding: + type: nearest + interval: 10 rate: 2021-01-01: 0.0765 From 8d50c523037c669621557a1603a51420feacd3a1 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 1 Sep 2026 21:10:55 +0400 Subject: [PATCH 2/5] Update Washington WFTC rounding tests --- .../wa_working_families_tax_credit.yaml | 16 +++++----- .../state/wa/working_families_tax_credit.yaml | 29 ++++++++++--------- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/policyengine_us/tests/policy/baseline/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.yaml b/policyengine_us/tests/policy/baseline/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.yaml index c8537f70566..09294d2071f 100644 --- a/policyengine_us/tests/policy/baseline/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.yaml +++ b/policyengine_us/tests/policy/baseline/gov/states/wa/tax/income/credits/wa_working_families_tax_credit.yaml @@ -223,8 +223,9 @@ eitc_child_count: 0 output: # Eligible via age expansion: age 18+, has earned income - # Amount is inflation-adjusted from $300 (2022) to $366.70 (2029) - wa_working_families_tax_credit: 366.70 + # Amount is inflation-adjusted from $300 (2022) and rounded to the + # nearest $5, producing $365 in 2029. + wa_working_families_tax_credit: 365 - name: Case 7b, age 18 boundary is eligible under 2029 age expansion. period: 2029 @@ -238,7 +239,7 @@ eitc_child_count: 0 output: # Exact age-18 boundary: eligible via age expansion - wa_working_families_tax_credit: 366.70 + wa_working_families_tax_credit: 365 - name: Case 8, age 17 without EITC gets no WFTC in 2029. period: 2029 @@ -332,8 +333,9 @@ state_code: WA output: # Standard EITC pathway still works - # Amount is inflation-adjusted from $300 (2022) to $366.70 (2029) - wa_working_families_tax_credit: 366.70 + # Amount is inflation-adjusted from $300 (2022) and rounded to the + # nearest $5, producing $365 in 2029. + wa_working_families_tax_credit: 365 - name: Case 12, age expansion preserves EITC investment income eligibility. period: 2029 @@ -362,7 +364,7 @@ eitc_child_count: 0 output: # Either head or spouse meeting age 18 is sufficient. - wa_working_families_tax_credit: 366.70 + wa_working_families_tax_credit: 365 - name: Case 14, ITIN filer with qualifying child can receive WFTC without a federal EITC amount. period: 2025 @@ -626,7 +628,7 @@ # WAC 388-478-0015 sets the 2025 single-person monthly need standard # at $3,816; ESSB 6346 multiplies it by 12 for tax years 2029 onward. wa_working_families_tax_credit_maximum_qualifying_income: 45_792 - wa_working_families_tax_credit: 277.02 + wa_working_families_tax_credit: 275.79 - name: WA WFTC counts a disabled adult dependent as a qualifying child (IRC 152(c)(3)(B) via frozen 2022 EITC) period: 2025 diff --git a/policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/wa/working_families_tax_credit.yaml b/policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/wa/working_families_tax_credit.yaml index da21974bc36..b3b26193eac 100644 --- a/policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/wa/working_families_tax_credit.yaml +++ b/policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/wa/working_families_tax_credit.yaml @@ -1,7 +1,7 @@ # WA Working Families Tax Credit (RCW 82.08.0206), pinned to the federal # EITC rules as in effect 2022-06-09. 2026 maximum amounts (2025 statutory -# values uprated by gov.irs.uprating, no rounding applied at runtime): -# 0 kids $342.59, 1 kid $674.96, 2 kids $1,017.55, 3+ kids $1,360.14; +# values uprated by gov.irs.uprating and rounded to the nearest $5): +# 0 kids $345, 1 kid $675, 2 kids $1,020, 3+ kids $1,360; # $50 minimum. Income ceiling = the current-year federal EITC maximum AGI # (indexed each year, e.g. $19,539.74 childless / $51,593.38 head-of-household # one child in 2026); the credit phases from the maximum down to $50 over the @@ -82,8 +82,8 @@ tax_unit: # Income $20,000 is well below the 2026 one-child joint phase-out # start, so the credit is the full 2026 maximum: $660 (2025) x 1.02266 - # uprating = 674.96. - wa_working_families_tax_credit: 674.96 + # uprating = 674.96, rounded to the nearest $5 = $675. + wa_working_families_tax_credit: 675 adjusted_gross_income: 20_000.0 - name: wa_wftc_childless_mid_phase_out (wa) period: 2026 @@ -128,9 +128,9 @@ tax_units: tax_unit: # 2026 childless ceiling $19,539.74; phase-out starts $2,500 below at - # $17,039.74; rate = (342.59 - 50)/2,500 = 0.11704; - # 342.59 - (18,000 - 17,039.74) x 0.11704 = 230.21. - wa_working_families_tax_credit: 230.21 + # $17,039.74; rate = (345 - 50)/2,500 = 0.118; + # 345 - (18,000 - 17,039.74) x 0.118 = 231.69. + wa_working_families_tax_credit: 231.69 adjusted_gross_income: 18_000.0 - name: wa_wftc_1_child_min_amount_near_ceiling (wa) period: 2026 @@ -192,7 +192,8 @@ tax_units: tax_unit: # 2026 head-of-household one-child ceiling $51,593.38; income $51,590 - # sits just below it, in the $50 statutory minimum region + # sits just below it; the rounded $675 maximum phases down to $50.42 + # in the $50 statutory minimum region # (RCW 82.08.0206(3)(c)). wa_working_families_tax_credit: 50.42 adjusted_gross_income: 51_590.0 @@ -369,8 +370,8 @@ tax_unit: # WA-specific state-only path: an ITIN filer (no SSN, has TIN) # fails the federal EITC identification test (eitc = 0) but - # qualifies for the WFTC with 1 TIN-holding child -> full 674.96. - wa_working_families_tax_credit: 674.96 + # qualifies for the WFTC with 1 TIN-holding child -> full $675. + wa_working_families_tax_credit: 675 eitc: 0.0 adjusted_gross_income: 20_000.0 - name: wa_wftc_3_children_max_amount (wa) @@ -481,8 +482,8 @@ output: tax_units: tax_unit: - # Top child bracket: 3+ kids 2026 maximum = 1,330 x 1.02266 - # uprating = 1,360.14; income 20,000 is well below the 2026 joint - # three-child phase-out start, so the full maximum applies. - wa_working_families_tax_credit: 1_360.14 + # Top child bracket: 3+ kids 2026 maximum = 1,330 x 1.02266, + # rounded to the nearest $5 = 1,360; income 20,000 is below the 2026 + # joint three-child phase-out start, so the full maximum applies. + wa_working_families_tax_credit: 1_360 adjusted_gross_income: 20_000.0 From 255ae62de8eadf6a43596941f7581140cf3378b9 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 1 Sep 2026 22:03:09 +0400 Subject: [PATCH 3/5] Update Washington WFTC partner signatures --- .../analytics_coverage/signatures/wa.yaml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/policyengine_us/tests/policy/baseline/partners/analytics_coverage/signatures/wa.yaml b/policyengine_us/tests/policy/baseline/partners/analytics_coverage/signatures/wa.yaml index 5ec43c82518..9b208fb838c 100644 --- a/policyengine_us/tests/policy/baseline/partners/analytics_coverage/signatures/wa.yaml +++ b/policyengine_us/tests/policy/baseline/partners/analytics_coverage/signatures/wa.yaml @@ -4,9 +4,10 @@ # *_before_lsr / *_before_response input keys that production's Simulation # wrapper backfills (issue #8802). Outputs re-pinned to current model values # under the corrected inputs. -# Sanity check (signature_5) - wa_working_families_tax_credit = $1,017.55 = the -# 2-child WFTC maximum credit (p.amount.calc(2) = 1017.55), unreduced because the -# $48,000 income is below the phase-out start (federal EITC here = $3,769.50). +# Sanity check (signature_5) - wa_working_families_tax_credit = $1,020 = the +# rounded 2-child WFTC maximum credit (p.amount.calc(2) = 1020), unreduced +# because the $48,000 income is below the phase-out start (federal EITC here = +# $3,769.50). # Genuine WA amount, previously pinned $0 under the California default. - name: signature_5 (35 reqs, +4 dupes) period: 2026 @@ -136,7 +137,7 @@ tax_units: tax_unit: eitc: 3769.5 - wa_working_families_tax_credit: 1017.55 + wa_working_families_tax_credit: 1020 people: head: is_disabled: false @@ -278,7 +279,7 @@ tax_units: tax_unit: eitc: 3769.5 - wa_working_families_tax_credit: 1017.55 + wa_working_families_tax_credit: 1020 spm_units: spm_unit: lifeline: 111.0 @@ -420,7 +421,7 @@ tax_units: tax_unit: eitc: 3769.5 - wa_working_families_tax_credit: 1017.55 + wa_working_families_tax_credit: 1020 spm_units: spm_unit: lifeline: 111.0 @@ -558,7 +559,7 @@ tax_units: tax_unit: eitc: 3769.5 - wa_working_families_tax_credit: 1017.55 + wa_working_families_tax_credit: 1020 spm_units: spm_unit: lifeline: 111.0 From cd4d33966790914271f79d7b6ca135583f96be39 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Thu, 3 Sep 2026 22:40:21 +0400 Subject: [PATCH 4/5] Validate state uprating projections --- .../fix-uprating-rounding-metadata.fixed.md | 5 +- .../standard/claimable_as_dependent/min.yaml | 3 + .../gov/states/sc/tax/income/rates.yaml | 34 ++-- .../millionaires_tax/deductions/standard.yaml | 12 +- .../tax/income/rates/head_of_household.yaml | 5 + .../gov/states/wi/tax/income/rates/joint.yaml | 5 + .../states/wi/tax/income/rates/separate.yaml | 5 + .../states/wi/tax/income/rates/single.yaml | 5 + .../parameters/uprating_extensions.py | 47 +++++ .../core/test_state_uprating_rounding.py | 190 ++++++++++++++++++ 10 files changed, 286 insertions(+), 25 deletions(-) create mode 100644 policyengine_us/tests/core/test_state_uprating_rounding.py diff --git a/changelog.d/fix-uprating-rounding-metadata.fixed.md b/changelog.d/fix-uprating-rounding-metadata.fixed.md index ffe1f1d4742..ec4993b9481 100644 --- a/changelog.d/fix-uprating-rounding-metadata.fixed.md +++ b/changelog.d/fix-uprating-rounding-metadata.fixed.md @@ -1 +1,4 @@ -Fixed 12 state tax programs whose uprating rounding configuration was ignored. +Fixed uprating rounding for 12 state tax programs, including the rounding target +for South Carolina income tax thresholds, and added published Oregon and +Wisconsin values. Corrected Washington's millionaires tax standard deduction to +follow its biennial statutory adjustment schedule. diff --git a/policyengine_us/parameters/gov/states/or/tax/income/deductions/standard/claimable_as_dependent/min.yaml b/policyengine_us/parameters/gov/states/or/tax/income/deductions/standard/claimable_as_dependent/min.yaml index 776b5a71434..ff370d7fa09 100644 --- a/policyengine_us/parameters/gov/states/or/tax/income/deductions/standard/claimable_as_dependent/min.yaml +++ b/policyengine_us/parameters/gov/states/or/tax/income/deductions/standard/claimable_as_dependent/min.yaml @@ -4,6 +4,7 @@ values: 2022-01-01: 1_150 2023-01-01: 1_250 2024-01-01: 1_300 + 2025-01-01: 1_350 metadata: unit: currency-USD period: year @@ -24,3 +25,5 @@ metadata: href: https://www.oregon.gov/dor/forms/FormsPubs/form-or-40-inst_101-040-1_2023.pdf#page=15 - title: 2024 Oregon Income Tax Form OR-40 Instructions href: https://www.oregon.gov/dor/forms/FormsPubs/form-or-40-inst_101-040-1_2024.pdf#page=16 + - title: 2025 Oregon Income Tax Form OR-40 Instructions + href: https://www.oregon.gov/dor/forms/FormsPubs/form-or-40-inst_101-040-1_2025.pdf#page=16 diff --git a/policyengine_us/parameters/gov/states/sc/tax/income/rates.yaml b/policyengine_us/parameters/gov/states/sc/tax/income/rates.yaml index e6a55a8267b..cee107a7f33 100644 --- a/policyengine_us/parameters/gov/states/sc/tax/income/rates.yaml +++ b/policyengine_us/parameters/gov/states/sc/tax/income/rates.yaml @@ -10,14 +10,15 @@ brackets: 2021-01-01: 0 2026-01-01: 0.0199 - threshold: - 1994-01-01: 2_220 - 2021-01-01: 3_110 - 2022-01-01: 3_200 - 2023-01-01: 3_330 - 2024-01-01: 3_460 - 2025-01-01: 3_560 - 2026-01-01: 30_000 - metadata: + values: + 1994-01-01: 2_220 + 2021-01-01: 3_110 + 2022-01-01: 3_200 + 2023-01-01: 3_330 + 2024-01-01: 3_460 + 2025-01-01: 3_560 + 2026-01-01: 30_000 + metadata: uprating: parameter: gov.irs.uprating rounding: @@ -27,14 +28,15 @@ brackets: 1994-01-01: 0.03 2026-01-01: 0.0521 - threshold: - 1994-01-01: 4_440 - 2021-01-01: 6_220 - 2022-01-01: 16_040 - 2023-01-01: 16_680 - 2024-01-01: 17_330 - 2025-01-01: 17_830 - 2026-01-01: .inf - metadata: + values: + 1994-01-01: 4_440 + 2021-01-01: 6_220 + 2022-01-01: 16_040 + 2023-01-01: 16_680 + 2024-01-01: 17_330 + 2025-01-01: 17_830 + 2026-01-01: .inf + metadata: uprating: parameter: gov.irs.uprating rounding: diff --git a/policyengine_us/parameters/gov/states/wa/tax/income/millionaires_tax/deductions/standard.yaml b/policyengine_us/parameters/gov/states/wa/tax/income/millionaires_tax/deductions/standard.yaml index d14c9e03517..77cbe9cac1e 100644 --- a/policyengine_us/parameters/gov/states/wa/tax/income/millionaires_tax/deductions/standard.yaml +++ b/policyengine_us/parameters/gov/states/wa/tax/income/millionaires_tax/deductions/standard.yaml @@ -6,14 +6,10 @@ metadata: unit: currency-USD period: year label: Washington millionaires tax standard deduction - uprating: - parameter: gov.bls.cpi.cpi_w - # Sec. 316(2) specifies national CPI-W (all urban wage earners and - # clerical workers) for indexing starting Oct 2029 (for tax year 2030). - # Fixed at $1M for 2028-2029. - rounding: - type: nearest - interval: 1_000 + # Sec. 316 adjusts this amount each odd-numbered October, beginning in 2029, + # for the following tax year. This biennial schedule is applied + # programmatically in uprating_extensions.py because generic parameter + # uprating would incorrectly change the amount every year. reference: - title: ESSB 6346, Sec. 314 - One million dollar standard deduction href: https://lawfilesext.leg.wa.gov/biennium/2025-26/Pdf/Bills/Senate%20Passed%20Legislature/6346-S.PL.pdf#page=14 diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/rates/head_of_household.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/rates/head_of_household.yaml index 62bf8dc4b11..9582da42f63 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/rates/head_of_household.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/rates/head_of_household.yaml @@ -17,6 +17,8 @@ metadata: href: https://www.revenue.wi.gov/TaxForms2024/2024-Form1-inst.pdf#page=38 - title: 2025 Form 1 instructions href: https://www.revenue.wi.gov/TaxForms2025/2025-Form1-inst.pdf#page=38 + - title: 2026 Form 1-ES instructions + href: https://www.revenue.wi.gov/Tax%20Forms%202026/2026-Form1-ES-Inst.pdf#page=7 brackets: - threshold: 2021-01-01: 0 @@ -30,6 +32,7 @@ brackets: 2023-01-01: 13_810 2024-01-01: 14_320 2025-01-01: 14_680 + 2026-01-01: 15_110 metadata: uprating: parameter: gov.irs.uprating @@ -46,6 +49,7 @@ brackets: 2023-01-01: 27_630 2024-01-01: 28_640 2025-01-01: 51_130 + 2026-01-01: 51_950 metadata: uprating: parameter: gov.irs.uprating @@ -61,6 +65,7 @@ brackets: 2023-01-01: 304_170 2024-01-01: 315_310 2025-01-01: 323_290 + 2026-01-01: 332_720 metadata: uprating: parameter: gov.irs.uprating diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/rates/joint.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/rates/joint.yaml index 3ccd350acc9..ee16d637839 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/rates/joint.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/rates/joint.yaml @@ -17,6 +17,8 @@ metadata: href: https://www.revenue.wi.gov/TaxForms2024/2024-Form1-inst.pdf#page=38 - title: 2025 Form 1 instructions href: https://www.revenue.wi.gov/TaxForms2025/2025-Form1-inst.pdf#page=38 + - title: 2026 Form 1-ES instructions + href: https://www.revenue.wi.gov/Tax%20Forms%202026/2026-Form1-ES-Inst.pdf#page=7 brackets: - threshold: 2021-01-01: 0 @@ -30,6 +32,7 @@ brackets: 2023-01-01: 18_420 2024-01-01: 19_090 2025-01-01: 19_580 + 2026-01-01: 20_150 metadata: uprating: parameter: gov.irs.uprating @@ -46,6 +49,7 @@ brackets: 2023-01-01: 36_840 2024-01-01: 38_190 2025-01-01: 68_170 + 2026-01-01: 69_260 metadata: uprating: parameter: gov.irs.uprating @@ -61,6 +65,7 @@ brackets: 2023-01-01: 405_550 2024-01-01: 420_420 2025-01-01: 431_060 + 2026-01-01: 443_630 metadata: uprating: parameter: gov.irs.uprating diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/rates/separate.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/rates/separate.yaml index ba8132b5719..10c972741a0 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/rates/separate.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/rates/separate.yaml @@ -17,6 +17,8 @@ metadata: href: https://www.revenue.wi.gov/TaxForms2024/2024-Form1-inst.pdf#page=38 - title: 2025 Form 1 instructions href: https://www.revenue.wi.gov/TaxForms2025/2025-Form1-inst.pdf#page=38 + - title: 2026 Form 1-ES instructions + href: https://www.revenue.wi.gov/Tax%20Forms%202026/2026-Form1-ES-Inst.pdf#page=7 brackets: - threshold: 2021-01-01: 0 @@ -30,6 +32,7 @@ brackets: 2023-01-01: 9_210 2024-01-01: 9_550 2025-01-01: 9_790 + 2026-01-01: 10_080 metadata: uprating: parameter: gov.irs.uprating @@ -46,6 +49,7 @@ brackets: 2023-01-01: 18_420 2024-01-01: 19_090 2025-01-01: 34_090 + 2026-01-01: 34_630 metadata: uprating: parameter: gov.irs.uprating @@ -61,6 +65,7 @@ brackets: 2023-01-01: 202_780 2024-01-01: 210_210 2025-01-01: 215_530 + 2026-01-01: 221_820 metadata: uprating: parameter: gov.irs.uprating diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/rates/single.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/rates/single.yaml index f7d4a5f2f17..97eee4ea69a 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/rates/single.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/rates/single.yaml @@ -17,6 +17,8 @@ metadata: href: https://www.revenue.wi.gov/TaxForms2024/2024-Form1-inst.pdf#page=38 - title: 2025 Form 1 instructions href: https://www.revenue.wi.gov/TaxForms2025/2025-Form1-inst.pdf#page=38 + - title: 2026 Form 1-ES instructions + href: https://www.revenue.wi.gov/Tax%20Forms%202026/2026-Form1-ES-Inst.pdf#page=7 brackets: - threshold: 2021-01-01: 0 @@ -30,6 +32,7 @@ brackets: 2023-01-01: 13_810 2024-01-01: 14_320 2025-01-01: 14_680 + 2026-01-01: 15_110 metadata: uprating: parameter: gov.irs.uprating @@ -46,6 +49,7 @@ brackets: 2023-01-01: 27_630 2024-01-01: 28_640 2025-01-01: 51_130 + 2026-01-01: 51_950 metadata: uprating: parameter: gov.irs.uprating @@ -61,6 +65,7 @@ brackets: 2023-01-01: 304_170 2024-01-01: 315_310 2025-01-01: 323_290 + 2026-01-01: 332_720 metadata: uprating: parameter: gov.irs.uprating diff --git a/policyengine_us/parameters/uprating_extensions.py b/policyengine_us/parameters/uprating_extensions.py index 9ba0720b028..c186d2d212a 100644 --- a/policyengine_us/parameters/uprating_extensions.py +++ b/policyengine_us/parameters/uprating_extensions.py @@ -107,6 +107,48 @@ def extend_or_ctc_parameters(parameters: ParameterNode, end_year: int) -> None: ) +def extend_wa_millionaires_standard_deduction( + parameters: ParameterNode, + end_year: int, +) -> None: + """Project Washington's millionaires tax standard deduction. + + ESSB 6346, section 316, adjusts the deduction each odd-numbered October, + beginning in 2029, using the latest CPI-W available on October 1 and its + value 12 months earlier. The result is rounded to the nearest $1,000, + cannot decrease, and applies in the following tax year. + """ + ROUNDING_INTERVAL = 1_000 + deduction = parameters.gov.states.wa.tax.income.millionaires_tax.deductions.standard + cpi_w = parameters.gov.bls.cpi.cpi_w + current_amount = deduction("2028-01-01") + + for adjustment_year in range(2029, end_year, 2): + determination_date = instant(f"{adjustment_year}-10-01") + latest_cpi_instant = max( + instant(value.instant_str) + for value in cpi_w.values_list + if instant(value.instant_str) <= determination_date + ) + prior_cpi_instant = latest_cpi_instant.offset(-1, YEAR) + inflation_factor = cpi_w(latest_cpi_instant) / cpi_w(prior_cpi_instant) + proposed_amount = ( + round(current_amount * inflation_factor / ROUNDING_INTERVAL) + * ROUNDING_INTERVAL + ) + current_amount = max(current_amount, proposed_amount) + effective_year = adjustment_year + 1 + deduction.update( + start=instant(f"{effective_year}-01-01"), + value=float(current_amount), + ) + + deduction.update( + start=instant(f"{end_year}-01-01"), + value=deduction(f"{end_year}-01-01"), + ) + + def extend_parameter_values( parameter: Parameter, last_projected_year: int, @@ -431,6 +473,11 @@ def set_all_uprating_parameters(parameters: ParameterNode) -> ParameterNode: period_day=1, ) + # Washington's millionaires tax deduction uses an odd-year October + # adjustment schedule. Must run after the CPI-W extension above so the + # determination dates are available through the projection horizon. + extend_wa_millionaires_standard_deduction(parameters, end_year=END_YEAR) + # ACA benchmark premium uprating (January values, last actual 2026). # The published 2026 actual is 25.8% above 2025; keep long-run growth # at the 2024-2025 trend so the one-off jump does not compound. diff --git a/policyengine_us/tests/core/test_state_uprating_rounding.py b/policyengine_us/tests/core/test_state_uprating_rounding.py new file mode 100644 index 00000000000..e51bbea3681 --- /dev/null +++ b/policyengine_us/tests/core/test_state_uprating_rounding.py @@ -0,0 +1,190 @@ +"""Regression coverage for state parameter uprating and rounding.""" + +from math import isinf + +import pytest + +from policyengine_us import CountryTaxBenefitSystem + + +SYSTEM = CountryTaxBenefitSystem() + + +def _thresholds(scale, period, bracket_indexes=(1, 2, 3)): + return tuple(scale.brackets[index].threshold(period) for index in bracket_indexes) + + +def test_ar_income_tax_thresholds_round_down_after_last_published_year(): + scale = SYSTEM.parameters.gov.states.ar.tax.income.rates.main.rate + + assert _thresholds(scale, "2027-01-01", (1, 2, 3, 4)) == ( + 5_700, + 11_500, + 16_400, + 27_100, + ) + assert isinf(scale.brackets[5].threshold("2027-01-01")) + assert isinf(scale.brackets[6].threshold("2027-01-01")) + + +def test_nm_low_income_rebate_amounts_round_to_whole_dollars(): + amount = SYSTEM.parameters.gov.states.nm.tax.income.rebates.low_income.amount + exemption_names = ( + "one_exemption", + "two_exemptions", + "three_exemptions", + "four_exemptions", + "five_exemptions", + "six_exemptions", + ) + projected_amounts = [] + + for exemption_name in exemption_names: + scale = getattr(amount, exemption_name) + for bracket in scale.brackets: + uprating = bracket.amount.metadata.get("uprating") + if isinstance(uprating, dict) and "rounding" in uprating: + projected_amounts.append(bracket.amount("2026-01-01")) + + assert len(projected_amounts) == 121 + assert all(value == round(value) for value in projected_amounts) + assert amount.one_exemption.brackets[0].amount("2026-01-01") == 229 + assert amount.five_exemptions.brackets[0].amount("2026-01-01") == 534 + + +def test_or_dependent_standard_deduction_uses_published_then_rounded_values(): + minimum = getattr( + SYSTEM.parameters.gov.states, "or" + ).tax.income.deductions.standard.claimable_as_dependent.min + + assert minimum("2025-01-01") == 1_350 + assert minimum("2026-01-01") == 1_350 + assert minimum("2027-01-01") == 1_400 + + +def test_sc_dependent_deductions_round_down_to_ten_dollars(): + parameters = SYSTEM.parameters + baseline = parameters.gov.states.sc.tax.income.deductions.dependent_exemption.amount + contributed = parameters.gov.contrib.states.sc.dependent_exemption.amount + young_child = parameters.gov.states.sc.tax.income.deductions.young_child.amount + + assert baseline("2026-01-01") == 5_040 + assert contributed("2026-01-01") == 5_040 + assert young_child("2026-01-01") == 5_040 + + +def test_sc_income_tax_rounding_applies_to_threshold_not_rates(): + scale = SYSTEM.parameters.gov.states.sc.tax.income.rates + + assert scale.brackets[1].threshold("2027-01-01") == 30_890 + assert scale.brackets[1].rate("2027-01-01") == pytest.approx(0.0521) + assert scale.brackets[2].rate("2027-01-01") == pytest.approx(0.06) + + +def test_vt_standard_deductions_round_down_to_fifty_dollars(): + standard = SYSTEM.parameters.gov.states.vt.tax.income.deductions.standard + base = standard.base("2026-01-01") + + assert standard.additional("2026-01-01") == 1_250 + expected = { + "JOINT": 15_600, + "HEAD_OF_HOUSEHOLD": 11_700, + "SURVIVING_SPOUSE": 15_600, + "SINGLE": 7_800, + "SEPARATE": 7_800, + } + assert {status: base[status] for status in expected} == expected + + +@pytest.mark.parametrize( + ("filing_status", "expected"), + ( + ("head_of_household", (67_700, 174_850, 283_100)), + ("joint", (84_350, 203_950, 310_850)), + ("separate", (42_150, 101_950, 155_400)), + ("single", (50_500, 122_400, 255_350)), + ("surviving_spouse", (84_350, 203_950, 310_850)), + ), +) +def test_vt_income_tax_thresholds_round_down_to_fifty_dollars( + filing_status, + expected, +): + scale = getattr( + SYSTEM.parameters.gov.states.vt.tax.income.rates, + filing_status, + ) + + assert _thresholds(scale, "2026-01-01") == expected + + +@pytest.mark.parametrize( + ("filing_status", "expected"), + ( + ("head_of_household", 19_990), + ("joint", 28_850), + ("separate", 13_690), + ("single", 19_990), + ), +) +def test_wi_standard_deduction_phase_out_thresholds_round_to_ten_dollars( + filing_status, + expected, +): + scale = getattr( + SYSTEM.parameters.gov.states.wi.tax.income.deductions.standard.phase_out, + filing_status, + ) + + assert scale.brackets[1].threshold("2026-01-01") == expected + + +@pytest.mark.parametrize( + ("filing_status", "published_2026", "projected_2027"), + ( + ("head_of_household", (15_110, 51_950, 332_720), (15_560, 53_500, 342_640)), + ("joint", (20_150, 69_260, 443_630), (20_750, 71_320, 456_850)), + ("separate", (10_080, 34_630, 221_820), (10_380, 35_660, 228_430)), + ("single", (15_110, 51_950, 332_720), (15_560, 53_500, 342_640)), + ), +) +def test_wi_income_tax_thresholds_use_published_then_rounded_values( + filing_status, + published_2026, + projected_2027, +): + scale = getattr( + SYSTEM.parameters.gov.states.wi.tax.income.rates, + filing_status, + ) + + assert _thresholds(scale, "2026-01-01") == published_2026 + assert _thresholds(scale, "2027-01-01") == projected_2027 + + +def test_wa_working_families_tax_credit_amounts_round_to_five_dollars(): + scale = SYSTEM.parameters.gov.states.wa.tax.income.credits.working_families_tax_credit.amount + + assert tuple(bracket.amount("2026-01-01") for bracket in scale.brackets) == ( + 345, + 675, + 1_020, + 1_360, + ) + + +def test_wa_millionaires_standard_deduction_uses_biennial_schedule(): + deduction = ( + SYSTEM.parameters.gov.states.wa.tax.income.millionaires_tax.deductions.standard + ) + + assert tuple(deduction(f"{year}-01-01") for year in range(2028, 2036)) == ( + 1_000_000, + 1_000_000, + 1_023_000, + 1_023_000, + 1_046_000, + 1_046_000, + 1_070_000, + 1_070_000, + ) From 5d40347f7c2b2082fd120c107829944e4e906fb0 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Thu, 3 Sep 2026 23:49:29 +0400 Subject: [PATCH 5/5] Fix Wisconsin 2026 tax form links --- .../gov/states/wi/tax/income/rates/head_of_household.yaml | 2 +- .../parameters/gov/states/wi/tax/income/rates/joint.yaml | 2 +- .../parameters/gov/states/wi/tax/income/rates/separate.yaml | 2 +- .../parameters/gov/states/wi/tax/income/rates/single.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/rates/head_of_household.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/rates/head_of_household.yaml index 9582da42f63..dc4de1be599 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/rates/head_of_household.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/rates/head_of_household.yaml @@ -18,7 +18,7 @@ metadata: - title: 2025 Form 1 instructions href: https://www.revenue.wi.gov/TaxForms2025/2025-Form1-inst.pdf#page=38 - title: 2026 Form 1-ES instructions - href: https://www.revenue.wi.gov/Tax%20Forms%202026/2026-Form1-ES-Inst.pdf#page=7 + href: https://www.revenue.wi.gov/TaxForms2026/2026-Form1-ES-Inst.pdf#page=7 brackets: - threshold: 2021-01-01: 0 diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/rates/joint.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/rates/joint.yaml index ee16d637839..fef8a5b70a4 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/rates/joint.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/rates/joint.yaml @@ -18,7 +18,7 @@ metadata: - title: 2025 Form 1 instructions href: https://www.revenue.wi.gov/TaxForms2025/2025-Form1-inst.pdf#page=38 - title: 2026 Form 1-ES instructions - href: https://www.revenue.wi.gov/Tax%20Forms%202026/2026-Form1-ES-Inst.pdf#page=7 + href: https://www.revenue.wi.gov/TaxForms2026/2026-Form1-ES-Inst.pdf#page=7 brackets: - threshold: 2021-01-01: 0 diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/rates/separate.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/rates/separate.yaml index 10c972741a0..ab2cbeee44c 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/rates/separate.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/rates/separate.yaml @@ -18,7 +18,7 @@ metadata: - title: 2025 Form 1 instructions href: https://www.revenue.wi.gov/TaxForms2025/2025-Form1-inst.pdf#page=38 - title: 2026 Form 1-ES instructions - href: https://www.revenue.wi.gov/Tax%20Forms%202026/2026-Form1-ES-Inst.pdf#page=7 + href: https://www.revenue.wi.gov/TaxForms2026/2026-Form1-ES-Inst.pdf#page=7 brackets: - threshold: 2021-01-01: 0 diff --git a/policyengine_us/parameters/gov/states/wi/tax/income/rates/single.yaml b/policyengine_us/parameters/gov/states/wi/tax/income/rates/single.yaml index 97eee4ea69a..5f7606c7a00 100644 --- a/policyengine_us/parameters/gov/states/wi/tax/income/rates/single.yaml +++ b/policyengine_us/parameters/gov/states/wi/tax/income/rates/single.yaml @@ -18,7 +18,7 @@ metadata: - title: 2025 Form 1 instructions href: https://www.revenue.wi.gov/TaxForms2025/2025-Form1-inst.pdf#page=38 - title: 2026 Form 1-ES instructions - href: https://www.revenue.wi.gov/Tax%20Forms%202026/2026-Form1-ES-Inst.pdf#page=7 + href: https://www.revenue.wi.gov/TaxForms2026/2026-Form1-ES-Inst.pdf#page=7 brackets: - threshold: 2021-01-01: 0