Skip to content
Merged
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
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fixed the Arkansas inflation relief income-tax credit for married couples filing combined (status 4), which now uses the per-spouse single-filer table (maximum $150, phased out from $87,000) instead of the joint table (maximum $300, phased out from $174,000) split between spouses.
Original file line number Diff line number Diff line change
Expand Up @@ -151,3 +151,51 @@
state_code: AR
output:
ar_inflation_relief_credit_person: [150, 150, 0]

# Married couple filing combined (status 4): each spouse uses the single-filer
# table on their own net income, not the joint table split in half (taxsim #1143).
- name: Married couple filing combined uses the per-spouse single-filer table
period: 2022
input:
people:
person1:
ar_taxable_income_indiv: 90_877
person2:
ar_taxable_income_indiv: 165_258
tax_units:
tax_unit:
members: [person1, person2]
ar_files_separately: true
filing_status: JOINT
households:
household:
members: [person1, person2]
state_code: AR
output:
# person1: $150 - ceil(3,877 / 1,000) * $10 = $150 - $40 = $110
# person2: $165,258 > $101,000 -> $0
ar_inflation_relief_credit_person: [110, 0]

# The same couple filing a true joint return uses the joint table on combined
# income ($256,135 > $174,000 -> $0), split in half.
- name: Married couple filing a true joint return uses the joint table on combined income
period: 2022
input:
people:
person1:
ar_taxable_income_indiv: 0
ar_net_taxable_income_joint: 90_877
person2:
ar_taxable_income_indiv: 0
ar_net_taxable_income_joint: 165_258
tax_units:
tax_unit:
members: [person1, person2]
ar_files_separately: false
filing_status: JOINT
households:
household:
members: [person1, person2]
state_code: AR
output:
ar_inflation_relief_credit_person: [0, 0]
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,27 @@ def formula(person, period, parameters):
income = where(filing_separately, indiv_income, joint_income)
p = parameters(period).gov.states.ar.tax.income.credits.inflationary_relief
filing_status = person.tax_unit("filing_status", period)
max_amount = p.max_amount[filing_status]
reduction_start = p.reduction.start[filing_status]
increment = p.reduction.increment[filing_status]
reduction_per_increment = p.reduction.amount[filing_status]
statuses = filing_status.possible_values
# A married couple filing combined (status 4) computes the credit for
# each spouse separately in the single-filer table (max $150, phased
# out from $87,000), per the Inflationary Relief Credit Worksheet.
# Only a true joint return (status 2) uses the joint table (max $300,
# phased out from $174,000) on combined income and splits it in half.
credit_status = statuses.encode(
where(filing_separately, statuses.SEPARATE, filing_status.decode())
)
max_amount = p.max_amount[credit_status]
reduction_start = p.reduction.start[credit_status]
increment = p.reduction.increment[credit_status]
reduction_per_increment = p.reduction.amount[credit_status]
excess = max_(income - reduction_start, 0)
increments = np.ceil(excess / increment)
total_reduction_amount = increments * reduction_per_increment
# Attribute the maximum amount to each spouse equally when married filing jointly
joint = filing_status == filing_status.possible_values.JOINT
divisor = where(joint, 2, 1)
# Attribute the maximum amount to each spouse equally only when the
# couple files a true joint return (combined filers already use their
# own individual income above).
true_joint = (filing_status == statuses.JOINT) & ~filing_separately
divisor = where(true_joint, 2, 1)
credit = max_(max_amount - total_reduction_amount, 0) / divisor
# The credit is only allocated to the head and spouse, not dependents.
head_or_spouse = person("is_tax_unit_head_or_spouse", period)
Expand Down
Loading