Skip to content

Commit f07ccc8

Browse files
Merge pull request #7687 from PolicyEngine/cdcc-fix-oh-v2
Fix OH CDCC to use uncapped federal credit for low-income filers
2 parents 36c6126 + 13242bd commit f07ccc8

File tree

5 files changed

+82
-10
lines changed

5 files changed

+82
-10
lines changed

changelog.d/cdcc-fix-oh.fixed.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix OH CDCC to use the uncapped federal credit (cdcc_potential) only for filers with AGI below $20,000 per ORC § 5747.054(A); filers in the $20,000–$39,999 bracket now correctly use the § 26-limited cdcc.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
description: Ohio uses the federal child and dependent care credit without regard to any limitation imposed by IRC section 26 for filers with AGI below this threshold.
2+
values:
3+
2021-01-01: 20_000
4+
metadata:
5+
unit: currency-USD
6+
period: year
7+
label: Ohio CDCC low-income AGI threshold
8+
reference:
9+
- title: Ohio Revised Code Section 5747.054, Tax credit based on federal dependent care credit
10+
href: https://codes.ohio.gov/ohio-revised-code/section-5747.054
11+
- title: Ohio 2021 Instructions for Filing Original and Amended - Line 6
12+
href: https://tax.ohio.gov/static/forms/ohio_individual/individual/2021/pit-it1040-booklet.pdf#page=30
13+
- title: Ohio Income Tax Form 2022 Instructions (line 6)
14+
href: https://dam.assets.ohio.gov/image/upload/tax.ohio.gov/forms/ohio_individual/individual/2022/it1040-sd100-instruction-booklet.pdf#page=20
15+
- title: Ohio Income Tax Form 2023 Instructions (line 6)
16+
href: https://dam.assets.ohio.gov/image/upload/tax.ohio.gov/forms/ohio_individual/individual/2023/it1040-sd100-instructionbooklet.pdf#page=45
17+
- title: Ohio Income Tax Form 2024 Instructions (line 6)
18+
href: https://dam.assets.ohio.gov/image/upload/v1735920104/tax.ohio.gov/forms/ohio_individual/individual/2024/it1040-booklet.pdf#page=45
19+
- title: Ohio Income Tax Form 2025 Instructions (Page 45)
20+
href: https://dam.assets.ohio.gov/image/upload/v1767095693/tax.ohio.gov/forms/ohio_individual/individual/2025/it1040-booklet.pdf#page=45
Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,77 @@
1-
- name: child and dependent care credit low AGI (full eligibility)
1+
# ORC § 5747.054(A): AGI < $20,000 gets 100% of cdcc_potential (no § 26 cap).
2+
# AGI $20,000-$39,999 gets 25% of cdcc (limited by § 26). AGI >= $40,000 gets $0.
3+
4+
- name: Low-income filer uses cdcc_potential (100%, AGI below threshold)
25
period: 2021
36
input:
47
state_code: OH
58
oh_modified_agi: 19_999
69
cdcc_potential: 2_000
10+
cdcc: 1_500
711
output:
12+
# Uses cdcc_potential (2_000) because AGI < 20_000
813
oh_cdcc: 2_000
914

10-
- name: child and dependent care credit test, just above lower threshold AGI (.25 * federal CDCC)
15+
- name: Low-income filer at zero AGI
16+
period: 2021
17+
input:
18+
state_code: OH
19+
oh_modified_agi: 0
20+
cdcc_potential: 500
21+
cdcc: 200
22+
output:
23+
# Uses cdcc_potential (500) because AGI < 20_000
24+
oh_cdcc: 500
25+
26+
- name: Middle-income filer uses cdcc (25%, AGI at lower threshold)
1127
period: 2021
1228
input:
1329
state_code: OH
1430
oh_modified_agi: 20_000
1531
cdcc_potential: 2_000
32+
cdcc: 1_200
1633
output:
17-
oh_cdcc: 500
34+
# Uses cdcc (1_200), not cdcc_potential (2_000), because AGI >= 20_000
35+
oh_cdcc: 300
1836

