-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Summary
While investigating CA state income tax discrepancies between PolicyEngine and TAXSIM-35 for TY 2024, we noticed that TAXSIM computes large CA itemized deductions (v35) for records that have no property tax, mortgage, or other itemizable expenses. It appears that TAXSIM may be adding back the state's own income tax as a CA itemized deduction via the SALT add-back mechanism, but CA Schedule CA (540) Part II seems to disallow this.
What we observed
For a single filer with $1,150,000 in wages, CA (state=5), no property tax or other deductions:
| Field | TAXSIM | Expected |
|---|---|---|
| v35 (CA itemized deductions) | 99,234 | 0 (standard deduction should apply) |
| v36 (CA taxable income) | 1,050,766 | ~1,144,460 |
| siitax (CA tax) | 111,147 | ~123,000+ |
TAXSIM appears to deduct roughly CA_state_tax - $10,000 as CA itemized deductions.
What the CA instructions say
Per the 2024 Schedule CA (540) instructions, Part II:
Line 5a, Column B: "California does not allow a deduction for state and local income tax (including limited partnership tax and income or franchise tax paid by corporations) and State Disability Insurance (SDI) or state and local general sales tax."
Line 5e, Column C: "The federal deduction for state and local tax is limited to $10,000 ($5,000 for married filing separately) for the aggregate of state and local income taxes and property taxes. California does not conform. If your deduction was limited under federal law, enter an adjustment on line 5e, column C for the amount over the federal limit."
The net effect seems to be that CA allows full property tax + local tax deductions (undoing the $10k federal cap), but state income tax is subtracted on line 5a and doesn't survive the add-back. For a taxpayer with only state income tax and no property tax, the CA deduction for taxes should be $0.
Where we think this originates
In 05ca.for, lines 370–374:
c CA doesn't limit SALT deduction. Part II Schedule CA
if(c(201).gt.0d0) then
line5da=d(50)+d(51)+d(54)
line5ea=min(10000,line5da)
xitded=xitded+max(0,line5da-line5ea)
endifd(50) is the state income tax (from the iteration in tcalc2.for), d(51) is property tax, and d(54) is personal property tax. The add-back computation includes d(50) in line5da, so when total SALT exceeds $10k due to the state's own income tax, the excess gets added back as CA itemized deductions.
Should line5da perhaps exclude d(50) (the state's own income tax) and only include property and local taxes? Something like:
line5da=d(51)+d(54)That way the add-back would only restore property/local taxes that were limited by the federal cap, consistent with the Schedule CA treatment where line 5a removes state income tax and line 5e adds back the capped excess of other taxes.
How we verified
We ran the TAXSIM binary with idtl=5 on a minimal test case:
taxsimid,year,state,mstat,page,pwages,idtl
52081,2024,5,1,40,1150000,5
The detailed output confirms v35=99,234 and v36=1,050,766. The federal return uses the standard deduction (v13=14,600, v17=0), but the CA return shows large itemized deductions.
Scale
In our ~3,000 household TY 2024 comparison, this affects at least 16 high-income CA records (those with >$15 diffs, no S-Corp income, and no property tax). PolicyEngine uses the CA standard deduction for these records, producing higher CA tax.