Skip to content

Commit

Permalink
Updated ND 2023 tax rules
Browse files Browse the repository at this point in the history
  • Loading branch information
XZ-mabel committed Apr 2, 2024
1 parent de3332a commit 48da7ec
Show file tree
Hide file tree
Showing 11 changed files with 237 additions and 12 deletions.
2 changes: 1 addition & 1 deletion changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
- bump: minor
changes:
added:
- North Dakota 2023 tax rules.
- North Dakota 2023 tax rules.
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@ metadata:
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2021-iit/2021-individual-income-tax-booklet.pdf#page=16
- title: 2022 ND income tax form and instruction booklet, lines 20 and 22
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2022-iit/2022-individual-income-tax-booklet.pdf#page=16
- title: 2023 ND income tax form and instruction booklet, Marriage Penalty Credit Worksheet line 22
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2023-iit/2023-individual-income-tax-booklet.pdf#page=16
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ metadata:
period: year
reference:
- title: 2021 ND income tax form and instruction booklet, line 20
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2021-iit/individual-income-tax-booklet-2021.pdf#page14
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2021-iit/individual-income-tax-booklet-2021.pdf#page=14
- title: 2022 ND income tax form and instruction booklet, line 20
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2022-iit/2022-individual-income-tax-booklet.pdf#page14
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2022-iit/2022-individual-income-tax-booklet.pdf#page=14
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ metadata:
period: year
reference:
- title: 2021 ND income tax form and instruction booklet, line 20
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2021-iit/individual-income-tax-booklet-2021.pdf#page14
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2021-iit/individual-income-tax-booklet-2021.pdf#page=14
- title: 2022 ND income tax form and instruction booklet, line 20
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2022-iit/2022-individual-income-tax-booklet.pdf#page14
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2022-iit/2022-individual-income-tax-booklet.pdf#page=14
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@ description: North Dakota subtracts this fraction of long-term capital gains fro
values:
2021-01-01: 0.40
2022-01-01: 0.40
2023-01-01: 0.40

metadata:
label: fraction of long-term capital gains that can be subtracted from taxable income
unit: /1
period: year
reference:
- title: 2021 ND income tax form and instruction booklet, line 7
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2021-iit/individual-income-tax-booklet-2021.pdf#page12
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2021-iit/individual-income-tax-booklet-2021.pdf#page=12
- title: 2022 ND income tax form and instruction booklet, line 7
href: https://www.tax.nd.gov/sites/www/files/documents/forms/2022-individual-income-tax-booklet.pdf#page12
href: https://www.tax.nd.gov/sites/www/files/documents/forms/2022-individual-income-tax-booklet.pdf#page=12
- title: 2023 ND income tax form and instruction booklet, line 6
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2023-iit/2023-individual-income-tax-booklet.pdf#page14
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2023-iit/2023-individual-income-tax-booklet.pdf#page=14
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ metadata:
period: year
reference:
- title: 2021 ND income tax form and instruction booklet, line 13
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2021-iit/individual-income-tax-booklet-2021.pdf#page13
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2021-iit/individual-income-tax-booklet-2021.pdf#page=13
- title: 2022 ND income tax form and instruction booklet, line 13
href: https://www.tax.nd.gov/sites/www/files/documents/forms/2022-individual-income-tax-booklet.pdf#page13
href: https://www.tax.nd.gov/sites/www/files/documents/forms/2022-individual-income-tax-booklet.pdf#page=13
- title: 2023 ND income tax form and instruction booklet, line 13
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2023-iit/2023-individual-income-tax-booklet.pdf#page15
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2023-iit/2023-individual-income-tax-booklet.pdf#page=15
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ values:
- nd_qdiv_subtraction # qualified dividends
- taxable_social_security

2023-01-01:
- us_govt_interest
- nd_ltcg_subtraction # long-term capital gains
- nd_qdiv_subtraction # qualified dividends
- nd_military_pay_exclusion

metadata:
unit: variable
label: ND subtractions from US taxable income
Expand All @@ -19,4 +25,4 @@ metadata:
- title: 2022 ND income tax instructions, lines 6, 7, 13, 15
href: https://www.tax.nd.gov/sites/www/files/documents/forms/2022-individual-income-tax-booklet.pdf#page=14
- title: 2023 ND income tax form and instruction booklet, line 5,6,13, 15
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2023-iit/2023-individual-income-tax-booklet.pdf#page15
href: https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2023-iit/2023-individual-income-tax-booklet.pdf#page=15
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,142 @@
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
nd_income_tax_before_credits: 11_316.07

- name: ND income tax before credits unit test 3 (JOINT)
period: 2023
input:
filing_status: JOINT
nd_taxable_income: 74_750
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
nd_income_tax_before_credits: 0

- name: ND income tax before credits unit test 4 (JOINT)
period: 2023
input:
filing_status: JOINT
nd_taxable_income: 84_750
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
#(84750-74750)*0.0195 = 195
nd_income_tax_before_credits: 195

