You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Round AGI to whole dollars before the Arkansas low income table lookup #9648
The Arkansas instructions say "Round all amounts to the nearest dollar" (2024 AR1000F/AR1000NR instructions, PDF page 12: "$10,897.50, round to $10,898 … $10,897.49, round to $10,897"). The same text is in the 2025 booklet.
ar_low_income_tax_joint passes unrounded AGI to each low income table's calc(..., right=True), where each threshold is the upper bound of the previous published row. So any fractional AGI just past a row edge gets the next row's tax. Example on main (3144e5a): head of household with 0–1 dependents in 2024, $20,282.25 gets $65, where the rounded $20,282 falls in the $0 row. This affects every row edge of every table and year.
Fix: round the lookup AGI half-up to whole dollars (not banker's rounding), then add YAML cases on both sides of an edge, for example $20,282.49 → $0 and $20,282.50 → $65 for 2024 HoH 0–1 dependents.
Related cleanup (from the #9599 reviews; verify each before changing)
Stale booklet anchors. These use printed pages instead of PDF pages. The tables are on PDF pages 29/30 in 2023 and 28/29 in 2024.
ar_low_income_tax_joint's label says "when married couples are filing separately". It actually computes the combined-return table tax (separate filers get np.inf). Its reference cites only the 2022 booklet.
Invalid reference URLs.ar_income_tax_before_non_refundable_credits_{indiv,joint,unit}.py concatenate two reference URLs with no comma, which makes one invalid URL.
Test gaps in ar_low_income_tax_joint.yaml:
no case with exactly 1 dependent (the <= 1 / > 1 boundary);
no surviving spouse 0–1 case;
no 2024 joint 2+ first-edge case (28,953 → 0; 28,954 → 108);
Cases 1 and 5 are named "1 dependent" but set tax_unit_dependents: 2.
Activity