It's bonus week and the leave/earnings statements went out Friday. It seems that many people don't realize that supplemental wages are withheld at a higher rate. There has been much wailing and gnashing of teeth about taxes on this bonus being withheld at ~34%. This has been the case for each of the last 10 years, so why it would be different this year, I don't know. And I imagine that by February many will have forgotten about it and won't realize they're getting it back in the form of a tax refund.
The sad thing is that all that drama is totally unnecessary!
If the bonus was coded as a one-time payment rather than a recurring one and the payroll software was coded correctly, it would correctly estimate the annual income and only withhold the correct amount.
I thought that was an IRS thing? The two options from Pub 15 are to tax it at a flat 22% or to roll it into the taxable amount of the paycheck that it's paid with, which for most of us would push at least part of it into the 24% bucket.
Let's say I get paid $1000 weekly. So, on week 1, I earn $1000. The payroll software needs to calculate $1000 * 52 weeks / year, for an annual income of $52,000. It then looks up the income tax on $52,000 and divides that by 52 weeks to calculate how much income tax to withhold. This is very straightforward.
Now, let's add a $5000 bonus in week 50 and not tell the software it's a one-time payment. In addition, let's be lazy programmers. So, we take ($1000 wages + $5000 bonus) * 52 = $312,000 annual income. So, we look up the tax owed for that much income (which is in a much higher tax bracket) and divide by 52, and take out the calculated amount.
That's why the bonus money is withheld at such a high rate.
Now, let's tell the software it's a one time bonus and assume the programmers did a better job. We'll take $1000 wages * 52 weeks/per year = $52,000 + $5000 bonus for a $57,000 annual income. Look up the tax on that and then divide by 52 to get the withholding amount. The bonus won't be withheld at the $312,000 income rate so more of it will go home right away (and the tax refund will be smaller).
The above is still lazy programming, though. The reality is our payroll system should know how much we've paid the person for the year so far, so it should only be estimating based on the rest of the year. So, to calculate our annual income, we would look up how much the person has already been paid, add in what we're paying them this time, and then estimate the recurring payments for the rest of the year. That way, our estimate gets progressively better each pay period as the year goes on.
Plus, if someone has an uneven income, although the initial high income paycheck will be withheld at a high rate, the lower paychecks after it would be withheld at a lower rate to compensate. So the person would get more of their income earlier instead of having to wait for a refund.
Downside is if you changed jobs half-way thru the year, the 2nd job would be under-withholding for the remainder of the year, because it wouldn't know about the prior job's income.