19-
- name: child and dependent care credit test, solidly above lower threshold AGI (.25 * federal CDCC)
37+
- name: Middle-income filer uses cdcc (25%, AGI solidly in middle bracket)
2038
period: 2021
2139
input:
2240
state_code: OH
2341
oh_modified_agi: 39_999
2442
cdcc_potential: 2_000
43+
cdcc: 1_600
44+
output:
45+
# Uses cdcc (1_600), not cdcc_potential (2_000)
46+
oh_cdcc: 400
47+
48+
- name: Middle-income filer where cdcc equals cdcc_potential (no section 26 reduction)
49+
period: 2021
50+
input:
51+
state_code: OH
52+
oh_modified_agi: 30_000
53+
cdcc_potential: 2_000
54+
cdcc: 2_000
2555
output:
56+
# cdcc = cdcc_potential here, so result is 25% of 2_000
2657
oh_cdcc: 500
2758

28-
- name: child and dependent care credit test above upper threshold (ineligible)
59+
- name: High-income filer is ineligible (AGI at upper threshold)
2960
period: 2021
3061
input:
3162
state_code: OH
3263
oh_modified_agi: 40_000
3364
cdcc_potential: 2_000
65+
cdcc: 2_000
66+
output:
67+
oh_cdcc: 0
68+
69+
- name: Out-of-state filer is ineligible
70+
period: 2021
71+
input:
72+
state_code: CA
73+
oh_modified_agi: 10_000
74+
cdcc_potential: 2_000
75+
cdcc: 2_000
3476
output:
3577
oh_cdcc: 0

policyengine_us/tests/policy/baseline/gov/states/oh/tax/income/integration.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,8 @@
179179
members: [person1, person2, person3]
180180
state_fips: 39
181181
output:
182-
oh_cdcc: 165
183-
oh_income_tax: 273
182+
oh_cdcc: 0
183+
oh_income_tax: 414
184184

185185
- name: 40115-OH.yaml
186186
absolute_error_margin: 2

policyengine_us/variables/gov/states/oh/tax/income/credits/oh_cdcc.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ class oh_cdcc(Variable):
88
unit = USD
99
definition_period = YEAR
1010
reference = (
11+
"https://codes.ohio.gov/ohio-revised-code/section-5747.054",
1112
"https://tax.ohio.gov/static/forms/ohio_individual/individual/2021/pit-it1040-booklet.pdf#page=20",
1213
)
1314
defined_for = StateCode.OH
@@ -16,11 +17,19 @@ def formula(tax_unit, period, parameters):
1617
p = parameters(period).gov.states.oh.tax.income.credits.cdcc
1718

1819
agi = tax_unit("oh_modified_agi", period)
19-
# Ohio matches the potential federal credit
20-
us_cdcc = tax_unit("cdcc_potential", period)
20+
# ORC § 5747.054(A): filers with AGI below the low-income threshold
21+
# receive credit "without regard to any limitation imposed by section 26
22+
# of the Internal Revenue Code", i.e. cdcc_potential.
23+
# Filers in the middle bracket use cdcc (limited by IRC § 26).
24+
low_income = agi < p.low_income_threshold
25+
us_cdcc = where(
26+
low_income,
27+
tax_unit("cdcc_potential", period),
28+
tax_unit("cdcc", period),
29+
)
2130

2231
rate = p.match.calc(agi)
2332
# qualify for full CDCC amount when AGI < 20_000
24-
# qualify for 25% percent of CDCC when 20000 <= AGI < 40_000
33+
# qualify for 25% of CDCC when 20000 <= AGI < 40_000
2534
# not qualify when AGI >= 40_000
2635
return rate * us_cdcc

0 commit comments

Comments
 (0)