diff --git a/changelog_entry.yaml b/changelog_entry.yaml index e69de29bb2d..66997d3a6ee 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -0,0 +1,10 @@ +- bump: minor + changes: + added: + - Kansas Pregnancy Resource Act Credit (Form K-94) implementing 70% credit for qualifying contributions to pregnancy resource centers. + - Comprehensive Kansas 2025 income tax integration tests. + changed: + - Updated Kansas disabled veteran exemption from $2,250 to $2,320 for 2024+. + - Added 2025 Form K-40 references to all Kansas income tax parameters. + fixed: + - Kansas food sales tax credit now correctly sunsets (returns $0) for tax years 2025 and later. diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/agi/subtractions/oasdi/agi_limit.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/agi/subtractions/oasdi/agi_limit.yaml index 010cfbab3b5..91b5d00808c 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/agi/subtractions/oasdi/agi_limit.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/agi/subtractions/oasdi/agi_limit.yaml @@ -16,7 +16,9 @@ metadata: href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=11 - title: 2024 Form K-40 instructions - Schedule S, Line A9 href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=12 - - title: Kansas 2022 Statute | Article 32 | §79-32,271(c)(xviii) + - title: 2025 Form K-40 instructions - Schedule S, Line A9 + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=12 + - title: Kansas 2022 Statute Article 32 79-32,271(c)(xviii) href: https://casetext.com/statute/kansas-statutes/chapter-79-taxation/article-32-income-tax/section-79-32117-kansas-adjusted-gross-income-of-an-individual-addition-and-subtraction-modifications - title: Kansas Notice 24-08 Changes to individual income tax href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2 diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/credits/cdcc_fraction.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/credits/cdcc_fraction.yaml index 10fae88b334..50b3e2b1e3d 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/credits/cdcc_fraction.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/credits/cdcc_fraction.yaml @@ -18,7 +18,9 @@ metadata: href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=8 - title: 2024 Form K-40 instructions - Line 14 href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=8 - - title: Kansas 2022 Statute | Article 32 | §79-32,111c. + - title: 2025 Form K-40 instructions - Line 14 + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=8 + - title: Kansas 2022 Statute Article 32 79-32,111c. href: http://www.kslegislature.org/li/b2023_24/statute/079_000_0000_chapter/079_032_0000_article/079_032_0111c_section/079_032_0111c_k/ - title: Kansas Notice 24-09 Child and dependent care expenses credit href: https://www.ksrevenue.gov/taxnotices/notice24-09.pdf diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/credits/eitc_fraction.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/credits/eitc_fraction.yaml index a913921ffc1..df7adfd18e1 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/credits/eitc_fraction.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/credits/eitc_fraction.yaml @@ -16,6 +16,8 @@ metadata: href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=8 - title: 2024 Form K-40 instructions - Line 17 href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=8 - - title: Kansas 2022 Statute | Article 32 | §79-32,205 + - title: 2025 Form K-40 instructions - Line 17 + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=8 + - title: Kansas 2022 Statute Article 32 79-32,205 href: http://www.kslegislature.org/li/b2023_24/statute/079_000_0000_chapter/079_032_0000_article/079_032_0205_section/079_032_0205_k/ diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/credits/food_sales_tax/agi_limit.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/credits/food_sales_tax/agi_limit.yaml index 48a79999a84..5146a66b273 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/credits/food_sales_tax/agi_limit.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/credits/food_sales_tax/agi_limit.yaml @@ -15,5 +15,7 @@ metadata: href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=5 - title: 2024 Form K-40 instructions href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=5 - - title: Kansas 2021 Statute Article 32 §79-32,271 + - title: 2025 Form K-40 instructions (credit eliminated) + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=5 + - title: Kansas 2021 Statute Article 32 79-32,271 href: http://www.kslegislature.org/li_2022/b2021_22/statute/079_000_0000_chapter/079_032_0000_article/079_032_0271_section/079_032_0271_k/ diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/credits/food_sales_tax/amount.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/credits/food_sales_tax/amount.yaml index a3f894e77e0..08b3a4d12f4 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/credits/food_sales_tax/amount.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/credits/food_sales_tax/amount.yaml @@ -1,6 +1,7 @@ -description: Kansas provides a food sales tax credit of this amount per qualifying exemption. +description: Kansas provides a food sales tax credit of this amount per qualifying exemption. Credit was sunset by HB 2106 (2022) effective January 1, 2025 when state food sales tax rate was reduced to 0%. values: 2015-01-01: 125 + 2025-01-01: 0 metadata: period: year @@ -13,5 +14,9 @@ metadata: href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=5 - title: 2024 Form K-40 instructions href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=5 - - title: Kansas 2022 Statute Article 32 §79-32,271(d) + - title: 2025 Form K-40 instructions (credit eliminated) + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=5 + - title: HB 2106 (2022) - Food sales tax phase-out and credit sunset + href: https://kslegislature.gov/li_2022/b2021_22/measures/hb2106/ + - title: Kansas 2022 Statute Article 32 79-32,271(d) href: http://www.kslegislature.org/li/b2023_24/statute/079_000_0000_chapter/079_032_0000_article/079_032_0271_section/079_032_0271_k/ diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/credits/nonrefundable_before_eitc.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/credits/nonrefundable_before_eitc.yaml index 416c2b5523f..b70bfd4f695 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/credits/nonrefundable_before_eitc.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/credits/nonrefundable_before_eitc.yaml @@ -2,6 +2,9 @@ description: Kansas provides these nonrefundable credits before the EITC. values: 2021-01-01: - ks_cdcc # KS child/dependent care credit + 2024-01-01: + - ks_cdcc # KS child/dependent care credit + - ks_pregnancy_resource_act_credit # KS pregnancy resource act credit metadata: unit: list @@ -15,5 +18,9 @@ metadata: href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=8 - title: 2024 Form K-40 instructions - Line 14 href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=8 + - title: 2025 Form K-40 instructions - Line 14 + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=8 - title: Kansas 2022 Statute | Article 32 | §79-32,111c href: http://www.kslegislature.org/li/b2023_24/statute/079_000_0000_chapter/079_032_0000_article/079_032_0111c_section/079_032_0111c_k/ + - title: K.S.A. 79-32,316 - Pregnancy Resource Act + href: https://ksrevisor.gov/statutes/chapters/ch79/079_032_0316.html diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/credits/pregnancy_resource_act/org_cap.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/credits/pregnancy_resource_act/org_cap.yaml new file mode 100644 index 00000000000..b486fe7387d --- /dev/null +++ b/policyengine_us/parameters/gov/states/ks/tax/income/credits/pregnancy_resource_act/org_cap.yaml @@ -0,0 +1,15 @@ +description: Kansas limits the total contributions eligible for the pregnancy resource act credit to this amount per eligible organization per taxpayer per year. +values: + 2024-01-01: 5_000_000 + +metadata: + period: year + unit: currency-USD + label: Kansas pregnancy resource act credit per-organization cap + reference: + - title: K.S.A. 79-32,316 - Pregnancy Resource Act + href: https://ksrevisor.gov/statutes/chapters/ch79/079_032_0316.html + - title: Kansas DOR - Pregnancy Resource Act Tax Credits + href: https://www.ksrevenue.gov/prtaxcredits-pregnancy.html + - title: Kansas Notice 24-14 + href: https://www.ksrevenue.gov/taxnotices/notice24-14.pdf diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/credits/pregnancy_resource_act/rate.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/credits/pregnancy_resource_act/rate.yaml new file mode 100644 index 00000000000..dbbe857bdad --- /dev/null +++ b/policyengine_us/parameters/gov/states/ks/tax/income/credits/pregnancy_resource_act/rate.yaml @@ -0,0 +1,16 @@ +description: Kansas allows a credit equal to this fraction of qualifying contributions to eligible pregnancy resource organizations. +values: + 2000-01-01: 0 + 2024-01-01: 0.7 + +metadata: + period: year + unit: /1 + label: Kansas pregnancy resource act credit rate + reference: + - title: K.S.A. 79-32,316 - Pregnancy Resource Act + href: https://ksrevisor.gov/statutes/chapters/ch79/079_032_0316.html + - title: Kansas DOR - Pregnancy Resource Act Tax Credits + href: https://www.ksrevenue.gov/prtaxcredits-pregnancy.html + - title: Kansas Notice 24-14 + href: https://www.ksrevenue.gov/taxnotices/notice24-14.pdf diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/credits/pregnancy_resource_act/statewide_cap.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/credits/pregnancy_resource_act/statewide_cap.yaml new file mode 100644 index 00000000000..362f2b13c5f --- /dev/null +++ b/policyengine_us/parameters/gov/states/ks/tax/income/credits/pregnancy_resource_act/statewide_cap.yaml @@ -0,0 +1,15 @@ +description: Kansas limits the total statewide pregnancy resource act credits that may be allocated to this amount per year. +values: + 2024-01-01: 10_000_000 + +metadata: + period: year + unit: currency-USD + label: Kansas pregnancy resource act credit statewide cap + reference: + - title: K.S.A. 79-32,316 - Pregnancy Resource Act + href: https://ksrevisor.gov/statutes/chapters/ch79/079_032_0316.html + - title: Kansas DOR - Pregnancy Resource Act Tax Credits + href: https://www.ksrevenue.gov/prtaxcredits-pregnancy.html + - title: Kansas Notice 24-14 + href: https://www.ksrevenue.gov/taxnotices/notice24-14.pdf diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/deductions/standard/base_amount.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/deductions/standard/base_amount.yaml index d092a37579e..ed52d7dc040 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/deductions/standard/base_amount.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/deductions/standard/base_amount.yaml @@ -12,7 +12,9 @@ metadata: href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=6 - title: 2024 Form K-40 instructions href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=2 - - title: Kansas 2022 Statute Article 32 §79-32,119(c) + - title: 2025 Form K-40 instructions + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=2 + - title: Kansas 2022 Statute Article 32 79-32,119(c) href: http://www.kslegislature.org/li/b2023_24/statute/079_000_0000_chapter/079_032_0000_article/079_032_0119_section/079_032_0119_k/ - title: Kansas Notice 24-08 Changes to individual income tax href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2 diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/deductions/standard/extra_amount.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/deductions/standard/extra_amount.yaml index 531d51f96a9..a36940e0f8d 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/deductions/standard/extra_amount.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/deductions/standard/extra_amount.yaml @@ -12,7 +12,9 @@ metadata: href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=6 - title: 2024 Form K-40 instructions - Line 4, Worksheet href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=7 - - title: Kansas 2022 Statute Article 32 §79-32,119(b) + - title: 2025 Form K-40 instructions - Line 4, Worksheet + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=7 + - title: Kansas 2022 Statute Article 32 79-32,119(b) href: http://www.kslegislature.org/li/b2023_24/statute/079_000_0000_chapter/079_032_0000_article/079_032_0119_section/079_032_0119_k/ JOINT: diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/amount.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/amount.yaml index 36abeb5ef6e..f47d9ef7674 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/amount.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/amount.yaml @@ -30,7 +30,9 @@ metadata: # Structure is applied in 2024 - title: 2024 Form K-40 instructions href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=2 + - title: 2025 Form K-40 instructions + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=2 - title: Kansas Notice 24-08 Changes to individual income tax href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2 - - title: Kan. Stat. § 79-32,121 (a) + - title: Kan. Stat. 79-32,121 (a) href: https://casetext.com/statute/kansas-statutes/chapter-79-taxation/article-32-income-tax/section-79-32121-kansas-exemption-for-an-individual diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/dependent.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/dependent.yaml index fe99008b184..0e59ae79ee8 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/dependent.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/dependent.yaml @@ -12,7 +12,9 @@ metadata: # Structure is applied in 2024 - title: 2024 Form K-40 instructions href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=2 + - title: 2025 Form K-40 instructions + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=2 - title: Kansas Notice 24-08 Changes to individual income tax href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2 - - title: Kan. Stat. § 79-32,121 (a) + - title: Kan. Stat. 79-32,121 (a) href: https://casetext.com/statute/kansas-statutes/chapter-79-taxation/article-32-income-tax/section-79-32121-kansas-exemption-for-an-individual diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/hoh_additional_amount.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/hoh_additional_amount.yaml index 3d12aac5825..e48b046ffe3 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/hoh_additional_amount.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/hoh_additional_amount.yaml @@ -7,14 +7,16 @@ metadata: unit: currency-USD label: Kansas head of household personal exemption additional amount reference: - - title: 2024 Form K-40 + - title: 2024 Form K-40 href: https://www.ksrevenue.gov/pdf/k-4024.pdf#page=1 - title: 2024 Form K-40 instructions EXEMPTIONS AND DEPENDENTS - href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=6 - # The legal code does not specify an additional exemption amount, however, the tax form - # allows for an additional exemption amount for head of household filers - - title: Kan. Stat. § 79-32,121 (a) + href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=6 + - title: 2025 Form K-40 instructions EXEMPTIONS AND DEPENDENTS + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=6 + # The legal code does not specify an additional exemption amount, however, the tax form + # allows for an additional exemption amount for head of household filers + - title: Kan. Stat. 79-32,121 (a) href: https://casetext.com/statute/kansas-statutes/chapter-79-taxation/article-32-income-tax/section-79-32121-kansas-exemption-for-an-individual # Bill 2231 was introduced into the house but has not passed yet - - title: K.S.A. 2024 HB 2231 § 79-32,121 (b)(1) + - title: K.S.A. 2024 HB 2231 79-32,121 (b)(1) href: https://kslegislature.gov/li/b2025_26/measures/documents/hb2231_01_0000.pdf?#page=1 diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/in_effect.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/in_effect.yaml index 8da6dced8e6..34de0e5b46e 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/in_effect.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/by_filing_status/in_effect.yaml @@ -12,7 +12,9 @@ metadata: # Structure changed in 2024 - this parameter is discontinued - title: 2024 Form K-40 instructions href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=2 + - title: 2025 Form K-40 instructions + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=2 - title: Kansas Notice 24-08 Changes to individual income tax href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2 - - title: Kan. Stat. § 79-32,121 (a) + - title: Kan. Stat. 79-32,121 (a) href: https://casetext.com/statute/kansas-statutes/chapter-79-taxation/article-32-income-tax/section-79-32121-kansas-exemption-for-an-individual diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/disabled_veteran/base.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/disabled_veteran/base.yaml index bbeb17dee08..81245cb88b6 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/disabled_veteran/base.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/exemptions/disabled_veteran/base.yaml @@ -1,6 +1,7 @@ description: Kansas provides the following exemption amount for disabled veterans. values: 2023-01-01: 2_250 + 2024-01-01: 2_320 metadata: period: year @@ -9,9 +10,11 @@ metadata: reference: - title: 2023 Form K-40 instructions href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=6 - - title: 2023 Form K-40 + - title: 2023 Form K-40 href: https://www.ksrevenue.gov/pdf/k-4023.pdf#page=2 - title: 2024 Form K-40 instructions href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=2 - - title: KS Stat § 79-32,121 (2023) (b) + - title: 2025 Form K-40 instructions + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=2 + - title: KS Stat 79-32,121 (2023) (b) href: https://law.justia.com/codes/kansas/chapter-79/article-32/section-79-32-121/ diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/rates/joint.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/rates/joint.yaml index 60a2259601f..78f28f0c1de 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/rates/joint.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/rates/joint.yaml @@ -31,7 +31,9 @@ metadata: href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=32 - title: 2024 Form K-40 instructions href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=34 - - title: Kansas 2022 Statute Article 32 §79-32,110_k + - title: 2025 Form K-40 instructions + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=34 + - title: Kansas 2022 Statute Article 32 79-32,110_k href: http://www.kslegislature.org/li/b2023_24/statute/079_000_0000_chapter/079_032_0000_article/079_032_0110_section/079_032_0110_k/ - title: Kansas Notice 24-08 Changes to individual income tax href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2 diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/rates/other.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/rates/other.yaml index e1377ad6835..e290e9404ca 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/rates/other.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/rates/other.yaml @@ -29,7 +29,11 @@ metadata: href: https://www.ksrevenue.gov/pdf/ip22.pdf - title: 2023 Form K-40 instructions href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=32 - - title: Kansas 2022 Statute Article 32 §79-32,110_k + - title: 2024 Form K-40 instructions + href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=34 + - title: 2025 Form K-40 instructions + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=34 + - title: Kansas 2022 Statute Article 32 79-32,110_k href: http://www.kslegislature.org/li/b2023_24/statute/079_000_0000_chapter/079_032_0000_article/079_032_0110_section/079_032_0110_k/ - title: Kansas Notice 24-08 Changes to individual income tax href: https://www.ksrevenue.gov/taxnotices/notice24-08.pdf#page=2 diff --git a/policyengine_us/parameters/gov/states/ks/tax/income/rates/zero_tax_threshold.yaml b/policyengine_us/parameters/gov/states/ks/tax/income/rates/zero_tax_threshold.yaml index 3fb6e00f047..3fa9e41fca1 100644 --- a/policyengine_us/parameters/gov/states/ks/tax/income/rates/zero_tax_threshold.yaml +++ b/policyengine_us/parameters/gov/states/ks/tax/income/rates/zero_tax_threshold.yaml @@ -14,8 +14,10 @@ metadata: href: https://www.ksrevenue.gov/pdf/ip23.pdf#page=32 - title: 2024 Form K-40 instructions href: https://www.ksrevenue.gov/pdf/ip24.pdf#page=3 + - title: 2025 Form K-40 instructions + href: https://www.ksrevenue.gov/pdf/ip25.pdf#page=3 # The minimum filing requirement only appears in the tax forms, not in the legal code - - title: Kansas 2022 Statute | Article 32 | §79-32,110_(e) + - title: Kansas 2022 Statute Article 32 79-32,110_(e) href: http://www.kslegislature.org/li/b2023_24/statute/079_000_0000_chapter/079_032_0000_article/079_032_0110_section/079_032_0110_k/ diff --git a/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/exemptions/ks_disabled_veteran_exemption_2025.yaml b/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/exemptions/ks_disabled_veteran_exemption_2025.yaml new file mode 100644 index 00000000000..5392e8c8233 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/exemptions/ks_disabled_veteran_exemption_2025.yaml @@ -0,0 +1,162 @@ +# Kansas Disabled Veteran Exemption Tests for 2025 +# The disabled veteran exemption increased from $2,250 (2023) to $2,320 (2024+) +# Reference: 2025 Form K-40 Instructions, K.S.A. 79-32,121(b) + +- name: Disabled veteran exemption 2025 - single filer + period: 2025 + input: + people: + person1: + is_permanently_and_totally_disabled: true + is_veteran: true + employment_income: 50_000 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: KS + output: + # Base exemption for single: $9,160 + # Disabled veteran exemption: $2,320 + # Total exemptions: $11,480 + ks_exemptions: 11_480 + +- name: Disabled veteran exemption 2025 - married filing jointly both veterans + period: 2025 + input: + people: + person1: + is_permanently_and_totally_disabled: true + is_veteran: true + employment_income: 40_000 + person2: + is_permanently_and_totally_disabled: true + is_veteran: true + employment_income: 30_000 + tax_units: + tax_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: KS + output: + # Base exemption for MFJ: $18,320 + # Disabled veteran exemption for person1: $2,320 + # Disabled veteran exemption for person2: $2,320 + # Total exemptions: $22,960 + ks_exemptions: 22_960 + +- name: Disabled veteran exemption 2025 - one disabled veteran with dependents + period: 2025 + input: + people: + person1: + is_permanently_and_totally_disabled: true + is_veteran: true + employment_income: 60_000 + person2: + employment_income: 25_000 + child1: + age: 10 + is_tax_unit_dependent: true + tax_units: + tax_unit: + members: [person1, person2, child1] + households: + household: + members: [person1, person2, child1] + state_code: KS + output: + # Base exemption for MFJ: $18,320 + # Disabled veteran exemption for person1: $2,320 + # Dependent exemption for child1: $2,320 + # Total exemptions: $22,960 + ks_exemptions: 22_960 + +- name: Disabled veteran exemption 2024 - verify same amount as 2025 + period: 2024 + input: + people: + person1: + is_permanently_and_totally_disabled: true + is_veteran: true + employment_income: 50_000 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: KS + output: + # Base exemption for single: $9,160 + # Disabled veteran exemption: $2,320 (same as 2025) + # Total exemptions: $11,480 + ks_exemptions: 11_480 + +- name: Disabled veteran exemption 2023 - verify lower amount + period: 2023 + input: + people: + person1: + is_permanently_and_totally_disabled: true + is_veteran: true + tax_units: + tax_unit: + members: [person1] + ks_count_exemptions: 1 + households: + household: + members: [person1] + state_code: KS + output: + # 2023 uses consolidated exemption structure + # Base exemption: $2,250 * 1 = $2,250 + # Disabled veteran exemption: $2,250 + # Total exemptions: $4,500 + ks_exemptions: 4_500 + +- name: Veteran but not disabled - no veteran exemption in 2025 + period: 2025 + input: + people: + person1: + is_permanently_and_totally_disabled: false + is_veteran: true + employment_income: 50_000 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: KS + output: + # Base exemption for single: $9,160 + # No disabled veteran exemption (not disabled) + # Total exemptions: $9,160 + ks_exemptions: 9_160 + +- name: Disabled but not veteran - no veteran exemption in 2025 + period: 2025 + input: + people: + person1: + is_permanently_and_totally_disabled: true + is_veteran: false + employment_income: 50_000 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: KS + output: + # Base exemption for single: $9,160 + # No disabled veteran exemption (not a veteran) + # Total exemptions: $9,160 + ks_exemptions: 9_160 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_2025_integration.yaml b/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_2025_integration.yaml new file mode 100644 index 00000000000..487509ee4f7 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_2025_integration.yaml @@ -0,0 +1,502 @@ +# Kansas 2025 Income Tax Integration Tests +# Tests the complete Kansas income tax calculation for 2025 +# Reference: 2025 Form K-40 Instructions, K.S.A. 79-32,110 +# +# Key 2025 Values: +# - Tax rates: 5.2% up to $23,000 (single)/$46,000 (joint), then 5.58% +# - Standard deduction: Single $3,605, MFJ $8,240, HOH $6,180, MFS $4,120 +# - Exemptions: MFJ $18,320, others $9,160, dependent $2,320 +# - Disabled veteran exemption: $2,320 +# - EITC: 17% of federal +# - CDCC: 50% of federal +# - Food sales tax credit: $0 (sunset) + +# ============================================================================= +# SINGLE FILER TESTS +# ============================================================================= + +- name: 2025 Single filer - income in lower bracket + absolute_error_margin: 1 + period: 2025 + input: + people: + person1: + is_tax_unit_head: true + age: 35 + employment_income: 30_000 + tax_units: + tax_unit: + members: [person1] + premium_tax_credit: 0 + spm_units: + spm_unit: + members: [person1] + snap: 0 + tanf: 0 + households: + household: + members: [person1] + state_code: KS + output: + # AGI: $30,000 + # Standard deduction: $3,605 + # Exemptions: $9,160 (single base) + # Taxable income: $30,000 - $3,605 - $9,160 = $17,235 + # Tax: $17,235 * 0.052 = $896.22 (all in lower bracket) + ks_taxable_income: 17_235 + ks_income_tax_before_credits: 896.22 + ks_income_tax: 896.22 + +- name: 2025 Single filer - income in upper bracket + absolute_error_margin: 1 + period: 2025 + input: + people: + person1: + is_tax_unit_head: true + age: 40 + employment_income: 60_000 + tax_units: + tax_unit: + members: [person1] + premium_tax_credit: 0 + spm_units: + spm_unit: + members: [person1] + snap: 0 + tanf: 0 + households: + household: + members: [person1] + state_code: KS + output: + # AGI: $60,000 + # Standard deduction: $3,605 + # Exemptions: $9,160 (single base) + # Taxable income: $60,000 - $3,605 - $9,160 = $47,235 + # Tax: $23,000 * 0.052 + ($47,235 - $23,000) * 0.0558 + # = $1,196 + $24,235 * 0.0558 = $1,196 + $1,352.31 = $2,548.31 + ks_taxable_income: 47_235 + ks_income_tax_before_credits: 2_548.31 + +# ============================================================================= +# MARRIED FILING JOINTLY TESTS +# ============================================================================= + +- name: 2025 MFJ - income in lower bracket + absolute_error_margin: 1 + period: 2025 + input: + people: + person1: + is_tax_unit_head: true + age: 40 + employment_income: 40_000 + person2: + is_tax_unit_spouse: true + age: 38 + employment_income: 20_000 + tax_units: + tax_unit: + members: [person1, person2] + premium_tax_credit: 0 + spm_units: + spm_unit: + members: [person1, person2] + snap: 0 + tanf: 0 + households: + household: + members: [person1, person2] + state_code: KS + output: + # AGI: $60,000 + # Standard deduction: $8,240 + # Exemptions: $18,320 (MFJ base) + # Taxable income: $60,000 - $8,240 - $18,320 = $33,440 + # Tax: $33,440 * 0.052 = $1,738.88 (all in lower bracket, under $46,000) + ks_taxable_income: 33_440 + ks_income_tax_before_credits: 1_738.88 + +- name: 2025 MFJ - income in upper bracket + absolute_error_margin: 1 + period: 2025 + input: + people: + person1: + is_tax_unit_head: true + age: 45 + employment_income: 80_000 + person2: + is_tax_unit_spouse: true + age: 43 + employment_income: 50_000 + tax_units: + tax_unit: + members: [person1, person2] + premium_tax_credit: 0 + spm_units: + spm_unit: + members: [person1, person2] + snap: 0 + tanf: 0 + households: + household: + members: [person1, person2] + state_code: KS + output: + # AGI: $130,000 + # Standard deduction: $8,240 + # Exemptions: $18,320 (MFJ base) + # Taxable income: $130,000 - $8,240 - $18,320 = $103,440 + # Tax: $46,000 * 0.052 + ($103,440 - $46,000) * 0.0558 + # = $2,392 + $57,440 * 0.0558 = $2,392 + $3,205.15 = $5,597.15 + ks_taxable_income: 103_440 + ks_income_tax_before_credits: 5_597.15 + +- name: 2025 MFJ with dependents + absolute_error_margin: 1 + period: 2025 + input: + people: + person1: + is_tax_unit_head: true + age: 40 + employment_income: 75_000 + person2: + is_tax_unit_spouse: true + age: 38 + employment_income: 25_000 + child1: + age: 12 + is_tax_unit_dependent: true + child2: + age: 8 + is_tax_unit_dependent: true + tax_units: + tax_unit: + members: [person1, person2, child1, child2] + premium_tax_credit: 0 + spm_units: + spm_unit: + members: [person1, person2, child1, child2] + snap: 0 + tanf: 0 + households: + household: + members: [person1, person2, child1, child2] + state_code: KS + output: + # AGI: $100,000 + # Standard deduction: $8,240 + # Exemptions: $18,320 (MFJ base) + 2 * $2,320 (dependents) = $22,960 + # Taxable income: $100,000 - $8,240 - $22,960 = $68,800 + # Tax: $46,000 * 0.052 + ($68,800 - $46,000) * 0.0558 + # = $2,392 + $22,800 * 0.0558 = $2,392 + $1,272.24 = $3,664.24 + ks_exemptions: 22_960 + ks_taxable_income: 68_800 + ks_income_tax_before_credits: 3_664.24 + +# ============================================================================= +# HEAD OF HOUSEHOLD TESTS +# ============================================================================= + +- name: 2025 Head of Household + absolute_error_margin: 1 + period: 2025 + input: + people: + person1: + is_tax_unit_head: true + age: 35 + employment_income: 55_000 + child1: + age: 10 + is_tax_unit_dependent: true + tax_units: + tax_unit: + members: [person1, child1] + filing_status: HEAD_OF_HOUSEHOLD + premium_tax_credit: 0 + spm_units: + spm_unit: + members: [person1, child1] + snap: 0 + tanf: 0 + households: + household: + members: [person1, child1] + state_code: KS + output: + # AGI: $55,000 + # Standard deduction: $6,180 (HOH) + # Exemptions: $9,160 (HOH base) + $2,320 (dependent) + $2,320 (HOH additional) = $13,800 + # Per Kansas K-40 instructions, HOH filers get an additional $2,320 exemption + # Reference: 2025 Form K-40 instructions, Exemptions and Dependents section + # Taxable income: $55,000 - $6,180 - $13,800 = $35,020 + # Tax: $23,000 * 0.052 + ($35,020 - $23,000) * 0.0558 + # = $1,196 + $12,020 * 0.0558 = $1,196 + $670.72 = $1,866.72 + ks_exemptions: 13_800 + ks_taxable_income: 35_020 + ks_income_tax_before_credits: 1_866.72 + +# ============================================================================= +# MARRIED FILING SEPARATELY TESTS +# ============================================================================= + +- name: 2025 Married Filing Separately + absolute_error_margin: 1 + period: 2025 + input: + people: + person1: + is_tax_unit_head: true + age: 45 + employment_income: 50_000 + tax_units: + tax_unit: + members: [person1] + filing_status: SEPARATE + premium_tax_credit: 0 + spm_units: + spm_unit: + members: [person1] + snap: 0 + tanf: 0 + households: + household: + members: [person1] + state_code: KS + output: + # AGI: $50,000 + # Standard deduction: $4,120 (MFS) + # Exemptions: $9,160 (MFS base) + # Taxable income: $50,000 - $4,120 - $9,160 = $36,720 + # Tax: $23,000 * 0.052 + ($36,720 - $23,000) * 0.0558 + # = $1,196 + $13,720 * 0.0558 = $1,196 + $765.58 = $1,961.58 + ks_taxable_income: 36_720 + ks_income_tax_before_credits: 1_961.58 + +# ============================================================================= +# DISABLED VETERAN TESTS +# ============================================================================= + +- name: 2025 Single disabled veteran + absolute_error_margin: 1 + period: 2025 + input: + people: + person1: + is_tax_unit_head: true + age: 50 + employment_income: 45_000 + is_permanently_and_totally_disabled: true + is_veteran: true + tax_units: + tax_unit: + members: [person1] + premium_tax_credit: 0 + spm_units: + spm_unit: + members: [person1] + snap: 0 + tanf: 0 + households: + household: + members: [person1] + state_code: KS + output: + # AGI: $45,000 + # Standard deduction: $3,605 + # Exemptions: $9,160 (single base) + $2,320 (disabled veteran) = $11,480 + # Taxable income: $45,000 - $3,605 - $11,480 = $29,915 + # Tax: $23,000 * 0.052 + ($29,915 - $23,000) * 0.0558 + # = $1,196 + $6,915 * 0.0558 = $1,196 + $385.86 = $1,581.86 + ks_exemptions: 11_480 + ks_taxable_income: 29_915 + ks_income_tax_before_credits: 1_581.86 + +# ============================================================================= +# EITC TESTS (17% of federal) +# ============================================================================= + +- name: 2025 EITC - single with one child + absolute_error_margin: 5 + period: 2025 + input: + people: + person1: + is_tax_unit_head: true + age: 30 + employment_income: 25_000 + child1: + age: 8 + is_tax_unit_dependent: true + tax_units: + tax_unit: + members: [person1, child1] + filing_status: HEAD_OF_HOUSEHOLD + premium_tax_credit: 0 + spm_units: + spm_unit: + members: [person1, child1] + snap: 0 + tanf: 0 + households: + household: + members: [person1, child1] + state_code: KS + output: + # Kansas EITC = 17% of federal EITC + # Federal EITC for this scenario: ~$4,064 + # Total Kansas EITC: $4,064 * 0.17 = ~$691 + # This is split into nonrefundable (offsets tax liability) and refundable portions + # ks_nonrefundable_eitc offsets tax first, remainder is refundable + # Total EITC = ks_nonrefundable_eitc + ks_refundable_eitc + ks_total_eitc: 691 + +# ============================================================================= +# FOOD SALES TAX CREDIT SUNSET VERIFICATION +# ============================================================================= + +- name: 2025 elderly - no FSTC (sunset) + absolute_error_margin: 1 + period: 2025 + input: + people: + person1: + is_tax_unit_head: true + age: 70 + employment_income: 25_000 + tax_units: + tax_unit: + members: [person1] + premium_tax_credit: 0 + spm_units: + spm_unit: + members: [person1] + snap: 0 + tanf: 0 + households: + household: + members: [person1] + state_code: KS + output: + # Food sales tax credit is $0 in 2025 due to sunset + ks_fstc: 0 + +# ============================================================================= +# CDCC TESTS (50% of federal) +# ============================================================================= + +- name: 2025 CDCC - married couple with childcare + absolute_error_margin: 10 + period: 2025 + input: + people: + person1: + is_tax_unit_head: true + age: 35 + employment_income: 60_000 + person2: + is_tax_unit_spouse: true + age: 33 + employment_income: 45_000 + child1: + age: 4 + is_tax_unit_dependent: true + tax_units: + tax_unit: + members: [person1, person2, child1] + tax_unit_childcare_expenses: 6_000 + premium_tax_credit: 0 + spm_units: + spm_unit: + members: [person1, person2, child1] + snap: 0 + tanf: 0 + households: + household: + members: [person1, person2, child1] + state_code: KS + output: + # Kansas CDCC = 50% of federal CDCC + # Federal CDCC capped at $3,000 for one child * 20% = $600 + # Kansas CDCC = $600 * 50% = $300 + ks_cdcc: 300 + +# ============================================================================= +# ZERO TAX THRESHOLD TESTS +# ============================================================================= + +- name: 2025 Single low income - below zero tax threshold + absolute_error_margin: 1 + period: 2025 + input: + people: + person1: + is_tax_unit_head: true + age: 25 + employment_income: 5_000 + tax_units: + tax_unit: + members: [person1] + premium_tax_credit: 0 + spm_units: + spm_unit: + members: [person1] + snap: 0 + tanf: 0 + households: + household: + members: [person1] + state_code: KS + output: + # Very low income - should be below zero tax threshold + # Taxable income: $5,000 - $3,605 - $9,160 = negative, clipped to $0 + # Tax before credits: $0 + # Refundable EITC still applies, resulting in negative income tax (refund) + # Federal EITC for $5,000 income: ~$383 (34% phase-in for single filer no children) + # Kansas refundable EITC: $383 * 0.17 = ~$65 + ks_taxable_income: 0 + ks_income_tax_before_credits: 0 + ks_income_tax: -65.025 + +# ============================================================================= +# SOCIAL SECURITY EXEMPTION TEST (100% exempt from 2024+) +# ============================================================================= + +- name: 2025 Retiree with Social Security - fully exempt + absolute_error_margin: 1 + period: 2025 + input: + people: + person1: + is_tax_unit_head: true + age: 68 + social_security: 24_000 + taxable_private_pension_income: 20_000 + tax_units: + tax_unit: + members: [person1] + premium_tax_credit: 0 + spm_units: + spm_unit: + members: [person1] + snap: 0 + tanf: 0 + households: + household: + members: [person1] + state_code: KS + output: + # Social Security is fully exempt from Kansas tax + # Only pension income is taxed + # AGI (for KS): $20,000 (pension only, SS subtracted) + # Standard deduction: $3,605 + $850 (elderly extra) = $4,455 + # Person is 68, so they qualify for the elderly extra standard deduction + # Exemptions: $9,160 + # Taxable income: $20,000 - $4,455 - $9,160 = $6,385 + # Tax: $6,385 * 0.052 = $332.02 + ks_taxable_income: 6_385 + ks_income_tax_before_credits: 332.02 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_fstc_sunset.yaml b/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_fstc_sunset.yaml new file mode 100644 index 00000000000..b26a3189ce5 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_fstc_sunset.yaml @@ -0,0 +1,158 @@ +# Kansas Food Sales Tax Credit Sunset Tests +# The Food Sales Tax Credit (FSTC) was eliminated effective January 1, 2025 +# HB 2106 (2022) phased out both the state food sales tax and the credit: +# - 2023: State food tax reduced from 6.5% to 4.0% +# - 2024: State food tax reduced to 2.0% (FINAL year for FSTC) +# - 2025: State food tax reduced to 0.0% (Credit NO LONGER AVAILABLE) +# Reference: K.S.A. 79-32,271, HB 2106 (2022) + +- name: FSTC sunset 2025 - elderly eligible household gets $0 + period: 2025 + input: + age_head: 65 + blind_head: false + adjusted_gross_income: 25_000 + tax_unit_size: 1 + state_code: KS + output: + # In 2025, food sales tax credit is $0 (sunset) + # Even though household would be eligible (age 65+, income under limit) + ks_fstc: 0 + +- name: FSTC sunset 2025 - disabled eligible household gets $0 + period: 2025 + input: + people: + person1: + is_tax_unit_head: true + age: 45 + employment_income: 20_000 + tax_units: + tax_unit: + members: [person1] + head_is_disabled: true + households: + household: + members: [person1] + state_code: KS + output: + # In 2025, food sales tax credit is $0 (sunset) + ks_fstc: 0 + +- name: FSTC sunset 2025 - household with children gets $0 + period: 2025 + input: + people: + parent1: + is_tax_unit_head: true + age: 35 + employment_income: 28_000 + child1: + age: 5 + is_tax_unit_dependent: true + tax_units: + tax_unit: + members: [parent1, child1] + households: + household: + members: [parent1, child1] + state_code: KS + output: + # In 2025, food sales tax credit is $0 (sunset) + ks_fstc: 0 + +- name: FSTC 2024 - elderly household still gets credit (final year) + period: 2024 + input: + age_head: 65 + blind_head: false + adjusted_gross_income: 25_000 + tax_unit_size: 1 + state_code: KS + output: + # In 2024, credit is still available + # 1 person * $125 = $125 + ks_fstc: 125 + +- name: FSTC 2024 - family with children still gets credit (final year) + period: 2024 + input: + people: + parent1: + is_tax_unit_head: true + age: 55 + employment_income: 28_000 + parent2: + is_tax_unit_spouse: true + age: 53 + employment_income: 0 + child1: + age: 12 + is_tax_unit_dependent: true + tax_units: + tax_unit: + members: [parent1, parent2, child1] + households: + household: + members: [parent1, parent2, child1] + state_code: KS + output: + # In 2024, credit is still available + # Eligible because parent1 age >= 55 + # 3 persons * $125 = $375 + ks_fstc: 375 + +- name: FSTC comparison 2024 vs 2025 - same eligible household + period: 2024 + input: + age_head: 60 + blind_head: false + adjusted_gross_income: 20_000 + tax_unit_size: 2 + state_code: KS + output: + # 2024: 2 persons * $125 = $250 + ks_fstc: 250 + +- name: FSTC sunset 2025 - large eligible family gets $0 + period: 2025 + input: + people: + parent1: + is_tax_unit_head: true + age: 60 + employment_income: 25_000 + parent2: + is_tax_unit_spouse: true + age: 58 + child1: + age: 16 + is_tax_unit_dependent: true + child2: + age: 14 + is_tax_unit_dependent: true + child3: + age: 10 + is_tax_unit_dependent: true + tax_units: + tax_unit: + members: [parent1, parent2, child1, child2, child3] + households: + household: + members: [parent1, parent2, child1, child2, child3] + state_code: KS + output: + # In 2025, even a large eligible family gets $0 + ks_fstc: 0 + +- name: FSTC 2024 - income over limit gets $0 + period: 2024 + input: + age_head: 60 + blind_head: false + adjusted_gross_income: 35_000 + tax_unit_size: 1 + state_code: KS + output: + # Income over $30,615 limit - ineligible even in 2024 + ks_fstc: 0 diff --git a/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_pregnancy_resource_act_credit.yaml b/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_pregnancy_resource_act_credit.yaml new file mode 100644 index 00000000000..ee62fdf8640 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/gov/states/ks/tax/income/ks_pregnancy_resource_act_credit.yaml @@ -0,0 +1,123 @@ +# Kansas Pregnancy Resource Act Tax Credit Tests +# Effective: Tax years beginning after December 31, 2023 +# Rate: 70% of contributions to eligible charitable organizations +# Type: Nonrefundable (may be carried forward up to 5 years) +# Limits: $5,000,000 per organization per taxpayer per year +# $10,000,000 statewide cap per year +# Reference: K.S.A. 79-32,316, Notice 24-14, Form K-94 +# +# NOTE: Implementation uses charitable_cash_donations as a simplified proxy +# for pregnancy resource organization contributions since we cannot track +# contributions to specific organizations. + +- name: Basic pregnancy resource act credit - 70% of donation + period: 2025 + input: + people: + person1: + charitable_cash_donations: 1_000 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: KS + output: + # Credit = 70% of $1,000 = $700 + ks_pregnancy_resource_act_credit: 700 + +- name: Pregnancy resource act credit - larger donation capped at org limit + period: 2025 + input: + people: + person1: + employment_income: 100_000 + charitable_cash_donations: 10_000_000 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: KS + output: + # Donations capped at $5M per-org limit + # Credit = 70% of $5,000,000 = $3,500,000 + ks_pregnancy_resource_act_credit: 3_500_000 + +- name: Pregnancy resource act credit - married filing jointly + period: 2025 + input: + people: + person1: + employment_income: 80_000 + charitable_cash_donations: 3_000 + person2: + employment_income: 60_000 + charitable_cash_donations: 2_000 + tax_units: + tax_unit: + members: [person1, person2] + households: + household: + members: [person1, person2] + state_code: KS + output: + # Combined donations: $3,000 + $2,000 = $5,000 + # Credit = 70% of $5,000 = $3,500 + ks_pregnancy_resource_act_credit: 3_500 + +- name: Pregnancy resource act credit - zero charitable donations + period: 2025 + input: + people: + person1: + employment_income: 50_000 + charitable_cash_donations: 0 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: KS + output: + # No charitable donations = no credit + ks_pregnancy_resource_act_credit: 0 + +- name: Pregnancy resource act credit 2024 - first year effective + period: 2024 + input: + people: + person1: + employment_income: 75_000 + charitable_cash_donations: 2_500 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: KS + output: + # Credit = 70% of $2,500 = $1,750 + ks_pregnancy_resource_act_credit: 1_750 + +- name: Pregnancy resource act credit not available before 2024 + period: 2023 + input: + people: + person1: + employment_income: 75_000 + charitable_cash_donations: 2_500 + tax_units: + tax_unit: + members: [person1] + households: + household: + members: [person1] + state_code: KS + output: + # Credit not available in 2023 + ks_pregnancy_resource_act_credit: 0 diff --git a/policyengine_us/variables/gov/states/ks/tax/income/credits/ks_pregnancy_resource_act_credit.py b/policyengine_us/variables/gov/states/ks/tax/income/credits/ks_pregnancy_resource_act_credit.py new file mode 100644 index 00000000000..e3bf5ba6819 --- /dev/null +++ b/policyengine_us/variables/gov/states/ks/tax/income/credits/ks_pregnancy_resource_act_credit.py @@ -0,0 +1,35 @@ +from policyengine_us.model_api import * + + +class ks_pregnancy_resource_act_credit(Variable): + value_type = float + entity = TaxUnit + label = "Kansas pregnancy resource act tax credit" + unit = USD + definition_period = YEAR + reference = ( + "https://ksrevisor.gov/statutes/chapters/ch79/079_032_0316.html", + "https://www.ksrevenue.gov/prtaxcredits-pregnancy.html", + ) + defined_for = StateCode.KS + + def formula(tax_unit, period, parameters): + p = parameters( + period + ).gov.states.ks.tax.income.credits.pregnancy_resource_act + # Kansas allows a credit equal to 70% of contributions to eligible + # pregnancy resource organizations. We use charitable_cash_donations + # as a simplified proxy since we cannot model specific organization + # donations. In reality, taxpayers must contribute to organizations + # approved by the Kansas Department of Revenue. + # + # The credit is capped at the org_cap per organization per taxpayer, + # but since we cannot track individual organization contributions, + # we apply the per-org cap as an overall limit on qualifying donations. + charitable_donations = add( + tax_unit, period, ["charitable_cash_donations"] + ) + # Apply the per-organization cap as a simplified limit + capped_donations = min_(charitable_donations, p.org_cap) + # Calculate credit as rate times capped donations + return capped_donations * p.rate diff --git a/uv.lock b/uv.lock index 03fc7151575..d1868a75cb8 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 3 +revision = 2 requires-python = ">=3.10, <3.14" resolution-markers = [ "python_full_version >= '3.12' and sys_platform == 'win32'",