Skip to content
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

Add _ALD_AlimonyReceived_hc policy parameter and logic #1818

Merged
merged 5 commits into from
Jan 11, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ for a complete commit history.
- Change minimum required pandas version from 0.21.0 to 0.22.0 and remove zsum() pandas work-around
[[#1805](https://github.com/open-source-economics/Tax-Calculator/pull/1805)
by Martin Holmer]
- Add policy parameter and logic needed to represent TCJA treatment of alimony received
[[#1818](https://github.com/open-source-economics/Tax-Calculator/pull/1818)
by Martin Holmer and Cody Kallen]
- Add policy parameters and logic needed to represent TCJA limits on pass-through income and business losses
[[#1819](https://github.com/open-source-economics/Tax-Calculator/pull/1819)
by Cody Kallen]

**Bug Fixes**
- None
Expand Down
2 changes: 1 addition & 1 deletion docs/index.html

Large diffs are not rendered by default.

30 changes: 26 additions & 4 deletions taxcalc/current_law_policy.json
Original file line number Diff line number Diff line change
Expand Up @@ -339,13 +339,13 @@
"out_of_range_action": "stop"
},

"_ALD_Alimony_hc": {
"long_name": "Adjustment for alimony payment haircut",
"description": "Under current law, the full amount of alimony payment is taken as an adjustment from gross income in arriving at AGI. This haircut can be used to limit the deduction allowed.",
"_ALD_AlimonyPaid_hc": {
"long_name": "Adjustment for alimony-paid haircut",
"description": "Under pre-TCJA law, the full amount of alimony paid is taken as an adjustment from gross income in arriving at AGI. This haircut can be used to change the deduction allowed.",
"section_1": "Above The Line Deductions",
"section_2": "Misc. Adjustment Haircuts",
"irs_ref": "Form 1040, line 31",
"notes": "The final adjustment amount would be (1-Haircut)*AlimonyPayments.",
"notes": "The final adjustment amount would be (1-Haircut)*AlimonyPaid.",
"row_var": "FLPDYR",
"row_label": ["2013"],
"start_year": 2013,
Expand All @@ -361,6 +361,28 @@
"out_of_range_action": "stop"
},

"_ALD_AlimonyReceived_hc": {
"long_name": "Adjustment for alimony-received haircut",
"description": "Under pre-TCJA law, none of alimony received is taken as an adjustment from gross income in arriving at AGI. This haircut can be used to change the deduction allowed.",
"section_1": "Above The Line Deductions",
"section_2": "Misc. Adjustment Haircuts",
"irs_ref": "Form 1040, line ?? (new with TCJA)",
"notes": "The final adjustment amount would be (1-Haircut)*AlimonyReceived.",
"row_var": "FLPDYR",
"row_label": ["2013"],
"start_year": 2013,
"cpi_inflated": false,
"col_var": "",
"col_label": "",
"boolean_value": false,
"integer_value": false,
"value": [1.0],
"range": {"min": 0, "max": 1},
"out_of_range_minmsg": "",
"out_of_range_maxmsg": "",
"out_of_range_action": "stop"
},

"_ALD_EducatorExpenses_hc": {
"long_name": "Deduction for educator expenses haircut",
"description": "If greater than zero, this decimal fraction reduces the portion of educator expenses that can be deducted from AGI.",
Expand Down
17 changes: 11 additions & 6 deletions taxcalc/functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,11 +114,11 @@ def DependentCare(nu13, elderly_dependent, earned,

@iterate_jit(nopython=True)
def Adj(e03150, e03210, c03260,
e03270, e03300, e03400, e03500,
e03270, e03300, e03400, e03500, e00800,
e03220, e03230, e03240, e03290, care_deduction,
ALD_StudentLoan_hc, ALD_SelfEmp_HealthIns_hc, ALD_KEOGH_SEP_hc,
ALD_EarlyWithdraw_hc, ALD_Alimony_hc, ALD_EducatorExpenses_hc,
ALD_HSADeduction_hc, ALD_IRAContributions_hc,
ALD_EarlyWithdraw_hc, ALD_AlimonyPaid_hc, ALD_AlimonyReceived_hc,
ALD_EducatorExpenses_hc, ALD_HSADeduction_hc, ALD_IRAContributions_hc,
ALD_DomesticProduction_hc, ALD_Tuition_hc,
c02900, c02900_in_ei):
"""
Expand Down Expand Up @@ -148,7 +148,9 @@ def Adj(e03150, e03210, c03260,

e03400 : Penalty on early withdrawal of savings deduction

e03500 : Alimony paid deduction
e03500 : Alimony paid

e00800 : Alimony received

care_deduction : Dependent care expense deduction

Expand All @@ -162,7 +164,9 @@ def Adj(e03150, e03210, c03260,

ALD_EarlyWithdraw_hc : Penalty on early withdrawal deduction haricut

ALD_Alimony_hc : Alimony paid deduction haircut
ALD_AlimonyPaid_hc : Alimony paid deduction haircut

ALD_AlimonyReceived_hc : Alimony received deduction haircut

ALD_EducatorExpenses_hc: Eductor expenses haircut

Expand All @@ -185,7 +189,8 @@ def Adj(e03150, e03210, c03260,
c02900_in_ei = ((1. - ALD_StudentLoan_hc) * e03210 +
c03260 +
(1. - ALD_EarlyWithdraw_hc) * e03400 +
(1. - ALD_Alimony_hc) * e03500 +
(1. - ALD_AlimonyPaid_hc) * e03500 +
(1. - ALD_AlimonyReceived_hc) * e00800 +
(1. - ALD_EducatorExpenses_hc) * e03220 +
(1. - ALD_Tuition_hc) * e03230 +
(1. - ALD_DomesticProduction_hc) * e03240 +
Expand Down
7 changes: 5 additions & 2 deletions taxcalc/reforms/TCJA_Reconciliation.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
// - Repeal personal exemption (4)
// - Modification to child tax credit, nonrefundable dependent credits (5)
// - Modification of Alternative Minimum Tax exemption (6)
// - Repeal of certain above the line deductions (7)
// - Changes to certain above the line deductions (7)
// - Changes to itemized deductions (8)
// - Switch to chained CPI from CPI-U for tax parameter adjustment (9)
// Reform_Parameter_Map:
Expand Down Expand Up @@ -150,9 +150,12 @@
"_ALD_DomesticProduction_hc":
{"2018": [1],
"2026": [0]},
"_ALD_Alimony_hc":
"_ALD_AlimonyPaid_hc":
{"2019": [1],
"2026": [0]},
"_ALD_AlimonyReceived_hc":
{"2019": [0],
"2026": [1]},
"_ALD_BusinessLosses_c":
{"2018": [[250000, 500000, 250000, 250000, 500000]],
"2026": [[9e99, 9e99, 9e99, 9e99, 9e99]]},
Expand Down
4 changes: 2 additions & 2 deletions taxcalc/tests/reforms.json
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,8 @@

"11": {
"start_year": 2015,
"value": {"_ALD_Alimony_hc": [1]},
"name": "Eliminate adjustment for alimony payments",
"value": {"_ALD_AlimonyPaid_hc": [1]},
"name": "Eliminate AGI adjustment for alimony paid",
"output_type": "iitax",
"compare_with": {},
"expected": "Tax-Calculator,3.2,3.3,3.5,3.4"
Expand Down