Skip to content
1 change: 1 addition & 0 deletions changelog.d/al-agi-exclude-dependents.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Leave tax unit dependents' income and deductions out of Alabama adjusted gross income; dependents report them on their own Alabama returns.
1 change: 1 addition & 0 deletions changelog.d/al-dependent-exemption-boundary.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Pay Alabama's $1,000 dependent exemption at AGI of exactly $20,000 (2021 and before) or $50,000 (2022 on), and $500 at exactly $100,000, as Ala. Code 40-18-19(a)(9) provides.
Original file line number Diff line number Diff line change
@@ -1,30 +1,27 @@
description: Alabama provides these deductions for the state adjusted gross income.
# Alabama adjusted gross income leaves out a tax unit dependent's income and
# deductions, which belong on the dependent's own return (Ala. Code
# §§ 40-18-2(a)(1) and 40-18-27(a); Ala. Admin. Code r. 810-3-27-.01(1)).
values:
2021-01-01:
# IRA distributions prior to 1982 are not deductible.
- traditional_ira_contributions # Line 1
- alimony_expense # Line 4
- early_withdrawal_penalty # Line 5
- self_employed_health_insurance_ald # Line 7
# Alabama AGI counts dependents' income, so their deductions too.
- dependents_self_employed_health_insurance_ald
- health_savings_account_ald # Line 8
- self_employed_pension_contribution_ald # Line 9
- dependents_self_employed_pension_contribution_ald
- us_govt_interest
- us_govt_interest_person
- taxable_public_pension_income
2023-01-01:
# IRA distributions prior to 1982 are not deductible.
- traditional_ira_contributions # Line 1
- alimony_expense # Line 4
- early_withdrawal_penalty # Line 5
- self_employed_health_insurance_ald # Line 7
# Alabama AGI counts dependents' income, so their deductions too.
- dependents_self_employed_health_insurance_ald
- health_savings_account_ald # Line 8
- self_employed_pension_contribution_ald # Line 9
- dependents_self_employed_pension_contribution_ald
- us_govt_interest
- us_govt_interest_person
- al_retirement_exemption #Schedule RS Line 10
- taxable_public_pension_income

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ def formula(tax_unit, period, parameters):
else:
eligible = is_dependent
count = tax_unit.sum(eligible)
per_dependent = where(p.amount < 0, p_base.dependent.calc(al_agi), p.amount)
per_dependent = where(
p.amount < 0, p_base.dependent.calc(al_agi, right=True), p.amount
)
return count * per_dependent

class reform(Reform):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,10 @@ def formula(tax_unit, period, parameters):
overtime_income = person("fsla_overtime_premium", period)
# Cap at per-taxpayer limit per AL HB527 Section 40-18-15(a)(29)
person_capped = min_(overtime_income, p.cap)
return tax_unit.sum(person_capped)
# A dependent's overtime is on the dependent's own return, like the
# rest of their income (see al_agi).
is_dependent = person("is_tax_unit_dependent", period)
return tax_unit.sum(person_capped * ~is_dependent)

class al_agi(Variable):
value_type = float
Expand All @@ -39,8 +42,8 @@ def formula(tax_unit, period, parameters):
period
).gov.states.al.tax.income.agi.gross_income_sources
deductions = parameters(period).gov.states.al.tax.income.agi.deductions
gross_income = add(tax_unit, period, gross_sources)
agi_deductions = add(tax_unit, period, deductions)
gross_income = tax_unit_non_dep_add(tax_unit, period, gross_sources)
agi_deductions = tax_unit_non_dep_add(tax_unit, period, deductions)
base_al_agi = gross_income - agi_deductions
# If HB527 is in effect, subtract the overtime deduction
overtime_deduction = tax_unit("al_hb527_overtime_deduction", period)
Expand Down
Loading
Loading