Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- bump: patch
changes:
fixed:
- Fix New Jersey gross income computation.
12 changes: 12 additions & 0 deletions policyengine_us/parameters/gov/states/nj/tax/income/additions.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
description: New Jersey additions to gross income. These are amounts added back to gross income that may have been excluded or deducted for federal purposes.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: New Jersey additions to gross income. These are amounts added back to gross income that may have been excluded or deducted for federal purposes.
description: New Jersey counts these sources as additions to gross income.

metadata:
unit: list
period: year
label: New Jersey additions to gross income
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
label: New Jersey additions to gross income
label: New Jersey gross income additions

reference:
- title: NJ Statute 54A:5-1 - Additions to gross income
href: https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/
- title: NJ-1040 Tax Form, Lines 28-38
href: https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf
values:
2021-01-01: [] # Currently no additions implemented; update as needed
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
description: New Jersey income sources that comprise gross income.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: New Jersey income sources that comprise gross income.
description: New Jersey counts the following sources as gross income.

metadata:
unit: list
period: year
label: New Jersey gross income sources
reference:
- title: NJ Statute 54A:5-1 - Gross income defined
href: https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/
- title: NJ-1040 Tax Form
href: https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf
values:
2021-01-01:
- employment_income # Line 15: Wages, salaries, tips (Category a)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

irs_employment_income -? Not 100% sure

- taxable_interest_income # Line 16a: Interest (Category e)
- dividend_income # Line 17: Dividends (Category f)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

qualified and non-qualified?

- self_employment_income # Line 18: Net business profits (Category b)
- farm_income # Line 18: Farm income (Category b)
- long_term_capital_gains # Line 19: Long-term capital gains (Category c)
- short_term_capital_gains # Line 19: Short-term capital gains (Category c)
- taxable_pension_income # Line 20a: Pensions (Category j)
- taxable_ira_distributions # Line 20a: IRA distributions (Category j)
- partnership_s_corp_income # Lines 21-22: Partnership & S-corp (Categories k, p)
- rental_income # Line 23: Rents, royalties (Category d)
- gambling_winnings # Line 24: Gambling (Category g)
- alimony_income # Line 25: Alimony received (Category n)
- miscellaneous_income # Line 26: Other income
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
- name: 1 Test basic formula
period: 2021
input:
adjusted_gross_income_person: [10_000]
nj_additions: [1_000]
nj_agi_subtractions: [2_000]
employment_income: [10_000]
state_code: NJ
output:
nj_agi: 9_000
nj_total_income: 10_000
nj_agi: 10_000

- name: 2 Test that NJ AGI cannot be negative
period: 2021
input:
adjusted_gross_income: 10_000
nj_additions: 1_000
nj_agi_subtractions: 20_000
employment_income: [5_000]
taxable_interest_income: [5_000]
state_code: NJ
output:
nj_agi: 0
nj_total_income: 10_000
nj_agi: 10_000

- name: 3 NJ taxpayer with taxable pension income
absolute_error_margin: 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,14 @@
class nj_additions(Variable):
value_type = float
entity = Person
label = "New Jersey additions to federal AGI by person"
label = "New Jersey additions to gross income"
unit = USD
documentation = "Additions to federal AGI to get NJ total income."
documentation = "Additions to New Jersey gross income per NJ Statute 54A:5-1. These are amounts added back to gross income that may have been excluded or deducted for federal purposes."
definition_period = YEAR
reference = "https://law.justia.com/codes/new-jersey/2022/title-54/section-54-8a-36/"
reference = (
"https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/",
"https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf", # Lines 28-38
)
defined_for = StateCode.NJ

adds = "gov.states.nj.tax.income.additions"
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from policyengine_us.model_api import *


class nj_gross_income(Variable):
value_type = float
entity = Person
label = "New Jersey gross income"
unit = USD
documentation = "Gross income calculated from specific income categories per NJ statute, before additions and subtractions. This is built from gross income sources, not federal AGI."
definition_period = YEAR
reference = (
"https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/",
"https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf", # Lines 15-27
)
defined_for = StateCode.NJ

adds = "gov.states.nj.tax.income.gross_income_sources"
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,20 @@
class nj_total_income(Variable):
value_type = float
entity = Person
label = "New Jersey total income by person"
label = "New Jersey total income"
unit = USD
documentation = "New Jersey total income calculated as gross income plus additions minus subtractions per NJ Statute 54A:5-1. This is the income base before exclusions."
definition_period = YEAR
reference = "https://law.justia.com/codes/new-jersey/2022/title-54/section-54-8a-36/"
reference = (
"https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/",
"https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf",
)
defined_for = StateCode.NJ

def formula(person, period, parameters):
agi = person("adjusted_gross_income_person", period)
nj_additions = person("nj_additions", period)
nj_subtractions = person("nj_agi_subtractions", period)
return max_(0, agi + nj_additions - nj_subtractions)
# NJ Total Income = Gross Income + Additions - Subtractions
# Per NJ Statute 54A:5-1 and Form NJ-1040
gross_income = person("nj_gross_income", period)
additions = person("nj_additions", period)
subtractions = person("nj_agi_subtractions", period)
return max_(0, gross_income + additions - subtractions)