Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Georgia tax logic #73

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
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
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.2.7] - 2023-11-14 17:00:00

### Added

- Updates Georgia tax logic for credits and additions/ subtractions

## [0.2.6] - 2023-11-14 17:00:00

### Added
Expand Down Expand Up @@ -191,6 +197,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- First prototype version based off of openfisca-us and tax-calculator.


[0.2.7]: https://github.com/TheCGO/fiscalsim-us/compare/v0.2.6...v0.2.7
[0.2.6]: https://github.com/TheCGO/fiscalsim-us/compare/v0.2.5...v0.2.6
[0.2.5]: https://github.com/TheCGO/fiscalsim-us/compare/v0.2.4...v0.2.5
[0.2.4]: https://github.com/TheCGO/fiscalsim-us/compare/v0.2.3...v0.2.4
Expand Down
4 changes: 4 additions & 0 deletions changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -174,3 +174,7 @@
added:
- Updates Montana tax logic
date: 2023-11-14 17:00:00
- bump: patch
changes:
added:
- Updates Georgia tax logic for credits and additions/ subtractions
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ description: Georgia adds these variables to the federal taxable income when com
values:
2021-01-01:
- form_4972_lumpsum_distributions
- ga_nol_carryover_addition
- ga_other_additions

metadata:
unit: list
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
description: Georgia nonrefundable credits
values:
2021-01-01:
- ga_low_income_credit
- ga_other_nonrefundable_credits
- ga_cdcc
- ga_series100_nonrefundable_credits

metadata:
unit: list
label: Georgia nonrefundable credits
reference:
- title: 2022 Form 500 Instructions
href: https://apps.dor.ga.gov/FillableForms/PDFViewer/Index?form=2022GA500
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
description: Georgia refundable credits
values:
2021-01-01:
- ga_series100_refundable_credits

metadata:
unit: list
label: Georgia refundable credits
reference:
- title: 2022 Form 500 Instructions
href: https://apps.dor.ga.gov/FillableForms/PDFViewer/Index?form=2022GA500
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
description: Georgia only allows subtraction for NOL up to this limit of taxable income after personal deductions and exemptions
values:
2019-01-01: .8
metadata:
period: year
unit: /1
label: Georgia NOL limit
reference:
- title: 2022 Form 500 Instructions
href: https://houpl.org/wp-content/uploads/2023/01/2022-IT-511_Individual_Income_Tax_-Booklet-compressed.pdf#page=12
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ values:
- ga_retirement_exclusion
- ga_military_retirement_exclusion
- taxable_social_security
- ga_investment_in_529_plan_deduction
- ga_investment_in_529_plan_deduction
- ga_other_subtractions


metadata:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
- name: nonrefundable credits less than taxable income
period: 2022
input:
ga_taxable_income: 3_000
ga_nonrefundable_credits: 30
filing_status: SINGLE
state_code: GA
output:
ga_income_tax_before_refundable_credits: 30

- name: Nonrefundable credits more than taxable income
period: 2022
input:
ga_taxable_income: 3_000
ga_nonrefundable_credits: 100
filing_status: SINGLE
state_code: GA
output:
ga_income_tax_before_refundable_credits: 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
- name: Only refundable credits
period: 2022
input:
ga_taxable_income: 3_000
ga_nonrefundable_credits: 0
ga_refundable_credits: 100
filing_status: SINGLE
state_code: GA
output:
ga_income_tax: -40

- name: Both nonrefundable and refundable credits
period: 2022
input:
ga_taxable_income: 3_000
ga_nonrefundable_credits: 100
ga_refundable_credits: 100
filing_status: SINGLE
state_code: GA
output:
ga_income_tax: -100
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
filing_status: SINGLE
state_code: GA
output:
ga_income_tax_before_refundable_credits: 60
ga_income_tax_before_credits: 60

- name: Single filer w/o income
period: 2022
Expand All @@ -14,7 +14,7 @@
filing_status: SINGLE
state_code: GA
output:
ga_income_tax_before_refundable_credits: 0
ga_income_tax_before_credits: 0

- name: Joint filer
period: 2022
Expand All @@ -23,7 +23,7 @@
filing_status: JOINT
state_code: GA
output:
ga_income_tax_before_refundable_credits: 12
ga_income_tax_before_credits: 12

- name: Separate filer
period: 2022
Expand All @@ -32,7 +32,7 @@
filing_status: SEPARATE
state_code: GA
output:
ga_income_tax_before_refundable_credits: 7
ga_income_tax_before_credits: 7

- name: Head of household filer
period: 2022
Expand All @@ -41,4 +41,4 @@
filing_status: HEAD_OF_HOUSEHOLD
state_code: GA
output:
ga_income_tax_before_refundable_credits: 12
ga_income_tax_before_credits: 12
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from fiscalsim_us.model_api import *


class ga_nol_carryover_addition(Variable):
value_type = float
entity = TaxUnit
label = "Georgia addition to incone for net operating loss carryover deducted on federal return"
unit = USD
definition_period = YEAR
reference = "https://houpl.org/wp-content/uploads/2023/01/2022-IT-511_Individual_Income_Tax_-Booklet-compressed.pdf#page=34"
defined_for = StateCode.GA
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from fiscalsim_us.model_api import *


class ga_other_additions(Variable):
value_type = float
entity = TaxUnit
label = "Georgia other additions to incone"
unit = USD
definition_period = YEAR
reference = "https://houpl.org/wp-content/uploads/2023/01/2022-IT-511_Individual_Income_Tax_-Booklet-compressed.pdf#page=34"
defined_for = StateCode.GA

# For line 5 of Georgia tax form 500 Schedule 1
# Also a catch-all for any non-implemented additions
# Such as interest on non-Georgia municipal or state bonds
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
from fiscalsim_us.model_api import *


class ga_nonrefundable_credits(Variable):
"""
Other GA nonrefundable credits. Catch all for credits not
currently implemented. Includes:
- Tax credits from states other than Georgia
The following are from the IND-CR summary worksheet
- Disabled Person Home Purchase or Retrofit Credit
- Georgia National Guard /Air National Guard Credit
- Qualified Caregiving Expense Credit
- Disaster Assistance Credit
- Rural Physicians Credit
- Adoption of a Foster Child Credit for Adoptions Occurring in Taxable
Years Beginning on or After January 1, 2008 and Before January 1, 2021
- Eligible Single-Family Residence Credit
- Community Based Faculty Preceptor Credit
- Adoption of a Foster Child Credit for Adoptions Occurring in Taxable
Years Beginning on or After January 1, 2021
- Teacher Recruitment and Retention Credit
"""

value_type = float
entity = TaxUnit
label = "Georgia nonrefundable credits"
unit = USD
definition_period = YEAR
defined_for = StateCode.GA
adds = "gov.states.ga.tax.income.credits.nonrefundable"
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ class ga_refundable_credits(Variable):
unit = USD
definition_period = YEAR
defined_for = StateCode.GA
adds = "gov.states.ga.tax.income.credits.refundable"
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
from fiscalsim_us.model_api import *


class ga_series100_nonrefundable_credits(Variable):
"""
Georgia nonrefundable Series 100 tax credits. Line 20 Form 500
These credits are claimed using the Form 500 Schedule 2.
A tax unit may only claim series 100 tex credits if they
file online.
These credits include the following with the codes:
102 - Employer’s Credit for Approved Employee Retraining
103 - Employer’s Jobs Tax Credit
104 - Employer’s Credit for Purchasing Child Care
Property
105 - Employer’s Credit for Providing or Sponsoring
Child Care for Employees
106 - Manufacturer’s Investment Tax Credit
107 - Optional Investment Tax Credit
108 - Qualified Transportation Credit (only carryover
can be used)
109 - Low Income Housing Credit
111 - Business Enterprise Vehicle Credit
112 - Research Tax Credit
113 - Headquarters Tax Credit
114 - Port Activity Tax Credit
115 - Bank Tax Credit
116 - Low Emission Vehicle Credit (only carryover can
be used)
117 - Zero Emission Vehicle Credit (only carryover can
be used)
118 - New Facilities Job Credit
119 - Electric Vehicle Charger Credit
120 - New Manufacturing Facilities Property Credit
121 - Historic Rehabilitation Credit for Historic Homes
122 - Film Tax Credit (Use code 133 if the credit is for a
Qualified Interactive Entertainment Production Company)
124 - Land Conservation Credit
125 - Qualified Education Expense Credit
126 - Seed-Capital Fund Credit
128 - Wood Residual Credit
130 - Quality Jobs Tax Credit
131 - Alternate Port Activity Tax Credit
132 - Qualified Investor Tax Credit
133 - Film Tax Credit for a Qualified Interactive Entainment Production Company
135 - Historic Rehabilitation Tax Credit for any Other Certified Structures
136 - Qualified Rurual Hospital Organization Expense Tax Credit
138 - Postproduction Film Tax Credit
139 - Small Postproduction Film Tax Credit
140 - Qualified Education Donation Tax Credit
141 - Musical Tax Credit
142 - Rural Zone Tax Credit
143 - Agribusiness and Rural Jobs Tax Credit
144 - Post- Consumer Waste Materials Tax Credit
145 - Timber Tax Credit
146 - Railroad Track Maintenance Tax Credit
147 - Personal Protective Equipment Manufacturer Jobs Tax Credit
148 - Life Sciences Manufacturing Job Tax Credit
149 - Historic Rehabilitation Tax Credit for Historic Homes and other Certified Structure
"""

value_type = float
entity = TaxUnit
label = "Georgia series 100 nonrefundable credits"
reference = "https://dor.georgia.gov/it-511-individual-income-tax-booklet"
unit = USD
definition_period = YEAR
defined_for = StateCode.GA

# These are really hard to find the specifics since you need to file online
# to get them.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from fiscalsim_us.model_api import *


class ga_series100_refundable_credits(Variable):
"""
Georgia refundable Series 100 tax credits.
These credits are claimed using the Form 500 Schedule 2b.
A tax unit may only claim series 100 tex credits if they
file online.
Currently (in 2022) the only refundable series 100 tax credit
is the Timber Tax Credit (145).
"""

value_type = float
entity = TaxUnit
label = "Georgia series 100 refundable credits"
unit = USD
definition_period = YEAR
defined_for = StateCode.GA
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,16 @@
entity = TaxUnit
label = "Georgia deductions"
unit = USD
reference = "https://dor.georgia.gov/it-511-individual-income-tax-booklet"
definition_period = YEAR
defined_for = StateCode.GA

def formula(tax_unit, period, parameters):
# In GA if the tax unit itemizes their federal returns, then
# they must itemize for their GA return.
# Same for standard deduction
ga_std_deduction = tax_unit("ga_standard_deduction", period)
ga_itemized = tax_unit("ga_itemized_deductions", period)
itemizes = tax_unit("tax_unit_itemizes", period)

Check warning on line 19 in fiscalsim_us/variables/gov/states/ga/tax/income/deductions/ga_deductions.py

View check run for this annotation

Codecov / codecov/patch

fiscalsim_us/variables/gov/states/ga/tax/income/deductions/ga_deductions.py#L17-L19

Added lines #L17 - L19 were not covered by tests

return where(itemizes, ga_itemized, ga_std_deduction)

Check warning on line 21 in fiscalsim_us/variables/gov/states/ga/tax/income/deductions/ga_deductions.py

View check run for this annotation

Codecov / codecov/patch

fiscalsim_us/variables/gov/states/ga/tax/income/deductions/ga_deductions.py#L21

Added line #L21 was not covered by tests
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from fiscalsim_us.model_api import *


class ga_itemized_adjustments(Variable):
value_type = float
entity = TaxUnit
label = "Georgia itemized deductions"
unit = USD
reference = (
"https://apps.dor.ga.gov/FillableForms/PDFViewer/Index?form=2022GA500"
)
definition_period = YEAR
defined_for = StateCode.GA

# Line 12b on GA Tax form 500
# Adjustments for income taxes other than Georgia state taxes that
# are used in calculating federal itemized dedctions
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from fiscalsim_us.model_api import *


class ga_itemized_deductions(Variable):
value_type = float
entity = TaxUnit
label = "Georgia itemized deductions"
unit = USD
definition_period = YEAR
defined_for = StateCode.GA

def formula(tax_unit, period, parameters):
federal_itemized = tax_unit("itemized_deductions_less_salt", period)
adjustments = tax_unit("ga_itemized_adjustments", period)

Check warning on line 14 in fiscalsim_us/variables/gov/states/ga/tax/income/deductions/ga_itemized_deductions.py

View check run for this annotation

Codecov / codecov/patch

fiscalsim_us/variables/gov/states/ga/tax/income/deductions/ga_itemized_deductions.py#L13-L14

Added lines #L13 - L14 were not covered by tests

return federal_itemized - adjustments

Check warning on line 16 in fiscalsim_us/variables/gov/states/ga/tax/income/deductions/ga_itemized_deductions.py

View check run for this annotation

Codecov / codecov/patch

fiscalsim_us/variables/gov/states/ga/tax/income/deductions/ga_itemized_deductions.py#L16

Added line #L16 was not covered by tests
Loading
Loading