-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #61 from taxpat/salt
Merging
- Loading branch information
Showing
19 changed files
with
108 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# IRS | ||
|
||
## State and local tax (SALT) Deduction | ||
|
||
The SALT deduction previously created a circularity with some states' tax logic because itemizing federal filers can deduct current-year prepayments of state and local income tax liability (if greater than state and local sales tax liability) in the state and local tax deduction on the federal form. However, that current state and local income tax liability is simultaneously calculated and in some states requires the value of federal taxable income, which includes (subtracts) the SALT deduction. This creates a circularity in the tax logic that FiscalSim-US is not able to handle at this point. | ||
|
||
To be clear, the tax logic correctly includes this circularity. However, our solution is to write the code in the way that most filers use the SALT deduction, excluding the case in which filers deduct current-year state and local income tax liability. We created two new variables--`prior_year_state_income_tax_paid` and `prior_year_local_income_tax_paid`--and used those variables in the calculation of `statelocal_sales_or_prior_inctax`, which in turn goes into the `salt_deduction` variable calculation. In other words, the SALT deduction calculation in FiscalSim-US only allows for deducting prior year state and local income taxes. | ||
|
||
There is a workaround for capturing the effect of those who include their current-year paid state and local income taxes in their SALT deduction. Because the variables `prior_year_state_income_tax_paid` and `prior_year_local_income_tax_paid` are just household tax unit variables, a user can just increase those amounts to whatever level of total state and local income taxes paid go into the SALT deduction calculation. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
24 changes: 0 additions & 24 deletions
24
...m_us/variables/gov/irs/taxcalc/deductions/itemized/state_and_local_sales_or_income_tax.py
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
fiscalsim_us/variables/household/income/tax_unit/prior_year_local_income_tax_paid.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
from fiscalsim_us.model_api import * | ||
|
||
|
||
class prior_year_local_income_tax_paid(Variable): | ||
value_type = float | ||
entity = Person | ||
label = "Prior year local income taxes paid" | ||
unit = USD | ||
definition_period = YEAR |
9 changes: 9 additions & 0 deletions
9
fiscalsim_us/variables/household/income/tax_unit/prior_year_state_income_tax_paid.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
from fiscalsim_us.model_api import * | ||
|
||
|
||
class prior_year_state_income_tax_paid(Variable): | ||
value_type = float | ||
entity = Person | ||
label = "Prior year state income taxes paid" | ||
unit = USD | ||
definition_period = YEAR |
24 changes: 24 additions & 0 deletions
24
fiscalsim_us/variables/household/income/tax_unit/statelocal_sales_or_prior_inctax.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
from fiscalsim_us.model_api import * | ||
|
||
|
||
class statelocal_sales_or_prior_inctax(Variable): | ||
value_type = float | ||
entity = TaxUnit | ||
definition_period = YEAR | ||
label = "Prior year state and local income taxes paid or state and local sales taxes paid" | ||
unit = USD | ||
|
||
def formula(tax_unit, period, parameters): | ||
# Only sales or income tax can be itemized, but not both. | ||
prior_year_statelocal_inctax = add( | ||
tax_unit, | ||
period, | ||
[ | ||
"prior_year_state_income_tax_paid", | ||
"prior_year_local_income_tax_paid", | ||
], | ||
) | ||
sales_tax = add( | ||
tax_unit, period, ["state_sales_tax", "local_sales_tax"] | ||
) | ||
return max_(prior_year_statelocal_inctax, sales_tax) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters