PolicyEngine / PolicyEngine/policyengine-us
SALT sources omit state and local personal property taxes (§164(a)(2))
- Dominant language
- Python
- Stars
- 162
- Forks
- 212
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 97
Description
**Versions:** policyengine-us 1.767.3 (source pin `49d19b239a593dbac8920ac6fd80cfe33372343a`), policyengine-core 3.30.3.
**Summary:** §164(a)(2) allows a deduction for **state and local personal property taxes**, but `parameters/gov/irs/deductions/itemized/salt_and_real_estate/sources.yaml` lists only `state_and_local_sales_or_income_tax` and `real_estate_taxes`, so an ad valorem personal property tax (e.g. a vehicle property tax) never enters `salt`. A 2026 single filer with $4,000 of qualifying personal property tax and no other SALT items has a statutory deduction of **$4,000**; PE computes `salt = 0` and `salt_deduction = 0`, and no input variable can represent the amount within the SALT sources.
**Code path:** `variables/gov/irs/income/taxable_income/deductions/itemizing/salt.py` sums exactly the two variables in the pinned sources list. Statute: 26 USC 164(a)(2), (b)(1)–(b)(2). Found via Axiom Foundation cross-engine validation (`us-salt-deduction-grid`, case `salt-personal-property-tax-probe`, measured $4,000 vs $0).
Contributor guide
Research direction
Start with parameters/gov/irs/deductions/itemized/salt_and_real_estate/sources.yaml and variables/gov/irs/income/taxable_income/deductions/itemizing/salt.py to trace how SALT sources are defined and summed. Add support for state and local personal property taxes, then verify the described 2026 single-filer case produces a $4,000 SALT deduction.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100