diff --git a/fiscalsim_us/parameters/gov/states/id/tax/income/main/itemized/medical_expense_limit.yaml b/fiscalsim_us/parameters/gov/states/id/tax/income/main/itemized/medical_expense_limit.yaml new file mode 100644 index 000000000..360175b46 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/id/tax/income/main/itemized/medical_expense_limit.yaml @@ -0,0 +1,10 @@ +description: Idaho deductible medical expenses must be greater than this percentage rate of an individual's income. +values: + 2022-01-01: 0.075 +metadata: + label: Idaho minimum medical expense rate + period: year + unit: currency-USD + reference: + - title: Itemized Deduction Worksheet for Idaho, Line 1 + href: https://tax.idaho.gov/wp-content/uploads/forms/EIS00407/EIS00407_01-05-2023.pdf diff --git a/fiscalsim_us/parameters/gov/states/id/tax/income/main/standard/dep_stdded_addition.yaml b/fiscalsim_us/parameters/gov/states/id/tax/income/main/standard/dep_stdded_addition.yaml new file mode 100644 index 000000000..5c0fc7d3c --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/id/tax/income/main/standard/dep_stdded_addition.yaml @@ -0,0 +1,10 @@ +description: Idaho addition to earned income to calculate standard deduction if you can be claimed as a dependent and earned income is more than $750. +values: + 2022-01-01: 400 +metadata: + unit: currency-USD + period: year + label: Dependent earned income addition for standard deduction + reference: + - title: Idaho Form 40, Individual Income Tax Return and Instructions 2022, page 8 + href: https://tax.idaho.gov/wp-content/uploads/forms/EFO00089/EFO00089_12-30-2022.pdf diff --git a/fiscalsim_us/parameters/gov/states/id/tax/income/main/head_of_household.yaml b/fiscalsim_us/parameters/gov/states/id/tax/income/main/standard/head_of_household.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/id/tax/income/main/head_of_household.yaml rename to fiscalsim_us/parameters/gov/states/id/tax/income/main/standard/head_of_household.yaml diff --git a/fiscalsim_us/parameters/gov/states/id/tax/income/main/joint.yaml b/fiscalsim_us/parameters/gov/states/id/tax/income/main/standard/joint.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/id/tax/income/main/joint.yaml rename to fiscalsim_us/parameters/gov/states/id/tax/income/main/standard/joint.yaml diff --git a/fiscalsim_us/parameters/gov/states/id/tax/income/main/separate.yaml b/fiscalsim_us/parameters/gov/states/id/tax/income/main/standard/separate.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/id/tax/income/main/separate.yaml rename to fiscalsim_us/parameters/gov/states/id/tax/income/main/standard/separate.yaml diff --git a/fiscalsim_us/parameters/gov/states/id/tax/income/main/single.yaml b/fiscalsim_us/parameters/gov/states/id/tax/income/main/standard/single.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/id/tax/income/main/single.yaml rename to fiscalsim_us/parameters/gov/states/id/tax/income/main/standard/single.yaml diff --git a/fiscalsim_us/parameters/gov/states/id/tax/income/main/widow.yaml b/fiscalsim_us/parameters/gov/states/id/tax/income/main/standard/widow.yaml similarity index 100% rename from fiscalsim_us/parameters/gov/states/id/tax/income/main/widow.yaml rename to fiscalsim_us/parameters/gov/states/id/tax/income/main/standard/widow.yaml diff --git a/fiscalsim_us/parameters/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction.yaml b/fiscalsim_us/parameters/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction.yaml new file mode 100644 index 000000000..3047d4003 --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction.yaml @@ -0,0 +1,19 @@ +description: Idaho alternative energy device deduction percentages. +metadata: + period: year + unit: currency-USD + breakdown: + - year aquired + reference: + - title: Form 39R 2022 Residential Supplemental Schedule, Part B Line 5 + href: https://tax.idaho.gov/wp-content/uploads/forms/EFO00088/EFO00088_12-30-2022.pdf + +# Sum amounts and take minimimum of deduction or $5,000 +2022: + 2022-01-01: .40 +2021: + 2022-01-01: .20 +2020: + 2022-01-01: .20 +2019: + 2022-01-01: .20 diff --git a/fiscalsim_us/parameters/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_limit.yaml b/fiscalsim_us/parameters/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_limit.yaml new file mode 100644 index 000000000..28c98bbcb --- /dev/null +++ b/fiscalsim_us/parameters/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_limit.yaml @@ -0,0 +1,10 @@ +description: Idaho alternative energy device deduction limit. +values: + 2022-01-01: 5000 +metadata: + unit: currency-USD + period: year + label: Idaho deduction limit for alternative energy device deduction + reference: + - title: Idaho Form 39R, Residential Supplemental Schedule and Instructions 2022 + href: https://tax.idaho.gov/wp-content/uploads/forms/EFO00088/EFO00088_12-30-2022.pdf diff --git a/fiscalsim_us/parameters/gov/states/id/tax/income/subtractions/subtractions.yaml b/fiscalsim_us/parameters/gov/states/id/tax/income/subtractions/subtractions.yaml index fb13d13ab..97a4324cf 100644 --- a/fiscalsim_us/parameters/gov/states/id/tax/income/subtractions/subtractions.yaml +++ b/fiscalsim_us/parameters/gov/states/id/tax/income/subtractions/subtractions.yaml @@ -6,12 +6,20 @@ values: - taxable_social_security # (5) - military_service_income # (4) - workers_compensation # (13) + 2022-01-01: + - salt_refund_income # (2) + - us_govt_interest # (3) + - alt_energy_device_deduction # (5) + - taxable_social_security # (7) + - workers_compensation # (20) metadata: unit: list references: - title: 2022 Idaho CodeSection 63-3022D - deduction of expenses for household and dependent care services href: https://law.justia.com/codes/idaho/2022/title-63/chapter-30/section-63-3022d/ + - title: 2022 Idaho Form 39R + href: https://tax.idaho.gov/wp-content/uploads/forms/EFO00088/EFO00088_03-01-2023.pdf - title: Individual Income Tax Forms and Instructions 2021 href: https://tax.idaho.gov/wp-content/uploads/forms/EIN00046/EIN00046_11-15-2021.pdf#page=30 - title: Section 35.01.01.254 - (5) / (3) (a) diff --git a/fiscalsim_us/variables/gov/states/id/tax/income/id_additions.py b/fiscalsim_us/variables/gov/states/id/tax/income/id_additions.py index 6c41a27e2..94562d291 100644 --- a/fiscalsim_us/variables/gov/states/id/tax/income/id_additions.py +++ b/fiscalsim_us/variables/gov/states/id/tax/income/id_additions.py @@ -2,9 +2,20 @@ class id_additions(Variable): + """ + Section A on Idaho 2022 Form 39R. These additions to income include: + + * Federal net operating loss deduction + * Capital loss carryover incurred outside the state before becoming an Idaho resident + * Non-Idaho state and local bond interest and dividends + * Idaho college savings account withdrawal + * Bonus Depreciation + """ + value_type = float entity = TaxUnit label = "Idaho additions" unit = USD definition_period = YEAR + reference = "https://tax.idaho.gov/wp-content/uploads/forms/EFO00089/EFO00089_12-30-2022.pdf" defined_for = StateCode.ID diff --git a/fiscalsim_us/variables/gov/states/id/tax/income/id_agi.py b/fiscalsim_us/variables/gov/states/id/tax/income/id_agi.py index c2166a080..0e98822fd 100644 --- a/fiscalsim_us/variables/gov/states/id/tax/income/id_agi.py +++ b/fiscalsim_us/variables/gov/states/id/tax/income/id_agi.py @@ -10,4 +10,4 @@ class id_agi(Variable): defined_for = StateCode.ID adds = ["id_additions", "adjusted_gross_income"] - subtracts = ["id_subtractions"] + subtracts = ["id_subtractions", "alt_energy_device_deduction"] diff --git a/fiscalsim_us/variables/gov/states/id/tax/income/id_income_tax_before_refundable_credits.py b/fiscalsim_us/variables/gov/states/id/tax/income/id_income_tax_before_refundable_credits.py index f72e14d8d..01187a4b6 100644 --- a/fiscalsim_us/variables/gov/states/id/tax/income/id_income_tax_before_refundable_credits.py +++ b/fiscalsim_us/variables/gov/states/id/tax/income/id_income_tax_before_refundable_credits.py @@ -14,4 +14,4 @@ def formula(tax_unit, period, parameters): "id_income_tax_before_non_refundable_credits", period ) non_refundable_credits = tax_unit("id_non_refundable_credits", period) - return max_(before_non_refundable_credits - non_refundable_credits, 0) + return max(before_non_refundable_credits - non_refundable_credits, 0) diff --git a/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_cost_2019.py b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_cost_2019.py new file mode 100644 index 000000000..b588e91a5 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_cost_2019.py @@ -0,0 +1,9 @@ +from fiscalsim_us.model_api import * + + +class alt_energy_device_cost_2019(Variable): + value_type = float + entity = TaxUnit + label = "Idaho Qualifying Alternative Energy Device Cost 2019" + documentation = "Cost of Idaho qualifying alternative energy device 2019" + definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_cost_2020.py b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_cost_2020.py new file mode 100644 index 000000000..83a8f8063 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_cost_2020.py @@ -0,0 +1,9 @@ +from fiscalsim_us.model_api import * + + +class alt_energy_device_cost_2020(Variable): + value_type = float + entity = TaxUnit + label = "Idaho Qualifying Alternative Energy Device Cost 2020" + documentation = "Cost of Idaho qualifying alternative energy device 2020" + definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_cost_2021.py b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_cost_2021.py new file mode 100644 index 000000000..35d8959cc --- /dev/null +++ b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_cost_2021.py @@ -0,0 +1,9 @@ +from fiscalsim_us.model_api import * + + +class alt_energy_device_cost_2021(Variable): + value_type = float + entity = TaxUnit + label = "Idaho Qualifying Alternative Energy Device Cost 2021" + documentation = "Cost of Idaho qualifying alternative energy device 2021" + definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_cost_2022.py b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_cost_2022.py new file mode 100644 index 000000000..2ac066400 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_cost_2022.py @@ -0,0 +1,9 @@ +from fiscalsim_us.model_api import * + + +class alt_energy_device_cost_2022(Variable): + value_type = float + entity = TaxUnit + label = "Idaho Qualifying Alternative Energy Device Cost 2022" + documentation = "Cost of Idaho qualifying alternative energy device 2022" + definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction.py b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction.py new file mode 100644 index 000000000..c42c0e7b0 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction.py @@ -0,0 +1,30 @@ +from fiscalsim_us.model_api import * + + +class alt_energy_device_deduction(Variable): + value_type = float + entity = TaxUnit + label = "Idaho Alternative Energy Device Deduction" + unit = USD + definition_period = YEAR + + def formula(tax_unit, period, parameters): + p = parameters( + period + ).gov.states.id.tax.income.subtractions.id_alt_energy_device_deduction + limit = p.alt_energy_device_deduction_limit + cost_19 = tax_unit("alt_energy_device_cost_2019", period) + cost_20 = tax_unit("alt_energy_device_cost_2020", period) + cost_21 = tax_unit("alt_energy_device_cost_2021", period) + cost_22 = tax_unit("alt_energy_device_cost_2022", period) + portion_deductible = p.alt_energy_device_deduction[year] + + # Multiply percentage by device and sum + deduction_2019 = cost_19 * portion_deductible + deduction_2020 = cost_20 * portion_deductible + deduction_2021 = cost_21 * portion_deductible + deduction_2022 = cost_22 * portion_deductible + deduction_total = ( + deduction_2019 + deduction_2020 + deduction_2021 + deduction_2022 + ) + return min(deduction_total, limit) diff --git a/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_2019.py b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_2019.py new file mode 100644 index 000000000..3a2074e97 --- /dev/null +++ b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_2019.py @@ -0,0 +1,9 @@ +from fiscalsim_us.model_api import * + + +class alt_energy_device_2019(Variable): + value_type = bool + entity = TaxUnit + label = "Idaho Qualifying Alternative Energy Device 2019" + documentation = "Idaho qualifying alternative energy device 2019" + definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_2020.py b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_2020.py new file mode 100644 index 000000000..bc03559eb --- /dev/null +++ b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_2020.py @@ -0,0 +1,9 @@ +from fiscalsim_us.model_api import * + + +class alt_energy_device_2020(Variable): + value_type = bool + entity = TaxUnit + label = "Idaho Qualifying Alternative Energy Device 2020" + documentation = "Idaho qualifying alternative energy device 2020" + definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_2021.py b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_2021.py new file mode 100644 index 000000000..baceb47bc --- /dev/null +++ b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_2021.py @@ -0,0 +1,9 @@ +from fiscalsim_us.model_api import * + + +class alt_energy_device_2021(Variable): + value_type = bool + entity = TaxUnit + label = "Idaho Qualifying Alternative Energy Device 2021" + documentation = "Idaho qualifying alternative energy device 2021" + definition_period = YEAR diff --git a/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_2022.py b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_2022.py new file mode 100644 index 000000000..602fa226c --- /dev/null +++ b/fiscalsim_us/variables/gov/states/id/tax/income/subtractions/id_alt_energy_device_deduction/alt_energy_device_deduction_2022.py @@ -0,0 +1,9 @@ +from fiscalsim_us.model_api import * + + +class alt_energy_device_2022(Variable): + value_type = bool + entity = TaxUnit + label = "Idaho Qualifying Alternative Energy Device 2022" + documentation = "Idaho qualifying alternative energy device 2022" + definition_period = YEAR