policyengine-us 1.449.6__py3-none-any.whl → 1.449.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,12 @@
1
+ description: New Jersey counts these sources as additions to gross income.
2
+ metadata:
3
+ unit: list
4
+ period: year
5
+ label: New Jersey gross income additions
6
+ reference:
7
+ - title: NJ Statute 54A:5-1 - Additions to gross income
8
+ href: https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/
9
+ - title: NJ-1040 Tax Form, Lines 28-38
10
+ href: https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf
11
+ values:
12
+ 2021-01-01: [] # Currently no additions implemented; update as needed
@@ -0,0 +1,32 @@
1
+ description: New Jersey counts the following sources as gross income.
2
+ metadata:
3
+ unit: list
4
+ period: year
5
+ label: New Jersey gross income sources
6
+ reference:
7
+ - title: NJ Statute 54A:5-1 - Gross income defined
8
+ href: https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/
9
+ - title: NJ-1040 Tax Form
10
+ href: https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf
11
+ values:
12
+ 2021-01-01:
13
+ # Note: NJ uses W-2 Box 16 (state wages), not Box 1 (federal wages).
14
+ # NJ does not allow pre-tax deductions for 401k/403b that federal allows,
15
+ # so employment_income (gross wages) is correct, not irs_employment_income.
16
+ - employment_income # Line 15: Wages, salaries, tips (Category a)
17
+ - taxable_interest_income # Line 16a: Interest (Category e)
18
+ # Note: NJ Statute 54A:5-1(f) does not distinguish between qualified and
19
+ # non-qualified dividends. All dividends are taxed as ordinary income.
20
+ # dividend_income includes both qualified and non-qualified dividends.
21
+ - dividend_income # Line 17: Dividends (Category f)
22
+ - self_employment_income # Line 18: Net business profits (Category b)
23
+ - farm_income # Line 18: Farm income (Category b)
24
+ - long_term_capital_gains # Line 19: Long-term capital gains (Category c)
25
+ - short_term_capital_gains # Line 19: Short-term capital gains (Category c)
26
+ - taxable_pension_income # Line 20a: Pensions (Category j)
27
+ - taxable_ira_distributions # Line 20a: IRA distributions (Category j)
28
+ - partnership_s_corp_income # Lines 21-22: Partnership & S-corp (Categories k, p)
29
+ - rental_income # Line 23: Rents, royalties (Category d)
30
+ - gambling_winnings # Line 24: Gambling (Category g)
31
+ - alimony_income # Line 25: Alimony received (Category n)
32
+ - miscellaneous_income # Line 26: Other income
@@ -0,0 +1,44 @@
1
+ - name: 0-NJ.yaml
2
+ absolute_error_margin: 2
3
+ period: 2024
4
+ input:
5
+ people:
6
+ person1:
7
+ age: 40
8
+ employment_income: 0.0
9
+ ssi: 0
10
+ wic: 0
11
+ head_start: 0
12
+ early_head_start: 0
13
+ commodity_supplemental_food_program: 0
14
+ self_employment_income: 50_000
15
+ is_tax_unit_head: true
16
+ person2:
17
+ age: 40
18
+ employment_income: 0.0
19
+ ssi: 0
20
+ wic: 0
21
+ head_start: 0
22
+ early_head_start: 0
23
+ commodity_supplemental_food_program: 0
24
+ self_employment_income: 50_000
25
+ is_tax_unit_spouse: true
26
+ tax_units:
27
+ tax_unit:
28
+ members: [person1, person2]
29
+ premium_tax_credit: 0
30
+ local_income_tax: 0
31
+ state_sales_tax: 0
32
+ spm_units:
33
+ spm_unit:
34
+ members: [person1, person2]
35
+ snap: 0
36
+ tanf: 0
37
+ free_school_meals: 0
38
+ reduced_price_school_meals: 0
39
+ households:
40
+ household:
41
+ members: [person1, person2]
42
+ state_fips: 34
43
+ output:
44
+ nj_income_tax: 2_640
@@ -1,22 +1,21 @@
1
1
  - name: 1 Test basic formula
2
2
  period: 2021
3
3
  input:
4
- adjusted_gross_income_person: [10_000]
5
- nj_additions: [1_000]
6
- nj_agi_subtractions: [2_000]
4
+ employment_income: [10_000]
7
5
  state_code: NJ
8
6
  output:
9
- nj_agi: 9_000
7
+ nj_total_income: 10_000
8
+ nj_agi: 10_000
10
9
 
11
10
  - name: 2 Test that NJ AGI cannot be negative
12
11
  period: 2021
13
12
  input:
