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
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
- name: Case 1, CTC higher than 0.
|
|
2
|
-
period: 2026
|
|
3
|
-
absolute_error_margin: 0.9
|
|
4
|
-
reforms: policyengine_us.reforms.reconciliation.ctc_ssn.ctc_ssn
|
|
5
|
-
input:
|
|
6
|
-
gov.contrib.reconciliation.ctc.in_effect: true
|
|
7
|
-
ctc_maximum_with_arpa_addition: 100
|
|
8
|
-
ctc_phase_out: 80
|
|
9
|
-
filer_meets_ctc_identification_requirements: true
|
|
10
|
-
output:
|
|
11
|
-
ctc: 20
|
|
12
|
-
|
|
13
|
-
- name: Case 2, CTC capped at 0.
|
|
14
|
-
period: 2026
|
|
15
|
-
absolute_error_margin: 0.9
|
|
16
|
-
reforms: policyengine_us.reforms.reconciliation.ctc_ssn.ctc_ssn
|
|
17
|
-
input:
|
|
18
|
-
gov.contrib.reconciliation.ctc.in_effect: true
|
|
19
|
-
ctc_maximum_with_arpa_addition: 80
|
|
20
|
-
ctc_phase_out: 100
|
|
21
|
-
filer_meets_ctc_identification_requirements: true
|
|
22
|
-
output:
|
|
23
|
-
ctc: 0
|
|
24
|
-
|
|
25
|
-
- name: Case 3, don't have valid SSN card type, CTC is 0.
|
|
26
|
-
period: 2026
|
|
27
|
-
absolute_error_margin: 0.9
|
|
28
|
-
reforms: policyengine_us.reforms.reconciliation.ctc_ssn.ctc_ssn
|
|
29
|
-
input:
|
|
30
|
-
gov.contrib.reconciliation.ctc.in_effect: true
|
|
31
|
-
ctc_maximum_with_arpa_addition: 100
|
|
32
|
-
ctc_phase_out: 80
|
|
33
|
-
filer_meets_ctc_identification_requirements: false
|
|
34
|
-
output:
|
|
35
|
-
ctc: 0
|
|
36
|
-
|
|
37
|
-
- name: One person has a valid SSN card type, the other does not
|
|
38
|
-
period: 2026
|
|
39
|
-
absolute_error_margin: 0.9
|
|
40
|
-
reforms: policyengine_us.reforms.reconciliation.ctc_ssn.ctc_ssn
|
|
41
|
-
input:
|
|
42
|
-
gov.contrib.reconciliation.ctc.in_effect: true
|
|
43
|
-
people:
|
|
44
|
-
person1:
|
|
45
|
-
ssn_card_type: CITIZEN
|
|
46
|
-
person2:
|
|
47
|
-
ssn_card_type: NONE
|
|
48
|
-
output:
|
|
49
|
-
meets_ctc_identification_requirements: [true, false]
|
|
50
|
-
filer_meets_ctc_identification_requirements: false
|
|
51
|
-
|
|
52
|
-
- name: Both people are eligible
|
|
53
|
-
period: 2026
|
|
54
|
-
absolute_error_margin: 0.9
|
|
55
|
-
reforms: policyengine_us.reforms.reconciliation.ctc_ssn.ctc_ssn
|
|
56
|
-
input:
|
|
57
|
-
gov.contrib.reconciliation.ctc.in_effect: true
|
|
58
|
-
people:
|
|
59
|
-
person1:
|
|
60
|
-
ssn_card_type: CITIZEN
|
|
61
|
-
person2:
|
|
62
|
-
ssn_card_type: NON_CITIZEN_VALID_EAD
|
|
63
|
-
output:
|
|
64
|
-
meets_ctc_identification_requirements: [true, true]
|
|
65
|
-
filer_meets_ctc_identification_requirements: true
|
|
66
|
-
|
|
67
|
-
- name: One of three children eligible
|
|
68
|
-
period: 2026
|
|
69
|
-
absolute_error_margin: 0.9
|
|
70
|
-
reforms: policyengine_us.reforms.reconciliation.ctc_ssn.ctc_ssn
|
|
71
|
-
input:
|
|
72
|
-
gov.contrib.reconciliation.ctc.in_effect: true
|
|
73
|
-
people:
|
|
74
|
-
person1:
|
|
75
|
-
ssn_card_type: CITIZEN
|
|
76
|
-
person2:
|
|
77
|
-
ctc_qualifying_child: true
|
|
78
|
-
ssn_card_type: NON_CITIZEN_VALID_EAD
|
|
79
|
-
person3:
|
|
80
|
-
age: 5
|
|
81
|
-
ssn_card_type: NONE
|
|
82
|
-
person4:
|
|
83
|
-
age: 5
|
|
84
|
-
ssn_card_type: CITIZEN
|
|
85
|
-
output:
|
|
86
|
-
ctc_qualifying_children: 1
|
|
87
|
-
|
|
88
|
-
- name: One person has a valid SSN card type, the other does not, senate finance rules
|
|
89
|
-
period: 2026
|
|
90
|
-
absolute_error_margin: 0.9
|
|
91
|
-
reforms: policyengine_us.reforms.reconciliation.ctc_ssn.ctc_ssn
|
|
92
|
-
input:
|
|
93
|
-
gov.contrib.reconciliation.ctc.in_effect: true
|
|
94
|
-
gov.contrib.reconciliation.ctc.one_person_ssn_req: true
|
|
95
|
-
people:
|
|
96
|
-
person1:
|
|
97
|
-
ssn_card_type: CITIZEN
|
|
98
|
-
person2:
|
|
99
|
-
ssn_card_type: NONE
|
|
100
|
-
output:
|
|
101
|
-
meets_ctc_identification_requirements: [true, false]
|
|
102
|
-
filer_meets_ctc_identification_requirements: true
|
|
103
|
-
|
|
104
|
-
- name: One person has a valid SSN card type, the other does not, senate finance rules, child status irrelevant
|
|
105
|
-
period: 2026
|
|
106
|
-
absolute_error_margin: 0.9
|
|
107
|
-
reforms: policyengine_us.reforms.reconciliation.ctc_ssn.ctc_ssn
|
|
108
|
-
input:
|
|
109
|
-
gov.contrib.reconciliation.ctc.in_effect: true
|
|
110
|
-
gov.contrib.reconciliation.ctc.one_person_ssn_req: true
|
|
111
|
-
people:
|
|
112
|
-
person1:
|
|
113
|
-
ssn_card_type: CITIZEN
|
|
114
|
-
person2:
|
|
115
|
-
ssn_card_type: NONE
|
|
116
|
-
person3:
|
|
117
|
-
age: 5
|
|
118
|
-
is_tax_unit_dependent: true
|
|
119
|
-
ssn_card_type: NONE
|
|
120
|
-
output:
|
|
121
|
-
meets_ctc_identification_requirements: [true, false, false]
|
|
122
|
-
filer_meets_ctc_identification_requirements: true
|
|
123
|
-
|
|
124
|
-
- name: Single person eligible
|
|
125
|
-
period: 2026
|
|
126
|
-
absolute_error_margin: 0.9
|
|
127
|
-
reforms: policyengine_us.reforms.reconciliation.ctc_ssn.ctc_ssn
|
|
128
|
-
input:
|
|
129
|
-
gov.contrib.reconciliation.ctc.in_effect: true
|
|
130
|
-
gov.contrib.reconciliation.ctc.one_person_ssn_req: true
|
|
131
|
-
people:
|
|
132
|
-
person1:
|
|
133
|
-
ssn_card_type: CITIZEN
|
|
134
|
-
output:
|
|
135
|
-
meets_ctc_identification_requirements: [true]
|
|
136
|
-
filer_meets_ctc_identification_requirements: true
|
|
137
|
-
|
|
138
|
-
- name: Single person ineligible
|
|
139
|
-
period: 2026
|
|
140
|
-
absolute_error_margin: 0.9
|
|
141
|
-
reforms: policyengine_us.reforms.reconciliation.ctc_ssn.ctc_ssn
|
|
142
|
-
input:
|
|
143
|
-
gov.contrib.reconciliation.ctc.in_effect: true
|
|
144
|
-
gov.contrib.reconciliation.ctc.one_person_ssn_req: true
|
|
145
|
-
people:
|
|
146
|
-
person1:
|
|
147
|
-
ssn_card_type: NONE
|
|
148
|
-
output:
|
|
149
|
-
meets_ctc_identification_requirements: [false]
|
|
150
|
-
filer_meets_ctc_identification_requirements: false
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
- name: Two eligible seniors with income below the phase-out
|
|
2
|
-
period: 2026
|
|
3
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_additional_senior_standard_deduction.reconciled_additional_senior_standard_deduction
|
|
4
|
-
input:
|
|
5
|
-
gov.contrib.reconciliation.additional_senior_standard_deduction.in_effect: true
|
|
6
|
-
people:
|
|
7
|
-
person1:
|
|
8
|
-
age: 65
|
|
9
|
-
is_tax_unit_head_or_spouse: true
|
|
10
|
-
ssn_card_type: CITIZEN
|
|
11
|
-
person2:
|
|
12
|
-
age: 65
|
|
13
|
-
is_tax_unit_head_or_spouse: true
|
|
14
|
-
ssn_card_type: CITIZEN
|
|
15
|
-
tax_units:
|
|
16
|
-
tax_unit:
|
|
17
|
-
members: [person1, person2]
|
|
18
|
-
filing_status: JOINT
|
|
19
|
-
adjusted_gross_income: 100_000
|
|
20
|
-
salt_deduction: 0
|
|
21
|
-
standard_deduction: 0
|
|
22
|
-
output:
|
|
23
|
-
additional_senior_standard_deduction: 8_000
|
|
24
|
-
taxable_income_deductions_if_itemizing: 8_000
|
|
25
|
-
taxable_income_deductions_if_not_itemizing: 8_000
|
|
26
|
-
|
|
27
|
-
- name: One eligible senior, no additional SD
|
|
28
|
-
period: 2026
|
|
29
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_additional_senior_standard_deduction.reconciled_additional_senior_standard_deduction
|
|
30
|
-
input:
|
|
31
|
-
gov.contrib.reconciliation.additional_senior_standard_deduction.in_effect: true
|
|
32
|
-
people:
|
|
33
|
-
person1:
|
|
34
|
-
age: 65
|
|
35
|
-
is_tax_unit_head_or_spouse: true
|
|
36
|
-
ssn_card_type: CITIZEN
|
|
37
|
-
person2:
|
|
38
|
-
age: 65
|
|
39
|
-
is_tax_unit_head_or_spouse: true
|
|
40
|
-
ssn_card_type: NONE
|
|
41
|
-
tax_units:
|
|
42
|
-
tax_unit:
|
|
43
|
-
members: [person1, person2]
|
|
44
|
-
filing_status: JOINT
|
|
45
|
-
adjusted_gross_income: 100_000
|
|
46
|
-
salt_deduction: 0
|
|
47
|
-
standard_deduction: 0
|
|
48
|
-
output:
|
|
49
|
-
additional_senior_standard_deduction: 0
|
|
50
|
-
taxable_income_deductions_if_itemizing: 0
|
|
51
|
-
taxable_income_deductions_if_not_itemizing: 0
|
|
52
|
-
|
|
53
|
-
- name: Two eligible seniors, income above the phase-out
|
|
54
|
-
period: 2026
|
|
55
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_additional_senior_standard_deduction.reconciled_additional_senior_standard_deduction
|
|
56
|
-
input:
|
|
57
|
-
gov.contrib.reconciliation.additional_senior_standard_deduction.in_effect: true
|
|
58
|
-
people:
|
|
59
|
-
person1:
|
|
60
|
-
age: 65
|
|
61
|
-
is_tax_unit_head_or_spouse: true
|
|
62
|
-
ssn_card_type: CITIZEN
|
|
63
|
-
person2:
|
|
64
|
-
age: 65
|
|
65
|
-
is_tax_unit_head_or_spouse: true
|
|
66
|
-
ssn_card_type: NON_CITIZEN_VALID_EAD
|
|
67
|
-
tax_units:
|
|
68
|
-
tax_unit:
|
|
69
|
-
members: [person1, person2]
|
|
70
|
-
filing_status: JOINT
|
|
71
|
-
adjusted_gross_income: 200_000
|
|
72
|
-
salt_deduction: 0
|
|
73
|
-
standard_deduction: 0
|
|
74
|
-
output:
|
|
75
|
-
additional_senior_standard_deduction: 6_000
|
|
76
|
-
taxable_income_deductions_if_itemizing: 6_000
|
|
77
|
-
taxable_income_deductions_if_not_itemizing: 6_000
|
|
78
|
-
|
|
79
|
-
- name: Single senior, income above the phase-out, 2025
|
|
80
|
-
period: 2025
|
|
81
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_additional_senior_standard_deduction.reconciled_additional_senior_standard_deduction
|
|
82
|
-
input:
|
|
83
|
-
gov.contrib.reconciliation.additional_senior_standard_deduction.in_effect: true
|
|
84
|
-
people:
|
|
85
|
-
person1:
|
|
86
|
-
age: 65
|
|
87
|
-
is_tax_unit_head_or_spouse: true
|
|
88
|
-
ssn_card_type: CITIZEN
|
|
89
|
-
tax_units:
|
|
90
|
-
tax_unit:
|
|
91
|
-
members: [person1]
|
|
92
|
-
adjusted_gross_income: 90_000
|
|
93
|
-
salt_deduction: 0
|
|
94
|
-
standard_deduction: 0
|
|
95
|
-
output:
|
|
96
|
-
additional_senior_standard_deduction: 3_400
|
|
97
|
-
taxable_income_deductions_if_itemizing: 3_400
|
|
98
|
-
taxable_income_deductions_if_not_itemizing: 3_400
|
|
99
|
-
|
|
100
|
-
- name: Single non-senior, income above the phase-out
|
|
101
|
-
period: 2026
|
|
102
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_additional_senior_standard_deduction.reconciled_additional_senior_standard_deduction
|
|
103
|
-
input:
|
|
104
|
-
gov.contrib.reconciliation.additional_senior_standard_deduction.in_effect: true
|
|
105
|
-
people:
|
|
106
|
-
person1:
|
|
107
|
-
age: 64
|
|
108
|
-
is_tax_unit_head_or_spouse: true
|
|
109
|
-
ssn_card_type: CITIZEN
|
|
110
|
-
tax_units:
|
|
111
|
-
tax_unit:
|
|
112
|
-
members: [person1]
|
|
113
|
-
adjusted_gross_income: 90_000
|
|
114
|
-
salt_deduction: 0
|
|
115
|
-
standard_deduction: 0
|
|
116
|
-
output:
|
|
117
|
-
additional_senior_standard_deduction: 0
|
|
118
|
-
taxable_income_deductions_if_itemizing: 0
|
|
119
|
-
taxable_income_deductions_if_not_itemizing: 0
|
|
120
|
-
|
|
121
|
-
- name: Test with two structural reforms, tips, overtime and the SD are added
|
|
122
|
-
period: 2026
|
|
123
|
-
reforms: [policyengine_us.reforms.reconciliation.reconciled_tip_and_overtime_exempt.reconciled_tip_and_overtime_exempt, policyengine_us.reforms.reconciliation.reconciled_additional_senior_standard_deduction.reconciled_additional_senior_standard_deduction]
|
|
124
|
-
input:
|
|
125
|
-
gov.contrib.reconciliation.additional_senior_standard_deduction.in_effect: true
|
|
126
|
-
gov.contrib.reconciliation.tip_income_exempt.in_effect: true
|
|
127
|
-
gov.contrib.reconciliation.overtime_income_exempt.in_effect: true
|
|
128
|
-
people:
|
|
129
|
-
person1:
|
|
130
|
-
age: 65
|
|
131
|
-
is_tax_unit_head_or_spouse: true
|
|
132
|
-
ssn_card_type: CITIZEN
|
|
133
|
-
tip_income: 1_000
|
|
134
|
-
fsla_overtime_premium: 2_000
|
|
135
|
-
tax_units:
|
|
136
|
-
tax_unit:
|
|
137
|
-
members: [person1]
|
|
138
|
-
adjusted_gross_income: 90_000
|
|
139
|
-
salt_deduction: 0
|
|
140
|
-
standard_deduction: 0
|
|
141
|
-
output:
|
|
142
|
-
additional_senior_standard_deduction: 3_400
|
|
143
|
-
overtime_income_deduction: 2_000
|
|
144
|
-
tip_income_deduction: 1_000
|
|
145
|
-
taxable_income_deductions_if_itemizing: 6_400
|
|
146
|
-
taxable_income_deductions_if_not_itemizing: 6_400
|
|
147
|
-
|
|
148
|
-
- name: Testing when reforms are initialized in another order
|
|
149
|
-
period: 2026
|
|
150
|
-
reforms: [policyengine_us.reforms.reconciliation.reconciled_additional_senior_standard_deduction.reconciled_additional_senior_standard_deduction, policyengine_us.reforms.reconciliation.reconciled_tip_and_overtime_exempt.reconciled_tip_and_overtime_exempt]
|
|
151
|
-
input:
|
|
152
|
-
gov.contrib.reconciliation.tip_income_exempt.in_effect: true
|
|
153
|
-
gov.contrib.reconciliation.overtime_income_exempt.in_effect: true
|
|
154
|
-
gov.contrib.reconciliation.additional_senior_standard_deduction.in_effect: true
|
|
155
|
-
people:
|
|
156
|
-
person1:
|
|
157
|
-
age: 65
|
|
158
|
-
is_tax_unit_head_or_spouse: true
|
|
159
|
-
ssn_card_type: CITIZEN
|
|
160
|
-
tip_income: 1_000
|
|
161
|
-
fsla_overtime_premium: 2_000
|
|
162
|
-
tax_units:
|
|
163
|
-
tax_unit:
|
|
164
|
-
members: [person1]
|
|
165
|
-
adjusted_gross_income: 90_000
|
|
166
|
-
salt_deduction: 0
|
|
167
|
-
standard_deduction: 0
|
|
168
|
-
output:
|
|
169
|
-
additional_senior_standard_deduction: 3_400
|
|
170
|
-
overtime_income_deduction: 2_000
|
|
171
|
-
tip_income_deduction: 1_000
|
|
172
|
-
taxable_income_deductions_if_itemizing: 6_400
|
|
173
|
-
taxable_income_deductions_if_not_itemizing: 6_400
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
- name: AGI below threshold, loans capped
|
|
2
|
-
period: 2026
|
|
3
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_auto_loan_interest_ald.reconciled_auto_loan_interest_ald
|
|
4
|
-
input:
|
|
5
|
-
gov.contrib.reconciliation.auto_loan_interest_ald.in_effect: true
|
|
6
|
-
adjusted_gross_income_pre_auto_loan_interest_ald: 100_000
|
|
7
|
-
filing_status: HEAD_OF_HOUSEHOLD
|
|
8
|
-
auto_loan_interest: 20_000
|
|
9
|
-
output:
|
|
10
|
-
auto_loan_interest_ald: 10_000
|
|
11
|
-
|
|
12
|
-
- name: AGI above threshold, loans capped, fully phased out
|
|
13
|
-
period: 2026
|
|
14
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_auto_loan_interest_ald.reconciled_auto_loan_interest_ald
|
|
15
|
-
input:
|
|
16
|
-
gov.contrib.reconciliation.auto_loan_interest_ald.in_effect: true
|
|
17
|
-
adjusted_gross_income_pre_auto_loan_interest_ald: 200_000
|
|
18
|
-
filing_status: HEAD_OF_HOUSEHOLD
|
|
19
|
-
auto_loan_interest: 20_000
|
|
20
|
-
output:
|
|
21
|
-
auto_loan_interest_ald: 0
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
- name: AGI above threshold, loans capped, partially phased out
|
|
25
|
-
period: 2026
|
|
26
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_auto_loan_interest_ald.reconciled_auto_loan_interest_ald
|
|
27
|
-
input:
|
|
28
|
-
gov.contrib.reconciliation.auto_loan_interest_ald.in_effect: true
|
|
29
|
-
adjusted_gross_income_pre_auto_loan_interest_ald: 220_000
|
|
30
|
-
filing_status: JOINT
|
|
31
|
-
auto_loan_interest: 20_000
|
|
32
|
-
output:
|
|
33
|
-
auto_loan_interest_ald: 6_000
|
|
34
|
-
|
|
35
|
-
- name: Integration test for AGI circularity
|
|
36
|
-
period: 2026
|
|
37
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_auto_loan_interest_ald.reconciled_auto_loan_interest_ald
|
|
38
|
-
input:
|
|
39
|
-
gov.contrib.reconciliation.auto_loan_interest_ald.in_effect: true
|
|
40
|
-
irs_gross_income: 220_000
|
|
41
|
-
filing_status: JOINT
|
|
42
|
-
auto_loan_interest: 20_000
|
|
43
|
-
output:
|
|
44
|
-
auto_loan_interest_ald: 6_000
|
|
45
|
-
adjusted_gross_income_pre_auto_loan_interest_ald: 220_000
|
|
46
|
-
adjusted_gross_income: 214_000
|
|
47
|
-
|
|
48
|
-
- name: Senate version of auto loan interest deduction
|
|
49
|
-
period: 2026
|
|
50
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_auto_loan_interest_ald.reconciled_auto_loan_interest_ald
|
|
51
|
-
input:
|
|
52
|
-
gov.contrib.reconciliation.auto_loan_interest_ald.in_effect: true
|
|
53
|
-
gov.contrib.reconciliation.auto_loan_interest_ald.senate_version.applies: true
|
|
54
|
-
irs_gross_income: 220_000
|
|
55
|
-
filing_status: JOINT
|
|
56
|
-
auto_loan_interest: 20_000
|
|
57
|
-
standard_deduction: 0
|
|
58
|
-
tax_unit_itemizes: false
|
|
59
|
-
output:
|
|
60
|
-
auto_loan_interest_ald: 6_000
|
|
61
|
-
adjusted_gross_income: 220_000
|
|
62
|
-
taxable_income_deductions: 6_000
|
|
63
|
-
|
|
64
|
-
- name: Senate version of auto loan interest deduction, itemizing
|
|
65
|
-
period: 2026
|
|
66
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_auto_loan_interest_ald.reconciled_auto_loan_interest_ald
|
|
67
|
-
input:
|
|
68
|
-
gov.contrib.reconciliation.auto_loan_interest_ald.in_effect: true
|
|
69
|
-
gov.contrib.reconciliation.auto_loan_interest_ald.senate_version.applies: true
|
|
70
|
-
irs_gross_income: 220_000
|
|
71
|
-
filing_status: JOINT
|
|
72
|
-
auto_loan_interest: 20_000
|
|
73
|
-
standard_deduction: 0
|
|
74
|
-
tax_unit_itemizes: true
|
|
75
|
-
salt_deduction: 10_000
|
|
76
|
-
output:
|
|
77
|
-
auto_loan_interest_ald: 6_000
|
|
78
|
-
adjusted_gross_income: 220_000
|
|
79
|
-
taxable_income_deductions: 16_000
|
|
80
|
-
|
|
81
|
-
- name: Senate version of auto loan interest deduction does not apply
|
|
82
|
-
period: 2026
|
|
83
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_auto_loan_interest_ald.reconciled_auto_loan_interest_ald
|
|
84
|
-
input:
|
|
85
|
-
gov.contrib.reconciliation.auto_loan_interest_ald.in_effect: true
|
|
86
|
-
gov.contrib.reconciliation.auto_loan_interest_ald.senate_version.applies: false
|
|
87
|
-
irs_gross_income: 220_000
|
|
88
|
-
filing_status: JOINT
|
|
89
|
-
auto_loan_interest: 20_000
|
|
90
|
-
standard_deduction: 0
|
|
91
|
-
tax_unit_itemizes: true
|
|
92
|
-
salt_deduction: 10_000
|
|
93
|
-
output:
|
|
94
|
-
auto_loan_interest_ald: 6_000
|
|
95
|
-
adjusted_gross_income: 214_000
|
|
96
|
-
taxable_income_deductions: 10_000
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
- name: Reconciled pease for a hoh filer with
|
|
2
|
-
period: 2026
|
|
3
|
-
absolute_error_margin: 1
|
|
4
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_pease.reconciled_pease
|
|
5
|
-
input:
|
|
6
|
-
gov.contrib.reconciliation.pease.in_effect: true
|
|
7
|
-
total_itemized_taxable_income_deductions: 30_000
|
|
8
|
-
exemptions: 0
|
|
9
|
-
filing_status: HEAD_OF_HOUSEHOLD
|
|
10
|
-
adjusted_gross_income: 600_000
|
|
11
|
-
output:
|
|
12
|
-
# Excess income: 600_000 - 577_750 = 22_250
|
|
13
|
-
# Reduction = 22_250 * 0.05405405 = 1_202
|
|
14
|
-
itemized_taxable_income_deductions_reduction: 1_202
|
|
15
|
-
|
|
16
|
-
- name: Reconciled pease for a joint filer with $10k in itemized deductions
|
|
17
|
-
period: 2026
|
|
18
|
-
absolute_error_margin: 1
|
|
19
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_pease.reconciled_pease
|
|
20
|
-
input:
|
|
21
|
-
gov.contrib.reconciliation.pease.in_effect: true
|
|
22
|
-
total_itemized_taxable_income_deductions: 10_000
|
|
23
|
-
exemptions: 0
|
|
24
|
-
filing_status: JOINT
|
|
25
|
-
adjusted_gross_income: 700_000
|
|
26
|
-
output:
|
|
27
|
-
itemized_taxable_income_deductions_reduction: 540.54
|
|
28
|
-
|
|
29
|
-
- name: Reconciled pease for a joint filer with income below the top rate threshold
|
|
30
|
-
period: 2026
|
|
31
|
-
absolute_error_margin: 1
|
|
32
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_pease.reconciled_pease
|
|
33
|
-
input:
|
|
34
|
-
gov.contrib.reconciliation.pease.in_effect: true
|
|
35
|
-
total_itemized_taxable_income_deductions: 10_000
|
|
36
|
-
exemptions: 0
|
|
37
|
-
filing_status: JOINT
|
|
38
|
-
adjusted_gross_income: 600_000
|
|
39
|
-
output:
|
|
40
|
-
itemized_taxable_income_deductions_reduction: 0
|
|
41
|
-
|
|
42
|
-
- name: Amended structure in effect, no salt deduction
|
|
43
|
-
period: 2026
|
|
44
|
-
absolute_error_margin: 1
|
|
45
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_pease.reconciled_pease
|
|
46
|
-
input:
|
|
47
|
-
gov.contrib.reconciliation.pease.in_effect: true
|
|
48
|
-
gov.contrib.reconciliation.pease.amended_structure.in_effect: true
|
|
49
|
-
total_itemized_taxable_income_deductions: 10_000
|
|
50
|
-
salt_deduction: 0
|
|
51
|
-
exemptions: 0
|
|
52
|
-
filing_status: JOINT
|
|
53
|
-
adjusted_gross_income: 700_000
|
|
54
|
-
output:
|
|
55
|
-
itemized_taxable_income_deductions_reduction: 540.54
|
|
56
|
-
|
|
57
|
-
- name: Amended structure in effect, some salt deduction, no other deductions
|
|
58
|
-
period: 2026
|
|
59
|
-
absolute_error_margin: 1
|
|
60
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_pease.reconciled_pease
|
|
61
|
-
input:
|
|
62
|
-
gov.contrib.reconciliation.pease.in_effect: true
|
|
63
|
-
gov.contrib.reconciliation.pease.amended_structure.in_effect: true
|
|
64
|
-
interest_deduction: 0
|
|
65
|
-
salt_deduction: 10_000
|
|
66
|
-
exemptions: 0
|
|
67
|
-
filing_status: JOINT
|
|
68
|
-
adjusted_gross_income: 900_000
|
|
69
|
-
output:
|
|
70
|
-
itemized_taxable_income_deductions_reduction: 1_351.4
|
|
71
|
-
|
|
72
|
-
- name: Amended structure in effect, some salt deduction, some other deductions
|
|
73
|
-
period: 2026
|
|
74
|
-
absolute_error_margin: 1
|
|
75
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_pease.reconciled_pease
|
|
76
|
-
input:
|
|
77
|
-
gov.contrib.reconciliation.pease.in_effect: true
|
|
78
|
-
gov.contrib.reconciliation.pease.amended_structure.in_effect: true
|
|
79
|
-
interest_deduction: 5_000
|
|
80
|
-
salt_deduction: 10_000
|
|
81
|
-
exemptions: 0
|
|
82
|
-
filing_status: JOINT
|
|
83
|
-
adjusted_gross_income: 900_000
|
|
84
|
-
output:
|
|
85
|
-
itemized_taxable_income_deductions_reduction: 1_621.7
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
- name: Reconciled QBID for a hoh filer with $20k in QBI, income over threshold
|
|
2
|
-
period: 2026
|
|
3
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_qbid.reconciled_qbid
|
|
4
|
-
input:
|
|
5
|
-
gov.contrib.reconciliation.qbid.in_effect: true
|
|
6
|
-
gov.irs.deductions.qbi.phase_out.start.HEAD_OF_HOUSEHOLD: 200_000
|
|
7
|
-
gov.irs.deductions.qbi.max.rate: 0.22
|
|
8
|
-
gov.irs.deductions.qbi.max.w2_wages.alt_rate: 0.4
|
|
9
|
-
taxable_income_less_qbid: 220_000
|
|
10
|
-
qualified_business_income: 200_000
|
|
11
|
-
filing_status: HEAD_OF_HOUSEHOLD
|
|
12
|
-
w2_wages_from_qualified_business: 1_000_000
|
|
13
|
-
output:
|
|
14
|
-
# QBID max = 200_000 * 0.22 = 44_000
|
|
15
|
-
# Phase-out = (220_000 - 200_000) * 0.75 = 15_000
|
|
16
|
-
qbid_amount: 29_000
|
|
17
|
-
|
|
18
|
-
- name: Reconciled QBID for a hoh filer with $20k in QBI, income under threshold
|
|
19
|
-
period: 2026
|
|
20
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_qbid.reconciled_qbid
|
|
21
|
-
input:
|
|
22
|
-
gov.contrib.reconciliation.qbid.in_effect: true
|
|
23
|
-
gov.irs.deductions.qbi.phase_out.start.HEAD_OF_HOUSEHOLD: 200_000
|
|
24
|
-
gov.irs.deductions.qbi.max.rate: 0.22
|
|
25
|
-
gov.irs.deductions.qbi.max.w2_wages.alt_rate: 0.4
|
|
26
|
-
taxable_income_less_qbid: 200_000
|
|
27
|
-
qualified_business_income: 200_000
|
|
28
|
-
filing_status: HEAD_OF_HOUSEHOLD
|
|
29
|
-
w2_wages_from_qualified_business: 1_000_000
|
|
30
|
-
output:
|
|
31
|
-
qbid_amount: 44_000
|
policyengine_us/tests/policy/contrib/reconciliation/reconciled_snap_abawd_work_requirement.yaml
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
- name: Case 1, baseline, age 55 exempted from general work requirement.
|
|
2
|
-
period: 2026
|
|
3
|
-
absolute_error_margin: 0.9
|
|
4
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_snap_abawd_work_requirement.reconciled_snap_abawd_work_requirement
|
|
5
|
-
input:
|
|
6
|
-
gov.contrib.reconciliation.snap_abawd_work_requirement.in_effect: false
|
|
7
|
-
age: 55
|
|
8
|
-
weekly_hours_worked: 1
|
|
9
|
-
is_disabled: false
|
|
10
|
-
output:
|
|
11
|
-
meets_snap_abawd_work_requirements: true
|
|
12
|
-
|
|
13
|
-
- name: Case 2, reform, age 55 is not exempted from general work requirement.
|
|
14
|
-
period: 2027
|
|
15
|
-
absolute_error_margin: 0.9
|
|
16
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_snap_abawd_work_requirement.reconciled_snap_abawd_work_requirement
|
|
17
|
-
input:
|
|
18
|
-
gov.contrib.reconciliation.snap_abawd_work_requirement.in_effect: true
|
|
19
|
-
age: 55
|
|
20
|
-
weekly_hours_worked: 1
|
|
21
|
-
is_disabled: false
|
|
22
|
-
output:
|
|
23
|
-
meets_snap_abawd_work_requirements: false
|
|
24
|
-
|
|
25
|
-
- name: Case 3, baseline, have a child at age 15.
|
|
26
|
-
period: 2026-01
|
|
27
|
-
absolute_error_margin: 0.9
|
|
28
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_snap_abawd_work_requirement.reconciled_snap_abawd_work_requirement
|
|
29
|
-
input:
|
|
30
|
-
gov.contrib.reconciliation.snap_abawd_work_requirement.in_effect: false
|
|
31
|
-
people:
|
|
32
|
-
person1:
|
|
33
|
-
age: 55
|
|
34
|
-
weekly_hours_worked: 1
|
|
35
|
-
is_disabled: false
|
|
36
|
-
is_parent: true
|
|
37
|
-
person2:
|
|
38
|
-
age: 15
|
|
39
|
-
is_disabled: false
|
|
40
|
-
is_tax_unit_dependent: true
|
|
41
|
-
output:
|
|
42
|
-
meets_snap_abawd_work_requirements: [true, true]
|
|
43
|
-
|
|
44
|
-
- name: Case 4, reform, have a child at age 15.
|
|
45
|
-
period: 2027
|
|
46
|
-
absolute_error_margin: 0.9
|
|
47
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_snap_abawd_work_requirement.reconciled_snap_abawd_work_requirement
|
|
48
|
-
input:
|
|
49
|
-
gov.contrib.reconciliation.snap_abawd_work_requirement.in_effect: true
|
|
50
|
-
people:
|
|
51
|
-
person1:
|
|
52
|
-
age: 55
|
|
53
|
-
weekly_hours_worked: 1
|
|
54
|
-
is_disabled: false
|
|
55
|
-
is_parent: true
|
|
56
|
-
person2:
|
|
57
|
-
age: 15
|
|
58
|
-
is_disabled: false
|
|
59
|
-
is_tax_unit_dependent: true
|
|
60
|
-
output:
|
|
61
|
-
meets_snap_abawd_work_requirements: [false, true]
|
|
62
|
-
|
|
63
|
-
- name: Case 5, reform, have a child at age 6.
|
|
64
|
-
period: 2027
|
|
65
|
-
absolute_error_margin: 0.9
|
|
66
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_snap_abawd_work_requirement.reconciled_snap_abawd_work_requirement
|
|
67
|
-
input:
|
|
68
|
-
gov.contrib.reconciliation.snap_abawd_work_requirement.in_effect: true
|
|
69
|
-
people:
|
|
70
|
-
person1:
|
|
71
|
-
age: 55
|
|
72
|
-
weekly_hours_worked: 1
|
|
73
|
-
is_disabled: false
|
|
74
|
-
is_parent: true
|
|
75
|
-
person2:
|
|
76
|
-
age: 6
|
|
77
|
-
is_disabled: false
|
|
78
|
-
is_tax_unit_dependent: true
|
|
79
|
-
output:
|
|
80
|
-
meets_snap_abawd_work_requirements: [true, true]
|
|
81
|
-
|
|
82
|
-
- name: Case 6, reform, is veteran with a child 15 in 2027.
|
|
83
|
-
period: 2027
|
|
84
|
-
absolute_error_margin: 0.9
|
|
85
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_snap_abawd_work_requirement.reconciled_snap_abawd_work_requirement
|
|
86
|
-
input:
|
|
87
|
-
gov.contrib.reconciliation.snap_abawd_work_requirement.in_effect: true
|
|
88
|
-
people:
|
|
89
|
-
person1:
|
|
90
|
-
age: 55
|
|
91
|
-
weekly_hours_worked: 1
|
|
92
|
-
is_disabled: false
|
|
93
|
-
is_veteran: true
|
|
94
|
-
person2:
|
|
95
|
-
age: 15
|
|
96
|
-
is_disabled: false
|
|
97
|
-
is_tax_unit_dependent: true
|
|
98
|
-
output:
|
|
99
|
-
meets_snap_abawd_work_requirements: [true, true]
|
|
100
|
-
|
|
101
|
-
- name: Case 7, reform, is veteran with a child 15 in 2031, sunset provision in effect.
|
|
102
|
-
period: 2031
|
|
103
|
-
absolute_error_margin: 0.9
|
|
104
|
-
reforms: policyengine_us.reforms.reconciliation.reconciled_snap_abawd_work_requirement.reconciled_snap_abawd_work_requirement
|
|
105
|
-
input:
|
|
106
|
-
gov.contrib.reconciliation.snap_abawd_work_requirement.in_effect: true
|
|
107
|
-
people:
|
|
108
|
-
person1:
|
|
109
|
-
age: 55
|
|
110
|
-
weekly_hours_worked: 1
|
|
111
|
-
is_disabled: false
|
|
112
|
-
is_veteran: true
|
|
113
|
-
person2:
|
|
114
|
-
age: 15
|
|
115
|
-
is_disabled: false
|
|
116
|
-
is_tax_unit_dependent: true
|
|
117
|
-
output:
|
|
118
|
-
meets_snap_abawd_work_requirements: [false, true]
|