-
Notifications
You must be signed in to change notification settings - Fork 201
NY A06774 Enhanced Child and Dependent Care Credit #7220
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 2 commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
982f94b
Add NY A06774 Enhanced Child and Dependent Care Credit reform
DTrim99 b17524a
fix tests
DTrim99 28f2fe0
Apply suggestions from code review
DTrim99 e9a7027
remove legal code
DTrim99 654509b
Fix lint: remove extra space in a06774 reform
DTrim99 f93623c
Remove invalid 'reform not in effect' test case
DTrim99 0a177fb
Merge branch 'main' into ny-a06774-enhanced-cdcc
DTrim99 b52eb0e
Fix syntax error in reforms.py - add missing parameters
DTrim99 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| - bump: minor | ||
| changes: | ||
| added: | ||
| - NY Assembly Bill A06774 Enhanced Child and Dependent Care Credit reform. |
10 changes: 10 additions & 0 deletions
10
policyengine_us/parameters/gov/contrib/states/ny/a06774/in_effect.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| description: The New York Enhanced Child and Dependent Care Credit Act (Assembly Bill A06774) applies if this is true. | ||
| metadata: | ||
| unit: bool | ||
| period: year | ||
| label: NY A06774 Enhanced Child and Dependent Care Credit in effect | ||
| reference: | ||
| - title: NY Assembly Bill 2025-A6774 | ||
| href: https://www.nysenate.gov/legislation/bills/2025/A6774 | ||
| values: | ||
| 0000-01-01: false |
12 changes: 12 additions & 0 deletions
12
policyengine_us/parameters/gov/contrib/states/ny/a06774/income_threshold.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| description: The maximum New York adjusted gross income to qualify for the enhanced child and dependent care credit under Assembly Bill A06774. | ||
| metadata: | ||
| unit: currency-USD | ||
| period: year | ||
| label: NY A06774 enhanced child and dependent care credit income threshold | ||
| reference: | ||
| - title: NY Assembly Bill 2025-A6774 Section 1 | ||
| href: https://www.nysenate.gov/legislation/bills/2025/A6774 | ||
| - title: NY Tax Law Section 606 - Credits Against Tax | ||
| href: https://www.nysenate.gov/legislation/laws/TAX/606 | ||
| values: | ||
| 2025-01-01: 50_000 | ||
12 changes: 12 additions & 0 deletions
12
policyengine_us/parameters/gov/contrib/states/ny/a06774/match.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| description: New York provides this multiplier of the federal Child and Dependent Care Credit for eligible taxpayers under the Enhanced Child and Dependent Care Credit Act. | ||
DTrim99 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| metadata: | ||
| unit: /1 | ||
| period: year | ||
| label: NY A06774 enhanced child and dependent care credit match | ||
| reference: | ||
| - title: NY Assembly Bill 2025-A6774 Section 1 | ||
| href: https://www.nysenate.gov/legislation/bills/2025/A6774 | ||
| - title: NY Tax Law Section 606 - Credits Against Tax | ||
| href: https://www.nysenate.gov/legislation/laws/TAX/606 | ||
| values: | ||
| 2025-01-01: 1.1 | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| from .ny_a06774_enhanced_cdcc import ( | ||
| create_ny_a06774_enhanced_cdcc_reform, | ||
| ) |
76 changes: 76 additions & 0 deletions
76
policyengine_us/reforms/states/ny/a06774/ny_a06774_enhanced_cdcc.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,76 @@ | ||
| from policyengine_us.model_api import * | ||
|
|
||
|
|
||
| def create_ny_a06774_enhanced_cdcc() -> Reform: | ||
| """ | ||
| NY Assembly Bill A06774 - Enhanced Child and Dependent Care Credit | ||
|
|
||
| Increases the NY child and dependent care credit to 110% of the federal | ||
| credit for taxpayers with NY adjusted gross income up to $50,000. | ||
|
|
||
| Reference: https://www.nysenate.gov/legislation/bills/2025/A6774 | ||
| """ | ||
|
|
||
| class ny_cdcc(Variable): | ||
| value_type = float | ||
| entity = TaxUnit | ||
| label = "NY CDCC" | ||
| unit = USD | ||
| definition_period = YEAR | ||
| reference = ( | ||
| "https://www.nysenate.gov/legislation/bills/2025/A6774", | ||
| "https://www.nysenate.gov/legislation/laws/TAX/606", | ||
| ) | ||
| defined_for = StateCode.NY | ||
|
|
||
| def formula(tax_unit, period, parameters): | ||
| p = parameters(period).gov.contrib.states.ny.a06774 | ||
| in_effect = p.in_effect | ||
DTrim99 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| ny_agi = tax_unit("ny_agi", period) | ||
| income_threshold = p.income_threshold | ||
| match = p.match | ||
|
|
||
| # Calculate the enhanced credit (110% of federal CDCC) | ||
| federal_cdcc = tax_unit("cdcc", period) | ||
| enhanced_cdcc = federal_cdcc * match | ||
DTrim99 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| # Calculate the standard NY CDCC | ||
| cdcc_max = tax_unit("ny_cdcc_max", period) | ||
| expenses = tax_unit("cdcc_relevant_expenses", period) | ||
| ny_rate = tax_unit("ny_cdcc_rate", period) | ||
| federal_rate = tax_unit("cdcc_rate", period) | ||
| standard_ny_cdcc = min_( | ||
| cdcc_max, expenses * ny_rate * federal_rate | ||
| ) | ||
|
|
||
| # Use enhanced credit if reform is in effect and income is | ||
| # at or below the threshold | ||
| eligible_for_enhanced = in_effect & (ny_agi <= income_threshold) | ||
DTrim99 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| return where( | ||
| eligible_for_enhanced, enhanced_cdcc, standard_ny_cdcc | ||
| ) | ||
|
|
||
| class reform(Reform): | ||
| def apply(self): | ||
| self.update_variable(ny_cdcc) | ||
|
|
||
| return reform | ||
|
|
||
|
|
||
| def create_ny_a06774_enhanced_cdcc_reform( | ||
| parameters, period, bypass: bool = False | ||
| ): | ||
| if bypass: | ||
| return create_ny_a06774_enhanced_cdcc() | ||
|
|
||
| p = parameters(period).gov.contrib.states.ny.a06774 | ||
|
|
||
| if p.in_effect: | ||
| return create_ny_a06774_enhanced_cdcc() | ||
| else: | ||
| return None | ||
|
|
||
|
|
||
| ny_a06774_enhanced_cdcc = create_ny_a06774_enhanced_cdcc_reform( | ||
| None, None, bypass=True | ||
| ) | ||
169 changes: 169 additions & 0 deletions
169
policyengine_us/tests/policy/contrib/states/ny/a06774/ny_a06774_enhanced_cdcc.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,169 @@ | ||
| # NY A06774 Enhanced Child and Dependent Care Credit Tests | ||
| # Tests the enhanced CDCC at 110% of federal credit for incomes up to $50,000 | ||
|
|
||
| # Basic eligibility tests - income below threshold | ||
| - name: Enhanced CDCC - income $40k with one child gets 110% of federal | ||
| period: 2025 | ||
| reforms: policyengine_us.reforms.states.ny.a06774.ny_a06774_enhanced_cdcc.ny_a06774_enhanced_cdcc | ||
| input: | ||
| gov.contrib.states.ny.a06774.in_effect: true | ||
| people: | ||
| person1: | ||
| age: 35 | ||
| is_tax_unit_head: true | ||
| employment_income: 40_000 | ||
| child1: | ||
| age: 5 | ||
| is_tax_unit_dependent: true | ||
| tax_units: | ||
| tax_unit: | ||
| members: [person1, child1] | ||
| tax_unit_childcare_expenses: 3_000 | ||
| households: | ||
| household: | ||
| members: [person1, child1] | ||
| state_code: NY | ||
| output: | ||
| # Federal CDCC: $3,000 * 22% = $660 | ||
| # (rate is 22% for AGI around $40k) | ||
| # Enhanced: $660 * 1.1 = $726 | ||
| ny_cdcc: 726 | ||
|
|
||
| - name: Enhanced CDCC - income at $50k threshold still gets enhanced credit | ||
| period: 2025 | ||
| reforms: policyengine_us.reforms.states.ny.a06774.ny_a06774_enhanced_cdcc.ny_a06774_enhanced_cdcc | ||
| input: | ||
| gov.contrib.states.ny.a06774.in_effect: true | ||
| people: | ||
| person1: | ||
| age: 35 | ||
| is_tax_unit_head: true | ||
| employment_income: 50_000 | ||
| child1: | ||
| age: 5 | ||
| is_tax_unit_dependent: true | ||
| tax_units: | ||
| tax_unit: | ||
| members: [person1, child1] | ||
| tax_unit_childcare_expenses: 3_000 | ||
| households: | ||
| household: | ||
| members: [person1, child1] | ||
| state_code: NY | ||
| output: | ||
| # Federal CDCC: $3,000 * 20% = $600 | ||
| # (rate floors at 20% for AGI $43k+) | ||
| # Enhanced: $600 * 1.1 = $660 | ||
| ny_cdcc: 660 | ||
|
|
||
| # Income above threshold - uses standard NY CDCC | ||
| - name: Income above $50k threshold uses standard NY CDCC formula | ||
| period: 2025 | ||
| absolute_error_margin: 1 | ||
| reforms: policyengine_us.reforms.states.ny.a06774.ny_a06774_enhanced_cdcc.ny_a06774_enhanced_cdcc | ||
| input: | ||
| gov.contrib.states.ny.a06774.in_effect: true | ||
| people: | ||
| person1: | ||
| age: 35 | ||
| is_tax_unit_head: true | ||
| employment_income: 60_000 | ||
| child1: | ||
| age: 5 | ||
| is_tax_unit_dependent: true | ||
| tax_units: | ||
| tax_unit: | ||
| members: [person1, child1] | ||
| tax_unit_childcare_expenses: 3_000 | ||
| households: | ||
| household: | ||
| members: [person1, child1] | ||
| state_code: NY | ||
| output: | ||
| # Income above threshold, uses standard NY CDCC which applies | ||
| # NY-specific rate multipliers on top of federal rate | ||
| # Standard NY CDCC at $60k = $650.16 | ||
| ny_cdcc: 650 | ||
|
|
||
| # Reform not in effect | ||
| - name: Reform not in effect - uses standard NY CDCC | ||
| period: 2025 | ||
| absolute_error_margin: 1 | ||
| reforms: policyengine_us.reforms.states.ny.a06774.ny_a06774_enhanced_cdcc.ny_a06774_enhanced_cdcc | ||
| input: | ||
| gov.contrib.states.ny.a06774.in_effect: false | ||
| people: | ||
| person1: | ||
| age: 35 | ||
| is_tax_unit_head: true | ||
| employment_income: 40_000 | ||
| child1: | ||
| age: 5 | ||
| is_tax_unit_dependent: true | ||
| tax_units: | ||
| tax_unit: | ||
| members: [person1, child1] | ||
| tax_unit_childcare_expenses: 3_000 | ||
| households: | ||
| household: | ||
| members: [person1, child1] | ||
| state_code: NY | ||
| output: | ||
| # Without reform, uses standard NY CDCC formula | ||
| # Standard NY CDCC at $40k = $660 | ||
| ny_cdcc: 660 | ||
|
|
||
| # Two children test | ||
| - name: Enhanced CDCC - two children with $6k expenses | ||
| period: 2025 | ||
| reforms: policyengine_us.reforms.states.ny.a06774.ny_a06774_enhanced_cdcc.ny_a06774_enhanced_cdcc | ||
| input: | ||
| gov.contrib.states.ny.a06774.in_effect: true | ||
| people: | ||
| person1: | ||
| age: 35 | ||
| is_tax_unit_head: true | ||
| employment_income: 40_000 | ||
| child1: | ||
| age: 5 | ||
| is_tax_unit_dependent: true | ||
| child2: | ||
| age: 3 | ||
| is_tax_unit_dependent: true | ||
| tax_units: | ||
| tax_unit: | ||
| members: [person1, child1, child2] | ||
| tax_unit_childcare_expenses: 6_000 | ||
| households: | ||
| household: | ||
| members: [person1, child1, child2] | ||
| state_code: NY | ||
| output: | ||
| # Federal CDCC: $6,000 * 22% = $1,320 | ||
| # Enhanced: $1,320 * 1.1 = $1,452 | ||
| ny_cdcc: 1_452 | ||
|
|
||
| # Edge case - no childcare expenses | ||
| - name: Enhanced CDCC - no childcare expenses returns zero | ||
| period: 2025 | ||
| reforms: policyengine_us.reforms.states.ny.a06774.ny_a06774_enhanced_cdcc.ny_a06774_enhanced_cdcc | ||
| input: | ||
| gov.contrib.states.ny.a06774.in_effect: true | ||
| people: | ||
| person1: | ||
| age: 35 | ||
| is_tax_unit_head: true | ||
| employment_income: 40_000 | ||
| child1: | ||
| age: 5 | ||
| is_tax_unit_dependent: true | ||
| tax_units: | ||
| tax_unit: | ||
| members: [person1, child1] | ||
| tax_unit_childcare_expenses: 0 | ||
| households: | ||
| household: | ||
| members: [person1, child1] | ||
| state_code: NY | ||
| output: | ||
| ny_cdcc: 0 |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.