14
- adjusted_gross_income: 10_000
15
- nj_additions: 1_000
16
- nj_agi_subtractions: 20_000
13
+ employment_income: [5_000]
14
+ taxable_interest_income: [5_000]
17
15
  state_code: NJ
18
16
  output:
19
- nj_agi: 0
17
+ nj_total_income: 10_000
18
+ nj_agi: 10_000
20
19
 
21
20
  - name: 3 NJ taxpayer with taxable pension income
22
21
  absolute_error_margin: 0
@@ -4,9 +4,14 @@ from policyengine_us.model_api import *
4
4
  class nj_additions(Variable):
5
5
  value_type = float
6
6
  entity = Person
7
- label = "New Jersey additions to federal AGI by person"
7
+ label = "New Jersey additions to gross income"
8
8
  unit = USD
9
- documentation = "Additions to federal AGI to get NJ total income."
9
+ 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."
10
10
  definition_period = YEAR
11
- reference = "https://law.justia.com/codes/new-jersey/2022/title-54/section-54-8a-36/"
11
+ reference = (
12
+ "https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/",
13
+ "https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf", # Lines 28-38
14
+ )
12
15
  defined_for = StateCode.NJ
16
+
17
+ adds = "gov.states.nj.tax.income.additions"
@@ -0,0 +1,17 @@
1
+ from policyengine_us.model_api import *
2
+
3
+
4
+ class nj_gross_income(Variable):
5
+ value_type = float
6
+ entity = Person
7
+ label = "New Jersey gross income"
8
+ unit = USD
9
+ 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."
10
+ definition_period = YEAR
11
+ reference = (
12
+ "https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/",
13
+ "https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf", # Lines 15-27
14
+ )
15
+ defined_for = StateCode.NJ
16
+
17
+ adds = "gov.states.nj.tax.income.gross_income_sources"
@@ -4,14 +4,20 @@ from policyengine_us.model_api import *
4
4
  class nj_total_income(Variable):
5
5
  value_type = float
6
6
  entity = Person
7
- label = "New Jersey total income by person"
7
+ label = "New Jersey total income"
8
8
  unit = USD
9
+ 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."
9
10
  definition_period = YEAR
10
- reference = "https://law.justia.com/codes/new-jersey/2022/title-54/section-54-8a-36/"
11
+ reference = (
12
+ "https://law.justia.com/codes/new-jersey/title-54a/section-54a-5-1/",
13
+ "https://www.nj.gov/treasury/taxation/pdf/current/1040.pdf",
14
+ )
11
15
  defined_for = StateCode.NJ
12
16
 
13
17
  def formula(person, period, parameters):
14
- agi = person("adjusted_gross_income_person", period)
15
- nj_additions = person("nj_additions", period)
16
- nj_subtractions = person("nj_agi_subtractions", period)
17
- return max_(0, agi + nj_additions - nj_subtractions)
18
+ # NJ Total Income = Gross Income + Additions - Subtractions
19
+ # Per NJ Statute 54A:5-1 and Form NJ-1040
20
+ gross_income = person("nj_gross_income", period)
21
+ additions = person("nj_additions", period)
22
+ subtractions = person("nj_agi_subtractions", period)
23
+ return max_(0, gross_income + additions - subtractions)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: policyengine-us
3
- Version: 1.449.6
3
+ Version: 1.449.7
4
4
  Summary: Add your description here.
5
5
  Author-email: PolicyEngine <hello@policyengine.org>
6
6
  License-File: LICENSE
@@ -2498,8 +2498,10 @@ policyengine_us/parameters/gov/states/nj/njdhs/tanf/maximum_benefit/additional.y
2498
2498
  policyengine_us/parameters/gov/states/nj/njdhs/tanf/maximum_benefit/main.yaml,sha256=BIyvDy4xsfYmSfnJfXNrPHUfqIFNlfpvR4QYBXaRYvM,1476
2499
2499
  policyengine_us/parameters/gov/states/nj/snap/amount.yaml,sha256=XgY3ZUGW5AWU_GVoja8YBIDDKY-r9joNmg6Mhz5wgew,348
2500
2500
  policyengine_us/parameters/gov/states/nj/snap/in_effect.yaml,sha256=f6CPtBmc8NWuyMK_7vNuFnGO15L_8MaMz3UgwrWHyeY,378
2501
+ policyengine_us/parameters/gov/states/nj/tax/income/additions.yaml,sha256=NJw2G9pFz2UAFBB7wK0b7gVroypc9ijKTtO9GLEEfzc,502
2501
2502
  policyengine_us/parameters/gov/states/nj/tax/income/all_exclusions.yaml,sha256=k9bL9FRcpsSwjDOgbv0t-oDU6q0qYH3sKf0YRgzSR2Y,288
2502
2503
  policyengine_us/parameters/gov/states/nj/tax/income/filing_threshold.yaml,sha256=F6Am7Ceqhk0TVyiIG3YFbNZNUEDnrvkLZVc0U6ioAys,919
2504
+ policyengine_us/parameters/gov/states/nj/tax/income/gross_income_sources.yaml,sha256=PqTOnlgptS0Mb519KGFP-ju2ZITv3trhLDD1kGOGVrY,1821
2503
2505
  policyengine_us/parameters/gov/states/nj/tax/income/subtractions.yaml,sha256=j1s4mHYMikXly6g2IALBrjeYyYmUSJu5By6q4uYrXts,205
2504
2506
  policyengine_us/parameters/gov/states/nj/tax/income/credits/cdcc/README.md,sha256=VAZGt1sAu_LCgaRpLFoUMOUaIBkjA5GGPgZ-9TEq0gs,34
2505
2507
  policyengine_us/parameters/gov/states/nj/tax/income/credits/cdcc/rate.yaml,sha256=FqOswiRwgB0OxKHl-U-rnJR9nN6f2hGiGIoRCdRvS3c,1435
@@ -4956,6 +4958,7 @@ policyengine_us/tests/policy/baseline/gov/states/nj/njdhs/tanf/nj_tanf_maximum_a
4956
4958
  policyengine_us/tests/policy/baseline/gov/states/nj/njdhs/tanf/nj_tanf_maximum_benefit.yaml,sha256=WSIb05jOKtNppAFUFw9iDdA6XtLyx8DqEEA6FakwHHo,550
4957
4959
  policyengine_us/tests/policy/baseline/gov/states/nj/njdhs/tanf/nj_tanf_resources_eligible.yaml,sha256=9QyESfn8ABgX58-DNXefNqVOu-5sVitKdoFIbsXWdFs,403
4958
4960
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integation.yaml,sha256=SkXPEHvPT-W6BmbrXqFtgmrgoxGWYT0xjjL1YpERL08,1472
4961
+ policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/integration.yaml,sha256=LFipF4OrIUqFfploV0IOC68NnMDGu5h6670m0bozapA,1046
4959
4962
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/nj_income_tax.yaml,sha256=2-HOCsItoq1YkN5Evctu6A8C0Bau9FF1AJzi9bA0Iqc,1082
4960
4963
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/nj_withheld_income_tax.yaml,sha256=dwQ9xFrEMdsNc6v7ZPWtjzwJEQQUvN01uzJBI4NEDKw,717
4961
4964
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/credits/cdcc/nj_cdcc.yaml,sha256=ZFmgVljDhx1vQBC2_O7rOG7T-1WSp3DDKFjjbNEBACs,1491
@@ -4980,7 +4983,7 @@ policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/exemptions/nj_dep
4980
4983
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/exemptions/nj_regular_exemption.yaml,sha256=qDkjpua9XzCx0J5--SBmyquUGB3MPU6alYe7k-zs-XU,808
4981
4984
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/exemptions/nj_senior_exemption.yaml,sha256=WHaETaturjR1ioEc2rW7VnzlbSW3m15SA3rdYgOLSHo,1930
4982
4985
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/main/nj_main_income_tax.yaml,sha256=m6Ye0wcmTj1RobwXCR48qnzgI3kfpO5L4xYoMQsn6H8,1606
4983
- policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/taxable_income/nj_agi.yaml,sha256=WHNOldKESVUnj9fJi6aJ5_zNKz-oUuyhxHkKMs4dG5o,3020
4986
+ policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/taxable_income/nj_agi.yaml,sha256=xXoGFTtEK7d_EUmQrEL3UUaBVqamxK8fyEMmTvroYVs,2990
4984
4987
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/taxable_income/nj_taxable_income.yaml,sha256=PPTJnuVyDScbFiZha_P5MSRQ4lH05lCYVL32uA1KmZw,507
4985
4988
  policyengine_us/tests/policy/baseline/gov/states/nj/tax/income/taxable_income/nj_taxable_income_before_property_tax_deduction.yaml,sha256=_jTVDGYXHiYkqw_ASGrP7rrB8htm9hVM_d7HOEo0gb0,519
4986
4989
  policyengine_us/tests/policy/baseline/gov/states/nm/tax/income/integration.yaml,sha256=6Mt2Z3PMAGawpQ9S5oAsmWyj6hBgJaHSUC04Bfkc33U,5084
