policyengine-us 1.353.0__py3-none-any.whl → 1.355.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of policyengine-us might be problematic. Click here for more details.
- policyengine_us/parameters/gov/aca/ineligible_immigration_statuses.yaml +11 -0
- policyengine_us/parameters/gov/hhs/medicaid/eligibility/work_requirements/age_range.yaml +25 -0
- policyengine_us/parameters/gov/hhs/medicaid/eligibility/work_requirements/applies.yaml +13 -0
- policyengine_us/parameters/gov/hhs/medicaid/eligibility/work_requirements/dependent_age_limit.yaml +12 -0
- policyengine_us/parameters/gov/hhs/medicaid/eligibility/work_requirements/monthly_hours_threshold.yaml +12 -0
- policyengine_us/parameters/gov/irs/credits/cdcc/phase_out/amended_structure/applies.yaml +13 -0
- policyengine_us/parameters/gov/irs/credits/cdcc/phase_out/amended_structure/second_increment.yaml +19 -0
- policyengine_us/parameters/gov/irs/credits/cdcc/phase_out/amended_structure/second_min.yaml +11 -0
- policyengine_us/parameters/gov/irs/credits/cdcc/phase_out/amended_structure/second_start.yaml +21 -0
- policyengine_us/parameters/gov/irs/credits/cdcc/phase_out/max.yaml +2 -0
- policyengine_us/parameters/gov/irs/credits/cdcc/phase_out/min.yaml +2 -0
- policyengine_us/parameters/gov/irs/credits/ctc/adult_ssn_requirement_applies.yaml +11 -0
- policyengine_us/parameters/gov/irs/credits/ctc/child_ssn_requirement_applies.yaml +0 -1
- policyengine_us/parameters/gov/irs/credits/ctc/eligible_ssn_card_type.yaml +13 -0
- policyengine_us/parameters/gov/irs/deductions/auto_loan_interest/cap.yaml +12 -0
- policyengine_us/parameters/gov/irs/deductions/auto_loan_interest/phase_out/increment.yaml +11 -0
- policyengine_us/parameters/gov/irs/deductions/auto_loan_interest/phase_out/start.yaml +21 -0
- policyengine_us/parameters/gov/irs/deductions/auto_loan_interest/phase_out/step.yaml +12 -0
- policyengine_us/parameters/gov/irs/deductions/deductions_if_itemizing.yaml +14 -0
- policyengine_us/parameters/gov/irs/deductions/deductions_if_not_itemizing.yaml +12 -0
- policyengine_us/parameters/gov/irs/deductions/itemized/casualty/active.yaml +0 -1
- policyengine_us/parameters/gov/irs/deductions/itemized/charity/ceiling/all.yaml +0 -1
- policyengine_us/parameters/gov/irs/deductions/itemized/charity/ceiling/non_cash.yaml +2 -0
- policyengine_us/parameters/gov/irs/deductions/itemized/charity/floor/amount.yaml +11 -0
- policyengine_us/parameters/gov/irs/deductions/itemized/charity/floor/applies.yaml +12 -0
- policyengine_us/parameters/gov/irs/deductions/itemized/charity/non_itemizers_amount.yaml +8 -0
- policyengine_us/parameters/gov/irs/deductions/itemized/interest/mortgage/cap.yaml +0 -5
- policyengine_us/parameters/gov/irs/deductions/itemized/misc/applies.yaml +0 -1
- policyengine_us/parameters/gov/irs/deductions/itemized/reduction/amended_structure/applies.yaml +13 -0
- policyengine_us/parameters/gov/irs/deductions/itemized/reduction/amended_structure/rate.yaml +12 -0
- policyengine_us/parameters/gov/irs/deductions/itemized/salt_and_real_estate/cap.yaml +30 -5
- policyengine_us/parameters/gov/irs/deductions/itemized/salt_and_real_estate/phase_out/floor/amount.yaml +21 -0
- policyengine_us/parameters/gov/irs/deductions/itemized/salt_and_real_estate/phase_out/floor/applies.yaml +13 -0
- policyengine_us/parameters/gov/irs/deductions/itemized/salt_and_real_estate/phase_out/in_effect.yaml +13 -0
- policyengine_us/parameters/gov/irs/deductions/itemized/salt_and_real_estate/phase_out/rate.yaml +12 -0
- policyengine_us/parameters/gov/irs/deductions/itemized/salt_and_real_estate/phase_out/threshold.yaml +41 -0
- policyengine_us/parameters/gov/irs/deductions/overtime_income/cap.yaml +22 -0
- policyengine_us/parameters/gov/irs/deductions/overtime_income/eligible_ssn_card_type.yaml +13 -0
- policyengine_us/parameters/gov/irs/deductions/overtime_income/phase_out/rate.yaml +12 -0
- policyengine_us/parameters/gov/irs/deductions/overtime_income/phase_out/start.yaml +22 -0
- policyengine_us/parameters/gov/irs/deductions/qbi/deduction_floor/amount.yaml +21 -0
- policyengine_us/parameters/gov/irs/deductions/qbi/deduction_floor/in_effect.yaml +13 -0
- policyengine_us/parameters/gov/irs/deductions/qbi/max/business_property/rate.yaml +1 -6
- policyengine_us/parameters/gov/irs/deductions/qbi/max/rate.yaml +1 -2
- policyengine_us/parameters/gov/irs/deductions/qbi/max/w2_wages/alt_rate.yaml +1 -6
- policyengine_us/parameters/gov/irs/deductions/qbi/max/w2_wages/rate.yaml +1 -6
- policyengine_us/parameters/gov/irs/deductions/qbi/phase_out/length.yaml +12 -10
- policyengine_us/parameters/gov/irs/deductions/qbi/phase_out/start.yaml +7 -5
- policyengine_us/parameters/gov/irs/deductions/senior_deduction/amount.yaml +12 -0
- policyengine_us/parameters/gov/irs/deductions/senior_deduction/eligible_ssn_card_type.yaml +13 -0
- policyengine_us/parameters/gov/irs/deductions/senior_deduction/phase_out_rate/joint.yaml +20 -0
- policyengine_us/parameters/gov/irs/deductions/senior_deduction/phase_out_rate/other.yaml +20 -0
- policyengine_us/parameters/gov/irs/deductions/tip_income/cap.yaml +12 -0
- policyengine_us/parameters/gov/irs/deductions/tip_income/eligible_ssn_card_type.yaml +13 -0
- policyengine_us/parameters/gov/irs/deductions/tip_income/phase_out/rate.yaml +12 -0
- policyengine_us/parameters/gov/irs/deductions/tip_income/phase_out/start.yaml +22 -0
- policyengine_us/parameters/gov/usda/snap/work_requirements/abawd/age_threshold/dependent.yaml +4 -2
- policyengine_us/parameters/gov/usda/snap/work_requirements/abawd/age_threshold/exempted.yaml +4 -1
- policyengine_us/parameters/gov/usda/snap/work_requirements/abawd/amended_structure/in_effect.yaml +13 -0
- policyengine_us/parameters/gov/usda/snap/work_requirements/abawd/amended_structure/sunset_provisions_apply.yaml +13 -0
- policyengine_us/parameters/gov/usda/snap/work_requirements/general/age_threshold/caring_dependent_child.yaml +1 -1
- policyengine_us/parameters/gov/usda/snap/work_requirements/general/age_threshold/exempted.yaml +1 -1
- policyengine_us/parameters/gov/usda/snap/work_requirements/general/weekly_hours_threshold.yaml +1 -1
- policyengine_us/reforms/reconciliation/__init__.py +0 -36
- policyengine_us/reforms/reforms.py +0 -63
- policyengine_us/tests/policy/baseline/gov/hhs/medicaid/eligibility/medicaid_work_requirement_eligible.yaml +88 -0
- policyengine_us/tests/policy/baseline/gov/irs/credits/cdcc/cdcc_rate.yaml +40 -0
- policyengine_us/tests/policy/baseline/gov/irs/credits/ctc/maximum/individual/filer_meets_ctc_identification_requirements.yaml +51 -0
- policyengine_us/tests/policy/baseline/gov/irs/credits/ctc/maximum/individual/meets_ctc_child_identification_requirements.yaml +2 -2
- policyengine_us/tests/policy/baseline/gov/irs/deductions/itemized/salt_and_real_estate/reported_salt.yaml +2 -4
- policyengine_us/tests/policy/baseline/gov/irs/deductions/itemized/salt_and_real_estate/salt_deduction.yaml +78 -0
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/auto_loan_interest_deduction.yaml +26 -0
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/itemizing/charitable_deduction.yaml +42 -6
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/itemizing/itemized_taxable_income_deductions_reduction.yaml +18 -5
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/itemizing/misc_deduction.yaml +0 -18
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/overtime_income/overtime_income_deduction.yaml +39 -0
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/overtime_income/overtime_income_deduction_ssn_requirement_met.yaml +53 -0
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/qbid/qualified_business_income_deduction.yaml +33 -0
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/senior_deduction/integration.yaml +107 -0
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/senior_deduction/meets_additional_senior_deduction_identification_requirements.yaml +71 -0
- policyengine_us/tests/policy/{contrib/reconciliation/reconciled_tip_and_overtime_exempt.yaml → baseline/gov/irs/income/taxable_income/deductions/tip_and_overtime_income_deduction.yaml} +39 -114
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/tip_income/tip_income_deduction.yaml +79 -0
- policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/deductions/tip_income/tip_income_deduction_ineligible_cardholder_present.yaml +53 -0
- policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/work_requirements/meets_snap_abawd_work_requirements.yaml +105 -0
- policyengine_us/variables/gov/hhs/medicaid/eligibility/is_medicaid_eligible.py +9 -0
- policyengine_us/variables/gov/hhs/medicaid/eligibility/medicaid_work_requirement_eligible.py +57 -0
- policyengine_us/variables/gov/irs/credits/cdcc/cdcc_rate.py +18 -0
- policyengine_us/variables/gov/irs/credits/ctc/ctc.py +1 -0
- policyengine_us/variables/gov/irs/credits/ctc/maximum/individual/filer_meets_ctc_identification_requirements.py +20 -0
- policyengine_us/variables/gov/irs/credits/ctc/maximum/individual/meets_ctc_child_identification_requirements.py +3 -6
- policyengine_us/variables/gov/irs/credits/ctc/maximum/individual/meets_ctc_identification_requirements.py +17 -0
- policyengine_us/variables/gov/irs/income/taxable_income/deductions/auto_loan_interest/auto_loan_interest_deduction.py +30 -0
- policyengine_us/variables/gov/irs/income/taxable_income/deductions/itemizing/charitable_deduction.py +18 -3
- policyengine_us/variables/gov/irs/income/taxable_income/deductions/itemizing/itemized_taxable_income_deductions_reduction.py +18 -0
- policyengine_us/variables/gov/irs/income/taxable_income/deductions/itemizing/salt_cap.py +12 -2
- policyengine_us/variables/gov/irs/income/taxable_income/deductions/overtime_income/overtime_income_deduction.py +24 -0
- policyengine_us/variables/gov/irs/income/taxable_income/deductions/overtime_income/overtime_income_deduction_ssn_requirement_met.py +25 -0
- policyengine_us/variables/gov/irs/income/taxable_income/deductions/qualified_business_income_deduction/qualified_business_income_deduction.py +10 -3
- policyengine_us/variables/gov/irs/income/taxable_income/deductions/senior_deduction/additional_senior_deduction.py +31 -0
- policyengine_us/variables/gov/irs/income/taxable_income/deductions/senior_deduction/additional_senior_deduction_eligible_person.py +24 -0
- policyengine_us/variables/gov/irs/income/taxable_income/deductions/tax_unit_itemizes.py +0 -1
- policyengine_us/variables/gov/irs/income/taxable_income/deductions/tip_income/tip_income_deduction.py +23 -0
- policyengine_us/variables/gov/irs/income/taxable_income/deductions/tip_income/tip_income_deduction_ssn_requirement_met.py +25 -0
- policyengine_us/variables/gov/usda/snap/eligibility/work_requirements/meets_snap_abawd_work_requirements.py +37 -7
- {policyengine_us-1.353.0.dist-info → policyengine_us-1.355.0.dist-info}/METADATA +1 -1
- {policyengine_us-1.353.0.dist-info → policyengine_us-1.355.0.dist-info}/RECORD +109 -118
- policyengine_us/parameters/gov/contrib/reconciliation/aca_ptc_immigration_status/in_effect.yaml +0 -13
- policyengine_us/parameters/gov/contrib/reconciliation/additional_senior_standard_deduction/amount.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/additional_senior_standard_deduction/in_effect.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/additional_senior_standard_deduction/rate/joint.yaml +0 -20
- policyengine_us/parameters/gov/contrib/reconciliation/additional_senior_standard_deduction/rate/other.yaml +0 -20
- policyengine_us/parameters/gov/contrib/reconciliation/auto_loan_interest_ald/cap.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/auto_loan_interest_ald/in_effect.yaml +0 -13
- policyengine_us/parameters/gov/contrib/reconciliation/auto_loan_interest_ald/phase_out/increment.yaml +0 -11
- policyengine_us/parameters/gov/contrib/reconciliation/auto_loan_interest_ald/phase_out/start.yaml +0 -21
- policyengine_us/parameters/gov/contrib/reconciliation/auto_loan_interest_ald/phase_out/step.yaml +0 -11
- policyengine_us/parameters/gov/contrib/reconciliation/auto_loan_interest_ald/senate_version/applies.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/cdcc/in_effect.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/cdcc/phase_out/second_increment.yaml +0 -19
- policyengine_us/parameters/gov/contrib/reconciliation/cdcc/phase_out/second_min.yaml +0 -11
- policyengine_us/parameters/gov/contrib/reconciliation/cdcc/phase_out/second_start.yaml +0 -19
- policyengine_us/parameters/gov/contrib/reconciliation/charitable_donations/floor.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/charitable_donations/in_effect.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/ctc/in_effect.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/ctc/one_person_ssn_req.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/overtime_income_exempt/cap.yaml +0 -22
- policyengine_us/parameters/gov/contrib/reconciliation/overtime_income_exempt/in_effect.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/overtime_income_exempt/phase_out/applies.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/overtime_income_exempt/phase_out/rate.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/overtime_income_exempt/phase_out/start.yaml +0 -24
- policyengine_us/parameters/gov/contrib/reconciliation/pease/amended_structure/in_effect.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/pease/amended_structure/salt_rate.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/pease/in_effect.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/pease/rate.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/qbid/deduction_floor/amount.yaml +0 -21
- policyengine_us/parameters/gov/contrib/reconciliation/qbid/deduction_floor/in_effect.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/qbid/in_effect.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/qbid/phase_out_rate.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/qbid/use_bdc_income.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/tip_income_exempt/cap.yaml +0 -22
- policyengine_us/parameters/gov/contrib/reconciliation/tip_income_exempt/in_effect.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/tip_income_exempt/phase_out/applies.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/tip_income_exempt/phase_out/rate.yaml +0 -12
- policyengine_us/parameters/gov/contrib/reconciliation/tip_income_exempt/phase_out/start.yaml +0 -23
- policyengine_us/parameters/gov/contrib/salt_phase_out/floor/amount.yaml +0 -21
- policyengine_us/parameters/gov/contrib/salt_phase_out/floor/applies.yaml +0 -11
- policyengine_us/parameters/gov/contrib/salt_phase_out/in_effect.yaml +0 -8
- policyengine_us/parameters/gov/contrib/salt_phase_out/rate.yaml +0 -13
- policyengine_us/parameters/gov/contrib/salt_phase_out/threshold.yaml +0 -21
- policyengine_us/reforms/reconciliation/aca_ptc_immigration_status.py +0 -55
- policyengine_us/reforms/reconciliation/ctc_ssn.py +0 -86
- policyengine_us/reforms/reconciliation/reconciled_additional_senior_standard_deduction.py +0 -151
- policyengine_us/reforms/reconciliation/reconciled_auto_loan_interest_ald.py +0 -153
- policyengine_us/reforms/reconciliation/reconciled_medicaid_work_requirement.py +0 -157
- policyengine_us/reforms/reconciliation/reconciled_pease.py +0 -85
- policyengine_us/reforms/reconciliation/reconciled_qbid.py +0 -78
- policyengine_us/reforms/reconciliation/reconciled_snap_abawd_work_requirement.py +0 -125
- policyengine_us/reforms/reconciliation/reconciled_tip_and_overtime_exempt.py +0 -177
- policyengine_us/reforms/reconciliation/reconciliation_cdcc.py +0 -78
- policyengine_us/reforms/reconciliation/reconciliation_charitable_deduction.py +0 -78
- policyengine_us/reforms/reconciliation/reconciliation_qbid_with_floor.py +0 -72
- policyengine_us/reforms/salt_phase_out/__init__.py +0 -3
- policyengine_us/reforms/salt_phase_out/salt_phase_out_reform.py +0 -59
- policyengine_us/tests/policy/contrib/reconciliation/ctc_ssn.yaml +0 -150
- policyengine_us/tests/policy/contrib/reconciliation/reconciled_additional_senior_standard_deduction.yaml +0 -173
- policyengine_us/tests/policy/contrib/reconciliation/reconciled_auto_loan_interest_ald.yaml +0 -96
- policyengine_us/tests/policy/contrib/reconciliation/reconciled_pease.yaml +0 -85
- policyengine_us/tests/policy/contrib/reconciliation/reconciled_qbid.yaml +0 -31
- policyengine_us/tests/policy/contrib/reconciliation/reconciled_snap_abawd_work_requirement.yaml +0 -118
- policyengine_us/tests/policy/contrib/reconciliation/reconciliation_cdcc.yaml +0 -59
- policyengine_us/tests/policy/contrib/reconciliation/reconciliation_charitable_deduction.yaml +0 -58
- policyengine_us/tests/policy/contrib/reconciliation/reconciliation_qbid_with_floor.yaml +0 -38
- policyengine_us/tests/policy/contrib/salt_phase_out/salt_phase_out_reform.yaml +0 -118
- {policyengine_us-1.353.0.dist-info → policyengine_us-1.355.0.dist-info}/WHEEL +0 -0
- {policyengine_us-1.353.0.dist-info → policyengine_us-1.355.0.dist-info}/entry_points.txt +0 -0
- {policyengine_us-1.353.0.dist-info → policyengine_us-1.355.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
- name: Case 1, age 18, work exempted age.
|
|
2
|
+
period: 2026
|
|
3
|
+
input:
|
|
4
|
+
age: 18
|
|
5
|
+
output:
|
|
6
|
+
medicaid_work_requirement_eligible: true
|
|
7
|
+
|
|
8
|
+
- name: Case 2, age 65, work exempted age.
|
|
9
|
+
period: 2026
|
|
10
|
+
input:
|
|
11
|
+
age: 65
|
|
12
|
+
output:
|
|
13
|
+
medicaid_work_requirement_eligible: true
|
|
14
|
+
|
|
15
|
+
- name: Case 3, age 19, need working.
|
|
16
|
+
period: 2026
|
|
17
|
+
input:
|
|
18
|
+
age: 19
|
|
19
|
+
output:
|
|
20
|
+
medicaid_work_requirement_eligible: false
|
|
21
|
+
|
|
22
|
+
- name: Case 4, age 30, working 79 hours per month.
|
|
23
|
+
period: 2026
|
|
24
|
+
input:
|
|
25
|
+
age: 30
|
|
26
|
+
monthly_hours_worked: 79
|
|
27
|
+
output:
|
|
28
|
+
medicaid_work_requirement_eligible: false
|
|
29
|
+
|
|
30
|
+
- name: Case 5, age 30, working 80 hours per month.
|
|
31
|
+
period: 2026
|
|
32
|
+
input:
|
|
33
|
+
age: 30
|
|
34
|
+
monthly_hours_worked: 80
|
|
35
|
+
output:
|
|
36
|
+
medicaid_work_requirement_eligible: true
|
|
37
|
+
|
|
38
|
+
- name: Case 6, age 30, is disabled.
|
|
39
|
+
period: 2026
|
|
40
|
+
input:
|
|
41
|
+
age: 19
|
|
42
|
+
monthly_hours_worked: 5
|
|
43
|
+
is_disabled: true
|
|
44
|
+
output:
|
|
45
|
+
medicaid_work_requirement_eligible: true
|
|
46
|
+
|
|
47
|
+
- name: Case 7, integration.
|
|
48
|
+
period: 2026
|
|
49
|
+
input:
|
|
50
|
+
people:
|
|
51
|
+
person1:
|
|
52
|
+
age: 30
|
|
53
|
+
is_tax_unit_head_or_spouse: true
|
|
54
|
+
monthly_hours_worked: 80
|
|
55
|
+
person2:
|
|
56
|
+
age: 30
|
|
57
|
+
is_tax_unit_head_or_spouse: true
|
|
58
|
+
monthly_hours_worked: 79
|
|
59
|
+
output:
|
|
60
|
+
medicaid_work_requirement_eligible: [true, false]
|
|
61
|
+
|
|
62
|
+
- name: Case 8, not working, but has child at age 13.
|
|
63
|
+
period: 2026
|
|
64
|
+
input:
|
|
65
|
+
people:
|
|
66
|
+
person1:
|
|
67
|
+
age: 30
|
|
68
|
+
is_tax_unit_head_or_spouse: true
|
|
69
|
+
monthly_hours_worked: 0
|
|
70
|
+
person2:
|
|
71
|
+
age: 13
|
|
72
|
+
is_tax_unit_dependent: true
|
|
73
|
+
output:
|
|
74
|
+
medicaid_work_requirement_eligible: [true, true]
|
|
75
|
+
|
|
76
|
+
- name: Case 9, not working, has child at age 14, ineligible under Senate Version.
|
|
77
|
+
period: 2026
|
|
78
|
+
input:
|
|
79
|
+
people:
|
|
80
|
+
person1:
|
|
81
|
+
age: 30
|
|
82
|
+
is_tax_unit_head_or_spouse: true
|
|
83
|
+
monthly_hours_worked: 0
|
|
84
|
+
person2:
|
|
85
|
+
age: 14
|
|
86
|
+
is_tax_unit_dependent: true
|
|
87
|
+
output:
|
|
88
|
+
medicaid_work_requirement_eligible: [false, true]
|
|
@@ -51,3 +51,43 @@
|
|
|
51
51
|
adjusted_gross_income: 438_001
|
|
52
52
|
output:
|
|
53
53
|
cdcc_rate: 0
|
|
54
|
+
|
|
55
|
+
- name: AGI below first phase-out start, no second phase-out
|
|
56
|
+
period: 2026
|
|
57
|
+
input:
|
|
58
|
+
adjusted_gross_income: 15_000
|
|
59
|
+
filing_status: HEAD_OF_HOUSEHOLD
|
|
60
|
+
output:
|
|
61
|
+
cdcc_rate: 0.5
|
|
62
|
+
|
|
63
|
+
- name: Phased-out at first increment
|
|
64
|
+
period: 2026
|
|
65
|
+
input:
|
|
66
|
+
adjusted_gross_income: 16_000
|
|
67
|
+
filing_status: HEAD_OF_HOUSEHOLD
|
|
68
|
+
output:
|
|
69
|
+
cdcc_rate: 0.49
|
|
70
|
+
|
|
71
|
+
- name: First phase-out plateau
|
|
72
|
+
period: 2026
|
|
73
|
+
input:
|
|
74
|
+
adjusted_gross_income: 60_000
|
|
75
|
+
filing_status: HEAD_OF_HOUSEHOLD
|
|
76
|
+
output:
|
|
77
|
+
cdcc_rate: 0.35
|
|
78
|
+
|
|
79
|
+
- name: Second phase-out starts
|
|
80
|
+
period: 2026
|
|
81
|
+
input:
|
|
82
|
+
adjusted_gross_income: 90_000
|
|
83
|
+
filing_status: HEAD_OF_HOUSEHOLD
|
|
84
|
+
output:
|
|
85
|
+
cdcc_rate: 0.27
|
|
86
|
+
|
|
87
|
+
- name: Fully phased-out
|
|
88
|
+
period: 2026
|
|
89
|
+
input:
|
|
90
|
+
adjusted_gross_income: 400_000
|
|
91
|
+
filing_status: HEAD_OF_HOUSEHOLD
|
|
92
|
+
output:
|
|
93
|
+
cdcc_rate: 0.2
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
- name: One person has a valid SSN card type, the other does not, senate finance rules
|
|
2
|
+
period: 2026
|
|
3
|
+
absolute_error_margin: 0.9
|
|
4
|
+
input:
|
|
5
|
+
people:
|
|
6
|
+
person1:
|
|
7
|
+
ssn_card_type: CITIZEN
|
|
8
|
+
person2:
|
|
9
|
+
ssn_card_type: NONE
|
|
10
|
+
output:
|
|
11
|
+
meets_ctc_identification_requirements: [true, false]
|
|
12
|
+
filer_meets_ctc_identification_requirements: true
|
|
13
|
+
|
|
14
|
+
- name: One person has a valid SSN card type, the other does not, senate finance rules, child status irrelevant
|
|
15
|
+
period: 2026
|
|
16
|
+
absolute_error_margin: 0.9
|
|
17
|
+
input:
|
|
18
|
+
people:
|
|
19
|
+
person1:
|
|
20
|
+
ssn_card_type: CITIZEN
|
|
21
|
+
person2:
|
|
22
|
+
ssn_card_type: NONE
|
|
23
|
+
person3:
|
|
24
|
+
age: 5
|
|
25
|
+
is_tax_unit_dependent: true
|
|
26
|
+
ssn_card_type: NONE
|
|
27
|
+
output:
|
|
28
|
+
meets_ctc_identification_requirements: [true, false, false]
|
|
29
|
+
filer_meets_ctc_identification_requirements: true
|
|
30
|
+
|
|
31
|
+
- name: Single person eligible
|
|
32
|
+
period: 2026
|
|
33
|
+
absolute_error_margin: 0.9
|
|
34
|
+
input:
|
|
35
|
+
people:
|
|
36
|
+
person1:
|
|
37
|
+
ssn_card_type: CITIZEN
|
|
38
|
+
output:
|
|
39
|
+
meets_ctc_identification_requirements: [true]
|
|
40
|
+
filer_meets_ctc_identification_requirements: true
|
|
41
|
+
|
|
42
|
+
- name: Single person ineligible
|
|
43
|
+
period: 2026
|
|
44
|
+
absolute_error_margin: 0.9
|
|
45
|
+
input:
|
|
46
|
+
people:
|
|
47
|
+
person1:
|
|
48
|
+
ssn_card_type: NONE
|
|
49
|
+
output:
|
|
50
|
+
meets_ctc_identification_requirements: [false]
|
|
51
|
+
filer_meets_ctc_identification_requirements: false
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
output:
|
|
18
18
|
meets_ctc_child_identification_requirements: true
|
|
19
19
|
|
|
20
|
-
- name: After 2025, the CTC
|
|
20
|
+
- name: After 2025, the CTC still requires a Social Security Number for qualifying children.
|
|
21
21
|
period: 2026
|
|
22
22
|
input:
|
|
23
23
|
ssn_card_type: OTHER_NON_CITIZEN
|
|
24
24
|
output:
|
|
25
|
-
meets_ctc_child_identification_requirements:
|
|
25
|
+
meets_ctc_child_identification_requirements: false
|
|
@@ -29,7 +29,6 @@
|
|
|
29
29
|
- name: Integration test with amt, limit is applied
|
|
30
30
|
period: 2026
|
|
31
31
|
input:
|
|
32
|
-
gov.simulation.limit_itemized_deductions_to_taxable_income: True
|
|
33
32
|
salt: 45_000
|
|
34
33
|
employment_income: 40_000
|
|
35
34
|
output:
|
|
@@ -42,12 +41,11 @@
|
|
|
42
41
|
- name: Integration test with amt, limit is not applied
|
|
43
42
|
period: 2026
|
|
44
43
|
input:
|
|
45
|
-
gov.simulation.limit_itemized_deductions_to_taxable_income: False
|
|
46
44
|
salt: 45_000
|
|
47
45
|
employment_income: 40_000
|
|
48
46
|
output:
|
|
49
47
|
adjusted_gross_income: 40_000
|
|
50
48
|
exemptions: 5_300
|
|
51
|
-
reported_salt:
|
|
52
|
-
amt_income:
|
|
49
|
+
reported_salt: 34_700
|
|
50
|
+
amt_income: 40_000
|
|
53
51
|
taxable_income: 0
|
|
@@ -13,3 +13,81 @@
|
|
|
13
13
|
filing_status: SINGLE
|
|
14
14
|
output:
|
|
15
15
|
salt_deduction: 4_000
|
|
16
|
+
|
|
17
|
+
- name: Single filer with income below reduction amount
|
|
18
|
+
period: 2025
|
|
19
|
+
input:
|
|
20
|
+
people:
|
|
21
|
+
person1:
|
|
22
|
+
real_estate_taxes: 10_000
|
|
23
|
+
tax_units:
|
|
24
|
+
tax_unit:
|
|
25
|
+
members: [person1]
|
|
26
|
+
filing_status: SINGLE
|
|
27
|
+
adjusted_gross_income: 100_000
|
|
28
|
+
state_and_local_sales_or_income_tax: 1_000
|
|
29
|
+
output:
|
|
30
|
+
salt_deduction: 11_000
|
|
31
|
+
|
|
32
|
+
- name: Separate filer with income above reduction amount
|
|
33
|
+
period: 2025
|
|
34
|
+
input:
|
|
35
|
+
people:
|
|
36
|
+
person1:
|
|
37
|
+
real_estate_taxes: 10_000
|
|
38
|
+
tax_units:
|
|
39
|
+
tax_unit:
|
|
40
|
+
members: [person1]
|
|
41
|
+
filing_status: SEPARATE
|
|
42
|
+
adjusted_gross_income: 290_000
|
|
43
|
+
state_and_local_sales_or_income_tax: 1_000
|
|
44
|
+
output:
|
|
45
|
+
salt_deduction: 8_000
|
|
46
|
+
|
|
47
|
+
- name: Fully phased out, floor applies
|
|
48
|
+
period: 2026
|
|
49
|
+
input:
|
|
50
|
+
people:
|
|
51
|
+
person1:
|
|
52
|
+
real_estate_taxes: 10_000
|
|
53
|
+
tax_units:
|
|
54
|
+
tax_unit:
|
|
55
|
+
members: [person1]
|
|
56
|
+
filing_status: SEPARATE
|
|
57
|
+
adjusted_gross_income: 500_000
|
|
58
|
+
output:
|
|
59
|
+
salt_deduction: 5_000
|
|
60
|
+
|
|
61
|
+
- name: Floor applies
|
|
62
|
+
period: 2026
|
|
63
|
+
input:
|
|
64
|
+
people:
|
|
65
|
+
person1:
|
|
66
|
+
real_estate_taxes: 10_000
|
|
67
|
+
person2:
|
|
68
|
+
real_estate_taxes: 0
|
|
69
|
+
tax_units:
|
|
70
|
+
tax_unit:
|
|
71
|
+
members: [person1, person2]
|
|
72
|
+
filing_status: JOINT
|
|
73
|
+
adjusted_gross_income: 1_000_000
|
|
74
|
+
output:
|
|
75
|
+
salt_cap: 10_000
|
|
76
|
+
salt_deduction: 10_000
|
|
77
|
+
|
|
78
|
+
- name: The SALT itself is not subject to phase-out
|
|
79
|
+
period: 2026
|
|
80
|
+
input:
|
|
81
|
+
people:
|
|
82
|
+
person1:
|
|
83
|
+
real_estate_taxes: 11_000
|
|
84
|
+
person2:
|
|
85
|
+
real_estate_taxes: 0
|
|
86
|
+
tax_units:
|
|
87
|
+
tax_unit:
|
|
88
|
+
members: [person1, person2]
|
|
89
|
+
filing_status: JOINT
|
|
90
|
+
adjusted_gross_income: 600_000
|
|
91
|
+
state_and_local_sales_or_income_tax: 0
|
|
92
|
+
output:
|
|
93
|
+
salt_deduction: 11_000
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
- name: Senate version of auto loan interest deduction
|
|
2
|
+
period: 2026
|
|
3
|
+
input:
|
|
4
|
+
irs_gross_income: 220_000
|
|
5
|
+
filing_status: JOINT
|
|
6
|
+
auto_loan_interest: 20_000
|
|
7
|
+
standard_deduction: 0
|
|
8
|
+
tax_unit_itemizes: false
|
|
9
|
+
output:
|
|
10
|
+
auto_loan_interest_deduction: 6_000
|
|
11
|
+
adjusted_gross_income: 220_000
|
|
12
|
+
taxable_income_deductions: 6_000
|
|
13
|
+
|
|
14
|
+
- name: Senate version of auto loan interest deduction, itemizing
|
|
15
|
+
period: 2026
|
|
16
|
+
input:
|
|
17
|
+
irs_gross_income: 220_000
|
|
18
|
+
filing_status: JOINT
|
|
19
|
+
auto_loan_interest: 20_000
|
|
20
|
+
standard_deduction: 0
|
|
21
|
+
tax_unit_itemizes: true
|
|
22
|
+
salt_deduction: 10_000
|
|
23
|
+
output:
|
|
24
|
+
auto_loan_interest_deduction: 6_000
|
|
25
|
+
adjusted_gross_income: 220_000
|
|
26
|
+
taxable_income_deductions: 16_000
|
|
@@ -47,11 +47,47 @@
|
|
|
47
47
|
output: # min(min(200, 1000 * 0.3) + min(500 - 600, 0), 1000 * 0.6)
|
|
48
48
|
charitable_deduction: 600
|
|
49
49
|
|
|
50
|
-
- name:
|
|
50
|
+
- name: No AGI
|
|
51
51
|
period: 2026
|
|
52
52
|
input:
|
|
53
|
-
charitable_cash_donations:
|
|
54
|
-
charitable_non_cash_donations:
|
|
55
|
-
positive_agi:
|
|
56
|
-
output:
|
|
57
|
-
charitable_deduction:
|
|
53
|
+
charitable_cash_donations: 10_000
|
|
54
|
+
charitable_non_cash_donations: 30_000
|
|
55
|
+
positive_agi: 0
|
|
56
|
+
output:
|
|
57
|
+
charitable_deduction: 0
|
|
58
|
+
|
|
59
|
+
- name: Charitable deduction with a 0.5% floor
|
|
60
|
+
period: 2026
|
|
61
|
+
input:
|
|
62
|
+
charitable_cash_donations: 10_000
|
|
63
|
+
charitable_non_cash_donations: 30_000
|
|
64
|
+
positive_agi: 200_000
|
|
65
|
+
output:
|
|
66
|
+
charitable_deduction: 39_000
|
|
67
|
+
|
|
68
|
+
- name: Contributions below floor
|
|
69
|
+
period: 2026
|
|
70
|
+
input:
|
|
71
|
+
charitable_cash_donations: 500
|
|
72
|
+
charitable_non_cash_donations: 300
|
|
73
|
+
positive_agi: 200_000
|
|
74
|
+
output:
|
|
75
|
+
charitable_deduction: 0
|
|
76
|
+
|
|
77
|
+
- name: Non cash donations are capped at 50% of AGI and cash donation increase the cap to 60%, partial cap
|
|
78
|
+
period: 2026
|
|
79
|
+
input:
|
|
80
|
+
charitable_cash_donations: 600
|
|
81
|
+
charitable_non_cash_donations: 12_000
|
|
82
|
+
positive_agi: 20_000
|
|
83
|
+
output:
|
|
84
|
+
charitable_deduction: 10_600
|
|
85
|
+
|
|
86
|
+
- name: Non cash donations are capped at 50% of AGI and cash donation increase the cap to 60%, full cap
|
|
87
|
+
period: 2026
|
|
88
|
+
input:
|
|
89
|
+
charitable_cash_donations: 3_000
|
|
90
|
+
charitable_non_cash_donations: 12_000
|
|
91
|
+
positive_agi: 20_000
|
|
92
|
+
output:
|
|
93
|
+
charitable_deduction: 12_000
|
|
@@ -7,21 +7,34 @@
|
|
|
7
7
|
output:
|
|
8
8
|
itemized_taxable_income_deductions_reduction: 0
|
|
9
9
|
|
|
10
|
-
- name: Reduction in 2026, due to AGI
|
|
10
|
+
- name: Reduction in 2026, due to AGI
|
|
11
11
|
period: 2026
|
|
12
12
|
absolute_error_margin: 1
|
|
13
13
|
input:
|
|
14
|
-
adjusted_gross_income:
|
|
14
|
+
adjusted_gross_income: 700_000
|
|
15
15
|
filing_status: SINGLE
|
|
16
16
|
total_itemized_taxable_income_deductions: 200_000
|
|
17
17
|
output:
|
|
18
|
-
itemized_taxable_income_deductions_reduction:
|
|
18
|
+
itemized_taxable_income_deductions_reduction: 8_443
|
|
19
19
|
|
|
20
20
|
- name: Reduction in 2026, due to total deductions reduction
|
|
21
21
|
period: 2026
|
|
22
|
+
absolute_error_margin: 1
|
|
22
23
|
input:
|
|
23
|
-
adjusted_gross_income:
|
|
24
|
+
adjusted_gross_income: 600_000
|
|
24
25
|
filing_status: SINGLE
|
|
25
26
|
total_itemized_taxable_income_deductions: 1_000
|
|
26
27
|
output:
|
|
27
|
-
itemized_taxable_income_deductions_reduction:
|
|
28
|
+
itemized_taxable_income_deductions_reduction: 54
|
|
29
|
+
|
|
30
|
+
- name: Amended structure in effect, no salt deduction
|
|
31
|
+
period: 2026
|
|
32
|
+
absolute_error_margin: 1
|
|
33
|
+
input:
|
|
34
|
+
total_itemized_taxable_income_deductions: 10_000
|
|
35
|
+
salt_deduction: 0
|
|
36
|
+
exemptions: 0
|
|
37
|
+
filing_status: JOINT
|
|
38
|
+
adjusted_gross_income: 700_000
|
|
39
|
+
output:
|
|
40
|
+
itemized_taxable_income_deductions_reduction: 540.54
|
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
- name: Deduction floor applies
|
|
2
|
-
period: 2026
|
|
3
|
-
input:
|
|
4
|
-
unreimbursed_business_employee_expenses: 600
|
|
5
|
-
tax_preparation_fees: 400
|
|
6
|
-
adjusted_gross_income: 2_000
|
|
7
|
-
output:
|
|
8
|
-
misc_deduction: 960
|
|
9
|
-
|
|
10
|
-
- name: Deduction floor does not apply
|
|
11
|
-
period: 2026
|
|
12
|
-
input:
|
|
13
|
-
unreimbursed_business_employee_expenses: 1_800
|
|
14
|
-
tax_preparation_fees: 200
|
|
15
|
-
adjusted_gross_income: 0
|
|
16
|
-
output:
|
|
17
|
-
misc_deduction: 2_000
|
|
18
|
-
|
|
19
1
|
- name: No deduction allowed
|
|
20
2
|
period: 2026
|
|
21
3
|
input:
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
- name: Ineligible cardholder present
|
|
2
|
+
period: 2025
|
|
3
|
+
input:
|
|
4
|
+
overtime_income_deduction_ssn_requirement_met: false
|
|
5
|
+
fsla_overtime_premium: 10_000
|
|
6
|
+
adjusted_gross_income: 100_000
|
|
7
|
+
filing_status: JOINT
|
|
8
|
+
output:
|
|
9
|
+
overtime_income_deduction: 0
|
|
10
|
+
|
|
11
|
+
- name: AGI below phase out start
|
|
12
|
+
period: 2025
|
|
13
|
+
input:
|
|
14
|
+
overtime_income_deduction_ssn_requirement_met: true
|
|
15
|
+
fsla_overtime_premium: 10_000
|
|
16
|
+
adjusted_gross_income: 100_000
|
|
17
|
+
filing_status: JOINT
|
|
18
|
+
output:
|
|
19
|
+
overtime_income_deduction: 10_000
|
|
20
|
+
|
|
21
|
+
- name: Fully phased out
|
|
22
|
+
period: 2025
|
|
23
|
+
input:
|
|
24
|
+
overtime_income_deduction_ssn_requirement_met: true
|
|
25
|
+
fsla_overtime_premium: 10_000
|
|
26
|
+
adjusted_gross_income: 1_000_000
|
|
27
|
+
filing_status: JOINT
|
|
28
|
+
output:
|
|
29
|
+
overtime_income_deduction: 0
|
|
30
|
+
|
|
31
|
+
- name: Partially phased out
|
|
32
|
+
period: 2025
|
|
33
|
+
input:
|
|
34
|
+
overtime_income_deduction_ssn_requirement_met: true
|
|
35
|
+
fsla_overtime_premium: 10_000
|
|
36
|
+
adjusted_gross_income: 190_000
|
|
37
|
+
filing_status: JOINT
|
|
38
|
+
output:
|
|
39
|
+
overtime_income_deduction: 10_000
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
- name: Ineligible cardholder present
|
|
2
|
+
period: 2025
|
|
3
|
+
input:
|
|
4
|
+
people:
|
|
5
|
+
person1:
|
|
6
|
+
ssn_card_type: CITIZEN
|
|
7
|
+
is_tax_unit_head: true
|
|
8
|
+
is_tax_unit_spouse: false
|
|
9
|
+
person2:
|
|
10
|
+
ssn_card_type: OTHER_NON_CITIZEN
|
|
11
|
+
is_tax_unit_head: false
|
|
12
|
+
is_tax_unit_spouse: true
|
|
13
|
+
tax_units:
|
|
14
|
+
tax_unit:
|
|
15
|
+
members: [person1, person2]
|
|
16
|
+
output:
|
|
17
|
+
overtime_income_deduction_ssn_requirement_met: false
|
|
18
|
+
|
|
19
|
+
- name: Ineligible cardholder present, but not head or spouse
|
|
20
|
+
period: 2025
|
|
21
|
+
input:
|
|
22
|
+
people:
|
|
23
|
+
person1:
|
|
24
|
+
ssn_card_type: CITIZEN
|
|
25
|
+
is_tax_unit_head: true
|
|
26
|
+
is_tax_unit_spouse: false
|
|
27
|
+
person2:
|
|
28
|
+
ssn_card_type: OTHER_NON_CITIZEN
|
|
29
|
+
is_tax_unit_head: false
|
|
30
|
+
is_tax_unit_spouse: false
|
|
31
|
+
tax_units:
|
|
32
|
+
tax_unit:
|
|
33
|
+
members: [person1, person2]
|
|
34
|
+
output:
|
|
35
|
+
overtime_income_deduction_ssn_requirement_met: true
|
|
36
|
+
|
|
37
|
+
- name: Ineligible cardholder not present
|
|
38
|
+
period: 2025
|
|
39
|
+
input:
|
|
40
|
+
people:
|
|
41
|
+
person1:
|
|
42
|
+
ssn_card_type: CITIZEN
|
|
43
|
+
is_tax_unit_head: true
|
|
44
|
+
is_tax_unit_spouse: false
|
|
45
|
+
person2:
|
|
46
|
+
ssn_card_type: NON_CITIZEN_VALID_EAD
|
|
47
|
+
is_tax_unit_head: true
|
|
48
|
+
is_tax_unit_spouse: false
|
|
49
|
+
tax_units:
|
|
50
|
+
tax_unit:
|
|
51
|
+
members: [person1, person2]
|
|
52
|
+
output:
|
|
53
|
+
overtime_income_deduction_ssn_requirement_met: true
|
|
@@ -24,3 +24,36 @@
|
|
|
24
24
|
adjusted_net_capital_gain: 32_000
|
|
25
25
|
output:
|
|
26
26
|
qualified_business_income_deduction: 0
|
|
27
|
+
|
|
28
|
+
- name: Deduction floor in effect, income above threshold
|
|
29
|
+
absolute_error_margin: 0.01
|
|
30
|
+
period: 2026
|
|
31
|
+
input:
|
|
32
|
+
qbid_amount: 200
|
|
33
|
+
taxable_income_less_qbid: 600
|
|
34
|
+
adjusted_net_capital_gain: 0
|
|
35
|
+
qualified_business_income: 1_000
|
|
36
|
+
output:
|
|
37
|
+
qualified_business_income_deduction: 400
|
|
38
|
+
|
|
39
|
+
- name: Deduction floor in effect, income below threshold
|
|
40
|
+
absolute_error_margin: 0.01
|
|
41
|
+
period: 2026
|
|
42
|
+
input:
|
|
43
|
+
qbid_amount: 200
|
|
44
|
+
taxable_income_less_qbid: 0
|
|
45
|
+
adjusted_net_capital_gain: 0
|
|
46
|
+
qualified_business_income: 999
|
|
47
|
+
output:
|
|
48
|
+
qualified_business_income_deduction: 0
|
|
49
|
+
|
|
50
|
+
- name: QBID above floor
|
|
51
|
+
absolute_error_margin: 0.01
|
|
52
|
+
period: 2026
|
|
53
|
+
input:
|
|
54
|
+
qbid_amount: 2_000
|
|
55
|
+
taxable_income_less_qbid: 20_000
|
|
56
|
+
adjusted_net_capital_gain: 0
|
|
57
|
+
qualified_business_income: 1_000
|
|
58
|
+
output:
|
|
59
|
+
qualified_business_income_deduction: 2_000
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
- name: Two eligible seniors, income above the phase-out
|
|
2
|
+
period: 2025
|
|
3
|
+
input:
|
|
4
|
+
people:
|
|
5
|
+
person1:
|
|
6
|
+
age: 65
|
|
7
|
+
is_tax_unit_head_or_spouse: true
|
|
8
|
+
ssn_card_type: CITIZEN
|
|
9
|
+
person2:
|
|
10
|
+
age: 65
|
|
11
|
+
is_tax_unit_head_or_spouse: true
|
|
12
|
+
ssn_card_type: NON_CITIZEN_VALID_EAD
|
|
13
|
+
tax_units:
|
|
14
|
+
tax_unit:
|
|
15
|
+
members: [person1, person2]
|
|
16
|
+
filing_status: JOINT
|
|
17
|
+
adjusted_gross_income: 200_000
|
|
18
|
+
salt_deduction: 0
|
|
19
|
+
standard_deduction: 0
|
|
20
|
+
output:
|
|
21
|
+
additional_senior_deduction: 9_000
|
|
22
|
+
taxable_income_deductions_if_itemizing: 9_000
|
|
23
|
+
taxable_income_deductions_if_not_itemizing: 9_000
|
|
24
|
+
|
|
25
|
+
- name: Single senior, income above the phase-out, 2025
|
|
26
|
+
period: 2025
|
|
27
|
+
input:
|
|
28
|
+
people:
|
|
29
|
+
person1:
|
|
30
|
+
age: 65
|
|
31
|
+
is_tax_unit_head_or_spouse: true
|
|
32
|
+
ssn_card_type: CITIZEN
|
|
33
|
+
tax_units:
|
|
34
|
+
tax_unit:
|
|
35
|
+
members: [person1]
|
|
36
|
+
adjusted_gross_income: 90_000
|
|
37
|
+
salt_deduction: 0
|
|
38
|
+
standard_deduction: 0
|
|
39
|
+
output:
|
|
40
|
+
additional_senior_deduction: 5_100
|
|
41
|
+
taxable_income_deductions_if_itemizing: 5_100
|
|
42
|
+
taxable_income_deductions_if_not_itemizing: 5_100
|
|
43
|
+
|
|
44
|
+
- name: Single non-senior, income above the phase-out
|
|
45
|
+
period: 2025
|
|
46
|
+
input:
|
|
47
|
+
people:
|
|
48
|
+
person1:
|
|
49
|
+
age: 64
|
|
50
|
+
is_tax_unit_head_or_spouse: true
|
|
51
|
+
ssn_card_type: CITIZEN
|
|
52
|
+
tax_units:
|
|
53
|
+
tax_unit:
|
|
54
|
+
members: [person1]
|
|
55
|
+
adjusted_gross_income: 90_000
|
|
56
|
+
salt_deduction: 0
|
|
57
|
+
standard_deduction: 0
|
|
58
|
+
output:
|
|
59
|
+
additional_senior_deduction: 0
|
|
60
|
+
taxable_income_deductions_if_itemizing: 0
|
|
61
|
+
taxable_income_deductions_if_not_itemizing: 0
|
|
62
|
+
|
|
63
|
+
- name: Test with two structural reforms, tips, overtime and the SD are added
|
|
64
|
+
period: 2025
|
|
65
|
+
input:
|
|
66
|
+
people:
|
|
67
|
+
person1:
|
|
68
|
+
age: 65
|
|
69
|
+
is_tax_unit_head_or_spouse: true
|
|
70
|
+
ssn_card_type: CITIZEN
|
|
71
|
+
tip_income: 1_000
|
|
72
|
+
fsla_overtime_premium: 2_000
|
|
73
|
+
tax_units:
|
|
74
|
+
tax_unit:
|
|
75
|
+
members: [person1]
|
|
76
|
+
adjusted_gross_income: 90_000
|
|
77
|
+
salt_deduction: 0
|
|
78
|
+
standard_deduction: 0
|
|
79
|
+
output:
|
|
80
|
+
additional_senior_deduction: 5_100
|
|
81
|
+
overtime_income_deduction: 2_000
|
|
82
|
+
tip_income_deduction: 1_000
|
|
83
|
+
taxable_income_deductions_if_itemizing: 8_100
|
|
84
|
+
taxable_income_deductions_if_not_itemizing: 8_100
|
|
85
|
+
|
|
86
|
+
- name: Testing when reforms are initialized in another order
|
|
87
|
+
period: 2025
|
|
88
|
+
input:
|
|
89
|
+
people:
|
|
90
|
+
person1:
|
|
91
|
+
age: 65
|
|
92
|
+
is_tax_unit_head_or_spouse: true
|
|
93
|
+
ssn_card_type: CITIZEN
|
|
94
|
+
tip_income: 1_000
|
|
95
|
+
fsla_overtime_premium: 2_000
|
|
96
|
+
tax_units:
|
|
97
|
+
tax_unit:
|
|
98
|
+
members: [person1]
|
|
99
|
+
adjusted_gross_income: 90_000
|
|
100
|
+
salt_deduction: 0
|
|
101
|
+
standard_deduction: 0
|
|
102
|
+
output:
|
|
103
|
+
additional_senior_deduction: 5_100
|
|
104
|
+
overtime_income_deduction: 2_000
|
|
105
|
+
tip_income_deduction: 1_000
|
|
106
|
+
taxable_income_deductions_if_itemizing: 8_100
|
|
107
|
+
taxable_income_deductions_if_not_itemizing: 8_100
|