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

Modify TCJA logic with respect to PT_exclusion_wage_limit #1816

Closed
martinholmer opened this issue Jan 10, 2018 · 7 comments
Closed

Modify TCJA logic with respect to PT_exclusion_wage_limit #1816

martinholmer opened this issue Jan 10, 2018 · 7 comments

Comments

@martinholmer
Copy link
Collaborator

In #1803 @codykallen said:

We need to modify the wage limit in functions.py:TaxInc. The wage limitation, PT_exclusion_wage_limit, should actually be phased in. The following code would replace the TaxInc function with a corrected specification of the wage limitation:

PT_excl_rt: TCJA sets to 0.2
PT_excl_wagelim_rt: TCJA sets to 0.5
PT_excl_wagelim_thd: TCJA sets to [157500, 315000, 157500, 157500, 315000]
PT_excl_wagelim_prt: TCJA sets to [0.00002, 0.00001, 0.00002, 0.00002, 0.00001]

def TaxInc(c00100, standard, c04470, c04600, c04800,
           PT_excl_rt, PT_excl_wagelim_rt, PT_excl_wagelim_thd,
           PT_excl_wagelim_prt, e00900, e26270, e00200):
   """
   TaxInc function: ...
   """

   pt_excl_pre = max(0., PT_excl_rt * (e00900 + e26270))
   wagelim_pre = e00200 * PT_excl_wagelim_rt
   taxinc_pre = max(0., c00100 - max(c04470, standard) - c04600)
   # calculate business income exclusion
   excess = max(taxinc_pre - PT_excl_wagelim_thd[MARS - 1], 0.)
   wagelim_rt = min(excess * PT_excl_wagelim_prt[MARS - 1], 1.)
   limit = wagelim_rt * max(pt_excl_pre - wage_limit_pre, 0.)
   pt_excl = pt_excl_pre - limit
   c04800 = max(0., taxinc_pre - pt_excl)
   return c04800

Note that this implementation of the wage limitation is only based on the data we have and can model. I have not included the option for a tax filer to use an alternative to PT_excl_wagelim_rt, which the TCJA sets to 50% of wages, to instead use 25% of wages plus 2.5% of tangible depreciable property.

@martinholmer martinholmer changed the title Modify TCJA PT_exclusion_wage_limit logic Modify TCJA logic with respect to PT_exclusion_wage_limit Jan 10, 2018
@codykallen
Copy link
Contributor

There is actually another related piece that needs to be modified, although it would apply separately (I believe in the CapGains function or the AGI function). The TCJA also limits pass-through losses (e00900 + e26270) to $500,000 for married filers and $250,000 for other filers, although I doubt this provision will affect many filers.

@martinholmer
Copy link
Collaborator Author

@codykallen, what you say at the beginning of issue #1817 is not very clear. You suggest that all that is needed is a change in the statements in the TaxInc function, but on closer inspection you seem to be implying a need for several more policy parameters that are not now part of Tax-Calculator. Can you clarify?

@codykallen
Copy link
Contributor

@martinholmer, when I said the only change would be in the TaxInc function, I meant that the only changes to the logic in functions.py would be in the TaxInc function.

But yes, it would require three more policy parameters, and replacing PT_exclusion_rt with PT_excl_rt.

@martinholmer
Copy link
Collaborator Author

@codykallen said:

when I said the only change would be in the TaxInc function, I meant that the only changes to the logic in functions.py would be in the TaxInc function.

But yes, it would require three more policy parameters, and replacing PT_exclusion_rt with PT_excl_rt.

OK, thanks for the clarification.
Why don't you prepare a pull request that makes all those changes?

@codykallen
Copy link
Contributor

Why don't you prepare a pull request that makes all those changes?

Can do. Do you want the default values set to conform with pre-TCJA law?

@martinholmer
Copy link
Collaborator Author

martinholmer commented Jan 10, 2018

@codykallen asked:

Do you want the default values set to conform with pre-TCJA law?

Yes, please develop your pull request off the latest version of the master branch, which is still pre-TCJA law.
Thanks. I'll be happy to review as soon as you post the pull request.

@martinholmer
Copy link
Collaborator Author

The issues discussed in #1816 have been resolved by the merge of pull request #1819, the need for which was identified by @codykallen and the development of which was done by @codykallen.

Thanks for all the help, @codykallen!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants