PolicyEngine / policyengine-us

The PolicyEngine US Python package contains a rules engine of the US tax-benefit system, and microdata generation for microsimulation analysis.
https://policyengine.org/us
GNU Affero General Public License v3.0
102 stars 175 forks source link

MA excess exemption amount not being subtracted from long-term capital gains income #1356

Closed martinholmer closed 1 year ago

martinholmer commented 2 years ago

The excess (that is, unused) exemption amount is not being subtracted from long-term capital gains. Looking at Massachusetts Form 1 and its instructions for 2021 make it clear that this subtraction should be done. Here is a fragment of Form 1 followed by the line19 instructions to which the form is directing taxpayers.

Screen Shot 2022-09-09 at 2 10 06 PM Screen Shot 2022-09-09 at 2 08 37 PM

The last paragraph makes it clear that a tax unit with no earnings, no interest income, and no short-term capital gains, can subtract its exemption amount from long-term capital gains. Below is a test case that is exactly like that. OpenFisca-US 0.147.3 version does not subtract the $14,200 exemption amount from long-term capital gains, and hence, overestimates MA income tax liability by $710 (which is 5% of $14,200). Here is the test case:

# OpenFisca-US test file derived from r21.ita.csv and r21.ota.csv files
- name: Tax unit with recid 31600 from r21.ita.csv
  absolute_error_margin: 0.01
  period: 2021
  input:
    people:
      person1:
        is_tax_unit_head: 1
        is_tax_unit_spouse: 0
        is_tax_unit_dependent: 0
        age: 72
        ssi: 0
        state_supplement: 0
        wic: 0
        long_term_capital_gains: 91000
      person2:
        is_tax_unit_head: 0
        is_tax_unit_spouse: 1
        is_tax_unit_dependent: 0
        age: 70
        ssi: 0
        state_supplement: 0
        wic: 0
      person3:
        is_tax_unit_head: 0
        is_tax_unit_spouse: 0
        is_tax_unit_dependent: 1
        age: 11
        ssi: 0
        state_supplement: 0
        wic: 0
      person4:
        is_tax_unit_head: 0
        is_tax_unit_spouse: 0
        is_tax_unit_dependent: 1
        age: 20
        ssi: 0
        state_supplement: 0
        wic: 0
      person5:
        is_tax_unit_head: 0
        is_tax_unit_spouse: 0
        is_tax_unit_dependent: 1
        age: 20
        ssi: 0
        state_supplement: 0
        wic: 0
      person6:
        is_tax_unit_head: 0
        is_tax_unit_spouse: 0
        is_tax_unit_dependent: 1
        age: 20
        ssi: 0
        state_supplement: 0
        wic: 0
    spm_units:
      spm_unit:
        members: [person1, person2, person3, person4, person5, person6]
        snap: 0
        tanf: 0
    tax_units:
      tax_unit:
        members: [person1, person2, person3, person4, person5, person6]
        premium_tax_credit: 0
    households:
      household:
        members: [person1, person2, person3, person4, person5, person6]
        state_code: MA
  output:
    ma_income_tax: 3660.00
martinholmer commented 1 year ago

Issue #1356 was resolved by the merge of pull request #1522.