- name: ND income tax before credits unit test 5 (JOINT)
period: 2023
input:
filing_status: JOINT
nd_taxable_income: 275_200
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
#(275200-275100)*0.0250 + 3906.83 = 3909.33
nd_income_tax_before_credits: 3_909.33

- name: ND income tax before credits unit test 6 (SINGLE)
period: 2023
input:
filing_status: SINGLE
nd_taxable_income: 44_724
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
nd_income_tax_before_credits: 0

- name: ND income tax before credits unit test 7 (SINGLE)
period: 2023
input:
filing_status: SINGLE
nd_taxable_income: 45_725
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
nd_income_tax_before_credits: 19.5

- name: ND income tax before credits unit test 8 (SINGLE)
period: 2023
input:
filing_status: SINGLE
nd_taxable_income: 226_975
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
nd_income_tax_before_credits: 3_559.38

- name: ND income tax before credits unit test 9 (SEPARATE)
period: 2023
input:
filing_status: SEPARATE
nd_taxable_income: 37_374
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
nd_income_tax_before_credits: 0

- name: ND income tax before credits unit test 10 (SEPARATE)
period: 2023
input:
filing_status: SEPARATE
nd_taxable_income: 47_375
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
nd_income_tax_before_credits: 1_950

- name: ND income tax before credits unit test 11 (SEPARATE)
period: 2023
input:
filing_status: SEPARATE
nd_taxable_income: 147_550
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
nd_income_tax_before_credits: 4_453.41

- name: ND income tax before credits unit test 12 (HEAD)
period: 2023
input:
filing_status: HEAD_OF_HOUSEHOLD
nd_taxable_income: 59_949
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
nd_income_tax_before_credits: 0

- name: ND income tax before credits unit test 13 (HEAD)
period: 2023
input:
filing_status: HEAD_OF_HOUSEHOLD
nd_taxable_income: 69_950
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
nd_income_tax_before_credits: 1_950

- name: ND income tax before credits unit test 14 (HEAD)
period: 2023
input:
filing_status: HEAD_OF_HOUSEHOLD
nd_taxable_income: 260_550
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
nd_income_tax_before_credits: 6_216.7

- name: ND income tax before credits unit test 15 (WIDOW)
period: 2023
input:
filing_status: WIDOW
nd_taxable_income: 74_750
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
nd_income_tax_before_credits: 0

- name: ND income tax before credits unit test 16 (WIDOW)
period: 2023
input:
filing_status: WIDOW
nd_taxable_income: 84_750
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
#(84750-74750)*0.0195 = 195
nd_income_tax_before_credits: 195

- name: ND income tax before credits unit test 17 (WIDOW)
period: 2023
input:
filing_status: WIDOW
nd_taxable_income: 275_200
state_code: ND
output: # hand calculated to avoid whole-dollar rounding problems
#(275200-275100)*0.0250 + 3906.83 = 3909.33
nd_income_tax_before_credits: 3_909.33
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,12 @@
state_code: ND
output:
nd_income_tax_before_refundable_credits: 0

- name: ND income tax before refundable credits unit test 3
period: 2023
input:
nd_income_tax_before_credits: 900
nd_nonrefundable_credits: 950
state_code: ND
output:
nd_income_tax_before_refundable_credits: 0
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,56 @@
nd_taxable_income: 354_100
nd_income_tax_before_credits: 7_356.02
nd_mpc: 208 # capped at maximum credit amount


- name: ND marriage-penalty credit unit test 3
absolute_error_margin: 0.01
period: 2023
input:
people:
person1:
is_tax_unit_head: true
age: 41
irs_employment_income: 200_000
person2:
is_tax_unit_spouse: true
age: 41
irs_employment_income: 180_000
spm_units:
spm_unit:
members: [person1, person2]
tax_units:
tax_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: ND
output:
nd_mpc: 0

- name: ND marriage-penalty credit unit test 4
absolute_error_margin: 0.01
period: 2023
input:
people:
person1:
is_tax_unit_head: true
age: 41
irs_employment_income: 90_000
person2:
is_tax_unit_spouse: true
age: 41
irs_employment_income: 80_000
spm_units:
spm_unit:
members: [person1, person2]
tax_units:
tax_unit:
members: [person1, person2]
households:
household:
members: [person1, person2]
state_code: ND
output:
nd_mpc: 287 # capped at maximum credit amount
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from policyengine_us.model_api import *


class nd_military_pay_exclusion(Variable):
value_type = float
entity = TaxUnit
label = "North Dakota military pay exclusion"
unit = USD
definition_period = YEAR
defined_for = StateCode.ND
reference = "https://www.tax.nd.gov/sites/www/files/documents/forms/individual/2023-iit/2023-individual-income-tax-booklet.pdf#page=15"

def formula(tax_unit, period, parameters):
military_pay = add(tax_unit, period, ["military_service_income"])
return military_pay

0 comments on commit 48da7ec

Please sign in to comment.