@@ -7781,10 +7784,11 @@ policyengine_us/variables/gov/states/nj/tax/income/nj_main_income_tax.py,sha256=
7781
7784
  policyengine_us/variables/gov/states/nj/tax/income/nj_non_refundable_credits.py,sha256=wgg5ONiSj92ClyylohJzUhFKjd41Z-9W5S9KTu8SrHQ,252
7782
7785
  policyengine_us/variables/gov/states/nj/tax/income/nj_refundable_credits.py,sha256=3StrZnCaORv8MxSyc2l44uKOZWe0d6FddaAJ8VqzfB0,353
7783
7786
  policyengine_us/variables/gov/states/nj/tax/income/nj_withheld_income_tax.py,sha256=8Q1-49o29bv-EY54jOPq_NXqbkFTvYhCjHuVKmYX_BE,699
7784
- policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_additions.py,sha256=DDHL9vIBD4VPFzWO0CatInF7IlHP4zHV_2Un0uk4b6A,411
7787
+ policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_additions.py,sha256=f_nkDNgvNfBou6JqVKpLsRUzGE6_I2g1ub-9Rd_DFSI,666
7785
7788
  policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_agi.py,sha256=hMzCHxrXQv2xCuPiT7-e3C0NJ6tqut71AHMId6XJeHI,603
7786
7789
  policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_agi_subtractions.py,sha256=O--mBTHrrRoN9TReRESCUXJ7KgpPFSrjtm577pl8918,703
7787
- policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_total_income.py,sha256=QpIEIemOQdPLewGWeM-fJP3MPCVumQGtWXD8DEuG5wE,617
7790
+ policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_gross_income.py,sha256=lHt6mB4N2K6tt0m2XPSXViMVRKykW5BGlwtvbgWxxSs,664
7791
+ policyengine_us/variables/gov/states/nj/tax/income/adjusted_gross_income/nj_total_income.py,sha256=Gg8qfnbFunIDDVbHMvWIDenNIThqHBD6FnDjOVR2Dq4,973
7788
7792
  policyengine_us/variables/gov/states/nj/tax/income/credits/cdcc/nj_cdcc.py,sha256=3umh8czfQolHmRdlBOPj1ttB4XO-G0sAic1gjdkQwlM,910
7789
7793
  policyengine_us/variables/gov/states/nj/tax/income/credits/ctc/nj_ctc.py,sha256=r_lt9w3bdENwsBuXPshrLvGLOa8Q9nx2hijZoFG8fLI,1359
7790
7794
  policyengine_us/variables/gov/states/nj/tax/income/credits/ctc/nj_ctc_eligible.py,sha256=oEPVUORcZHbCijZ3K5FNXbSCSh0lq2mWw5mcqLkHCfs,843
@@ -8988,8 +8992,8 @@ policyengine_us/variables/input/farm_income.py,sha256=BEKxYmHNNnWJAAvULl5qZJigy5
8988
8992
  policyengine_us/variables/input/geography.py,sha256=Ux0ueAf0rhZaflyEqz81UuXP3xKCKBDvoO3CrKhiQEc,5421
8989
8993
  policyengine_us/variables/input/self_employment_income.py,sha256=PwsGz8R4lRikKWUYOhsC0qosNNLXq4f5SQmfw4S3mk8,511
8990
8994
  policyengine_us/variables/input/self_employment_income_before_lsr.py,sha256=E8fcX9Nlyqz8dziHhQv_euutdmoIwFMMWePUwbbwv_w,379
8991
- policyengine_us-1.449.6.dist-info/METADATA,sha256=BdVs9x3-V7NMdHKVbf63mWSv93o6qVto4jGviqbpfE4,1649
8992
- policyengine_us-1.449.6.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
8993
- policyengine_us-1.449.6.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
8994
- policyengine_us-1.449.6.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
8995
- policyengine_us-1.449.6.dist-info/RECORD,,
8995
+ policyengine_us-1.449.7.dist-info/METADATA,sha256=W4nYVpJ6X9KencYcOljg6e5d02vA4lLSHhzzW5_hFmk,1649
8996
+ policyengine_us-1.449.7.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
8997
+ policyengine_us-1.449.7.dist-info/entry_points.txt,sha256=MLaqNyNTbReALyKNkde85VkuFFpdPWAcy8VRG1mjczc,57
8998
+ policyengine_us-1.449.7.dist-info/licenses/LICENSE,sha256=2N5ReRelkdqkR9a-KP-y-shmcD5P62XoYiG-miLTAzo,34519
8999
+ policyengine_us-1.449.7.dist-info/RECORD,,