forked from PSLmodels/Business-Taxation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
passthru_reform.py
68 lines (64 loc) · 4.19 KB
/
passthru_reform.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# Calculate new EBITDA
earnings_results_noncorp = earningsResponse(response_results, False)
earnings_results_noncorp['ebitda_base'] = earnings_base['ebitda']
earnings_results_noncorp['ebitda_ref'] = (earnings_results_noncorp['ebitda_base'] +
earnings_results_noncorp['deltaE']) * rescale_noncorp
earnings_results_noncorp['ebitda_chgfactor'] = (earnings_results_noncorp['ebitda_ref'] /
earnings_results_noncorp['ebitda_base'])
SchC_results['ebitda_pos_ref'] = (SchC_results['ebitda_pos_base'] *
earnings_results_noncorp['ebitda_chgfactor'])
SchC_results['ebitda_neg_ref'] = (SchC_results['ebitda_neg_base'] *
earnings_results_noncorp['ebitda_chgfactor'])
partner_results['ebitda_pos_ref'] = (partner_results['ebitda_pos_base'] *
earnings_results_noncorp['ebitda_chgfactor'])
partner_results['ebitda_neg_ref'] = (partner_results['ebitda_neg_base'] *
earnings_results_noncorp['ebitda_chgfactor'])
Scorp_results['ebitda_pos_ref'] = (Scorp_results['ebitda_pos_base'] *
earnings_results_noncorp['ebitda_chgfactor'])
Scorp_results['ebitda_neg_ref'] = (Scorp_results['ebitda_neg_base'] *
earnings_results_noncorp['ebitda_chgfactor'])
# Recalculate sole proprietorship net income or loss
SchC_results['dep_pos_ref'] = (capPath_ref_noncorp['taxDep'] *
depshare_sp_posinc)
SchC_results['dep_neg_ref'] = (capPath_ref_noncorp['taxDep'] *
depshare_sp_neginc)
SchC_results['intpaid_pos_ref'] = (IntDed_ref_noncorp['intDed'] *
intshare_sp_posinc)
SchC_results['intpaid_neg_ref'] = (IntDed_ref_noncorp['intDed'] *
intshare_sp_neginc)
SchC_results['netinc_pos_ref'] = (SchC_results['ebitda_pos_ref'] -
SchC_results['dep_pos_ref'] -
SchC_results['intpaid_pos_ref'])
SchC_results['netinc_neg_ref'] = (SchC_results['ebitda_neg_ref'] -
SchC_results['dep_neg_ref'] -
SchC_results['intpaid_neg_ref'])
# Recalculate partnership net income or loss
partner_results['dep_pos_ref'] = (capPath_ref_noncorp['taxDep'] *
depshare_partner_posinc)
partner_results['dep_neg_ref'] = (capPath_ref_noncorp['taxDep'] *
depshare_partner_neginc)
partner_results['intpaid_pos_ref'] = (IntDed_ref_noncorp['intDed'] *
intshare_partner_posinc)
partner_results['intpaid_neg_ref'] = (IntDed_ref_noncorp['intDed'] *
intshare_partner_neginc)
partner_results['netinc_pos_ref'] = (partner_results['ebitda_pos_ref'] -
partner_results['dep_pos_ref'] -
partner_results['intpaid_pos_ref'])
partner_results['netinc_neg_ref'] = (partner_results['ebitda_neg_ref'] -
partner_results['dep_neg_ref'] -
partner_results['intpaid_neg_ref'])
# Recalculate S corporation net income or loss
Scorp_results['dep_pos_ref'] = (capPath_ref_noncorp['taxDep'] *
depshare_scorp_posinc)
Scorp_results['dep_neg_ref'] = (capPath_ref_noncorp['taxDep'] *
depshare_scorp_neginc)
Scorp_results['intpaid_pos_ref'] = (IntDed_ref_noncorp['intDed'] *
intshare_scorp_posinc)
Scorp_results['intpaid_neg_ref'] = (IntDed_ref_noncorp['intDed'] *
intshare_scorp_neginc)
Scorp_results['netinc_pos_ref'] = (Scorp_results['ebitda_pos_ref'] -
Scorp_results['dep_pos_ref'] -
Scorp_results['intpaid_pos_ref'])
Scorp_results['netinc_neg_ref'] = (Scorp_results['ebitda_neg_ref'] -
Scorp_results['dep_neg_ref'] -
Scorp_results['intpaid_neg_ref'])