Skip to content

Commit

Permalink
Merge pull request #33 from austinperryfrancis/va
Browse files Browse the repository at this point in the history
Merging
  • Loading branch information
rickecon authored Sep 7, 2023
2 parents eb7df2c + 6158d0f commit aa407c7
Show file tree
Hide file tree
Showing 38 changed files with 905 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: Virginia Individual Exemption Multiplier
values:
2021-01-01:
value: 930
metadata:
unit: Currency-USD
period: year
name: Virginia Individual Exemption Multiplier
label: Virginia Individual Exemption Multiplier
reference:
- title: 2021 Virginia Form 760, Resident Income Tax Return
href: https://www.tax.virginia.gov/forms/search?category=1&year=611
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: Virginia Individual over 65 and blind exemption multiplier
values:
2021-01-01:
value: 800
metadata:
unit: Currency-USD
period: year
name: va_indiv_p65_exemption_multiplier
label: Virginia Individual Exemption Multiplier
reference:
- title: 2021 Virginia Form 760, Resident Income Tax Return
href: https://www.tax.virginia.gov/forms/search?category=1&year=611
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
description: virginia adjusted gross income thresholds
SINGLE:
2021-01-01:
value: 11_950
JOINT:
2021-01-01:
value: 23_900
SEPARATE:
2021-01-01:
value: 11_950
metadata:
unit: currency-USD
period: year
breakdown:
- filing_status
name: va_agi_income_thresholds
label: virginia adjusted gross income thresholds
reference:
- title: VA Form 760 line 9
href: https://www.tax.virginia.gov/sites/default/files/taxforms/individual-income-tax/2021/760-2021.pdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
description: Age deduction for va State tax.
SINGLE:
2021-01-01: 50_000
JOINT:
2021-01-01: 75_000
SEPARATE:
2021-01-01: 75_000
metadata:
unit: currency-USD
period: year
breakdown:
- filing_status
name: va_age_deduction_amount
label: VA age deduction
reference:
- title: va tax age deduction worksheet page 10
href: "https://www.tax.virginia.gov/sites/default/files/vatax-pdf/2021-760-instructions.pdf"
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
description: Age deduction for va State tax.
SINGLE:
2021-01-01: 50_000
JOINT:
2021-01-01: 75_000
SEPARATE:
2021-01-01: 75_000
metadata:
unit: currency-USD
period: year
breakdown:
- filing_status
name: va_age_deduction_amount
label: VA age deduction
reference:
- title: va tax age deduction worksheet page 9
href: "https://www.tax.virginia.gov/sites/default/files/vatax-pdf/2021-760-instructions.pdf"
10 changes: 10 additions & 0 deletions fiscalsim_us/parameters/gov/states/va/tax/income/va_eitc_rate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
description: Virginia matches this percent of the federal Earned Income Tax Credit as a non-refundable credit for filers who are not single and childless.
values:
2022-01-01: 0.2
metadata:
unit: /1
name: va_non_refundable_eitc_match
label: VA non-refundable EITC match
reference:
- title: VA Form 760 instructions page 26
href: https://www.tax.virginia.gov/sites/default/files/vatax-pdf/2022-760-instructions.pdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
description: VA poverty threshold used to calculate EITC.
metadata:
label: poverty threshold used to calculate EITC
name: va_poverty_threshold
type: single_amount
threshold_unit: Eligible Exemptions (Dependents in family)
amount_unit: currency-USD
period: year
reference:
- title: Poverty Guideline Table page 26
href: https://www.tax.virginia.gov/sites/default/files/vatax-pdf/2022-760-instructions.pdf
brackets:
- threshold:
2022-01-01: 1
amount:
2022-01-01: 13_590
- threshold:
2022-01-01: 2
amount:
2022-01-01: 18_310
- threshold:
2022-01-01: 3
amount:
2022-01-01: 23_030
- threshold:
2022-01-01: 4
amount:
2022-01-01: 27_750
- threshold:
2022-01-01: 5
amount:
2022-01-01: 32_470
- threshold:
2022-01-01: 6
amount:
2022-01-01: 37_190
- threshold:
2022-01-01: 7
amount:
2022-01-01: 41_910
- threshold:
2022-01-01: 8
amount:
2022-01-01: 46_630


Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
description: Standard deduction for va State tax.
SINGLE:
2021-01-01: 4_500
JOINT:
2021-01-01: 9_000
SEPARATE:
2021-01-01: 4_500
metadata:
unit: currency-USD
period: year
breakdown:
- filing_status
name: va_standard_deduction_amount
label: VA standard deduction
reference:
- title: NY Form IT-201 Instructions, page 19
href: "https://www.tax.virginia.gov/sites/default/files/taxforms/individual-income-tax/2021/schedule-2021.pdf"
28 changes: 28 additions & 0 deletions fiscalsim_us/parameters/gov/states/va/tax/income/va_tax_rates.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
description: Tax rates for all filers in VA.
metadata:
type: marginal_rate
threshold_unit: currency-USD
rate_unit: /1
name: va_income_tax_rates
label: VA State income tax rates
reference:
- title: VA Form 760 Instructions page 33
href: https://www.tax.virginia.gov/sites/default/files/vatax-pdf/2021-760-instructions.pdf
brackets:
- threshold:
2021-01-01: 0
rate:
2021-01-01: 0.02
- threshold:
2021-01-01: 3_000
rate:
2021-01-01: 0.03
- threshold:
2021-01-01: 5_000
rate:
2021-01-01: 0.05
- threshold:
2021-01-01: 17_000
rate:
2021-01-01: 0.0575

Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ class state_income_tax(Variable):
"ok_income_tax",
"or_income_tax",
"pa_income_tax",
"va_income_tax",
"ri_income_tax",
"ut_income_tax",
"wa_income_tax",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,6 @@ class state_income_tax_before_refundable_credits(Variable):
"or_income_tax_before_refundable_credits",
"pa_income_tax", # PA has no refundable credits.
"ut_income_tax_before_refundable_credits",
"va_income_tax_before_refundable_credits",
"wa_income_tax_before_refundable_credits",
]
40 changes: 40 additions & 0 deletions fiscalsim_us/variables/gov/states/va/tax/income/calc_line_14.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
from fiscalsim_us.model_api import *


class calc_line_14(Variable):
value_type = float
entity = TaxUnit
label = "VA interim step to get to total virginia taxable income, line 14 on form 760 https://www.tax.virginia.gov/sites/default/files/taxforms/individual-income-tax/2021/760-2021.pdf"
unit = USD
definition_period = YEAR
defined_for = StateCode.VA

def formula(tax_unit, period, parameters):

# line_11 = tax_unit("va_standard_deduction",period)

filing_status = tax_unit("filing_status", period)

if filing_status == 1:

va_standard_deduction = parameters(
period
).gov.states.va.tax.income.va_standard_deduction.SINGLE

if filing_status == 2:

va_standard_deduction = parameters(
period
).gov.states.va.tax.income.va_standard_deduction.JOINT

if filing_status == 3:

va_standard_deduction = parameters(
period
).gov.states.va.tax.income.va_standard_deduction.SEPARATE

line_12 = tax_unit("va_exemptions", period)

subtotal = va_standard_deduction + line_12

return subtotal
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from fiscalsim_us.model_api import *


class disability_income_reported_as_wages(Variable):
value_type = float
entity = TaxUnit
label = "VA disability income reported as wages - https://www.tax.virginia.gov/sites/default/files/taxforms/individual-income-tax/2021/760-2021.pdf"
unit = USD
definition_period = YEAR
defined_for = StateCode.VA
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from fiscalsim_us.model_api import *


class fixed_date_conformity_additions(Variable):
value_type = float
entity = TaxUnit
label = "Va fixed date conformity additions https://www.tax.virginia.gov/sites/default/files/taxforms/individual-income-tax/2021/schedule-adj-2021.pdf"
unit = USD
definition_period = YEAR
defined_for = StateCode.VA
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from fiscalsim_us.model_api import *


class fixed_date_conformity_subtractions(Variable):
value_type = float
entity = TaxUnit
label = "Va fixed date conformity subtractions https://www.tax.virginia.gov/sites/default/files/taxforms/individual-income-tax/2021/schedule-adj-2021.pdf"
unit = USD
definition_period = YEAR
defined_for = StateCode.VA
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from fiscalsim_us.model_api import *


class income_from_obligations_fed_exempt(Variable):
value_type = float
entity = TaxUnit
label = "VA income from obligations that are federally exempt https://www.tax.virginia.gov/sites/default/files/taxforms/individual-income-tax/2021/schedule-adj-2021.pdf"
unit = USD
definition_period = YEAR
defined_for = StateCode.VA
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from fiscalsim_us.model_api import *


class income_from_obligations_state_exempt(Variable):
value_type = float
entity = TaxUnit
label = "VA income from obligations that are state exempt https://www.tax.virginia.gov/sites/default/files/taxforms/individual-income-tax/2021/schedule-adj-2021.pdf"
unit = USD
definition_period = YEAR
defined_for = StateCode.VA
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
from fiscalsim_us.model_api import *


class va_additions_to_federal_agi(Variable):
value_type = float
entity = TaxUnit
label = "VA additions to federal agi https://www.tax.virginia.gov/sites/default/files/taxforms/individual-income-tax/2021/schedule-adj-2021.pdf"
unit = USD
definition_period = YEAR
defined_for = StateCode.VA

def formula(tax_unit, period, parameters):

income_from_obligations_fed_exempt = tax_unit(
"income_from_obligations_fed_exempt", period
)

fixed_date_conformity_additions = tax_unit(
"fixed_date_conformity_additions", period
)

additions_to_fed_agi = (
income_from_obligations_fed_exempt
+ fixed_date_conformity_additions
)

return additions_to_fed_agi
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
from fiscalsim_us.model_api import *


class va_adj_gross_income(Variable):
value_type = float
entity = TaxUnit
label = "Line 9 on form 760 https://www.tax.virginia.gov/sites/default/files/taxforms/individual-income-tax/2021/760-2021.pdf"
unit = USD
definition_period = YEAR
defined_for = StateCode.VA

def formula(tax_unit, period, parameters):
line3 = tax_unit("va_calc_line_3", period)

line8 = tax_unit("va_calc_line_8", period)

filing_status = tax_unit("filing_status", period)

threshold = parameters(
period
).gov.states.va.tax.income.va_adjusted_gross_income
single = threshold.SINGLE
joint = threshold.JOINT

subtotal = line3 - line8

if filing_status == 1 or filing_status == 3:

if subtotal < single:

tax_owed = 0

return tax_owed

if filing_status == 2:

if subtotal < joint:

tax_owed = 0

return tax_owed

va_adj_gross_income = subtotal

return va_adj_gross_income
Loading

0 comments on commit aa407c7

Please sign in to comment.