Options do get pretty nasty if you exercise and hold, when the fair market value is higher than the fair market value; because then you have to have an AMT return and a regular return and reconcile them.
ESPP with a discount was pretty bad the last time I had it; the brokerage said they were specifically required by IRS rules to report the wrong cost basis, and you had to adjust it when you sold, or you'd have the discount reported on your w-2 and again as a capital gain. Maybe that changed, capital gains reporting has changed over time.
1. My RSUs vest monthly. I've been selling immediately. For the last ~2 years, I guess I've been unlucky, and the sales have generally been small losses. Each of those sales gets washed by a vest that occurred either a month before or a month after. I used to track these by hand in a spreadsheet. It become essentially impossible due to increasing complexity every year caused by the long chains of vest+sale. Now I wrote a 1000+ line Python program to calculate my wash sales. It probably took 20+ hours to write. It takes about 30s to run, that's how large the vest+sale graph is (and the program isn't optimized for runtime). A single sale is now being washed by chains of vest+sale that are extremely long. And due to each vest involving different amounts of fractional shares due to changing compensation and changing tax rates, the washes are constantly doing partial washes, that split lots into sublots. So a single sale might involve many many sublots. The holding period is also propagated to the new lot. The chains are starting to get so long, that if this were to continue a few more years, I would have some sales that are partially long term (>= 1 year) and partially short term, which I can't find any information online about how to file. It takes me hours to format my data from my 1099B and statements into a CSV to put into the program, and hours more to take the output CSV and put it into Turbotax. Quarterly vests would partially solve this problem (you would still get washes caused by multiple vests happening on the say day sold for a loss washing each other, but at least it wouldn't propagate to future or past vests).
I have now resolved to never sell for a loss (where loss is defined as for any sublot within the lot, the sale price is lower than the original basis + the basis added by all the previous sells washed by this sublot's vest), to avoid this problem. This may mean I have to hold on to stocks that I want to sell, potentially until I die.
2a. I live in CA, but worked from MI a few days a few years back. That means I now have to pay MI tax for 4 years. I receive ~48 vests per year (monthly vests of 4 different grants (from the 4 prior years)). For each of those ~48 vests, I need to calculate what percent of the days between grant and vest I worked in MI, and pay that amount of MI tax on that vest. Turbotax has some bugs related to MI taxes and 401ks and IRAs. Even though my 401ks and IRAs have nothing to do with MI, I now have to deal with these Turbotax bugs every year because I have to file MI taxes.
2b. If you need to file NY taxes as a non-resident (like I have to do for MI), it's even worse, because not only do you need to do that calculation for each vest (~48/year in my case), but you also need to file a new IT-203-F form for each vest. That's 48 IT-203-Fs to file each year. And each one is a complex form involving workdays, weekdays, holiday days, sick days, vacation days, etc.
3. If you move between states with different tax rates, your vests are taxed completely at the new state's tax rate. They're also taxed proportionally (based on time between grant and vest) at your old state's tax rate. So they're double taxed. You do end up with a tax credit that undoes the smaller of the taxes. But this means that when you move, for 4 years you're taxed at the maximum tax rate of the 2 states (on at least some portion of the vests). This makes WA->CA movers mad, because all they have to pay CA tax on 100% of their vests immediately. It also makes CA->WA movers mad, because they have to pay CA tax for 4 years on some portion of their vests.
I dearly wish to be paid in cash.
I think it'd be good to visit with a CPA to cover some of these topics. I'm not saying definitely hire one but I think you may have misunderstandings of the tax codes.
The IRS defines a wash sale with
> A wash sale occurs when you sell or trade stock or securities at a loss and within 30 days before or after the sale you:
> Buy substantially identical stock or securities,
> Acquire substantially identical stock or securities in a fully taxable trade,
> Acquire a contract or option to buy substantially identical stock or securities, or
> Acquire substantially identical stock for your individual retirement arrangement (IRA) or Roth IRA.
Is vesting RSUs acquiring shares in a fully taxable trade or buying stock? I don't know and never considered it, but the statute of limitations has run on my RSU days. I also didn't have monthly vests.
> Your other two points - states don't do income tax calculations based on the grant, but only what vested while you lived/worked in the state in the respective year of the vesting. Basically you don't owe Michigan income tax for a given tax year if you didn't live or work in Michigan during that tax year.
I don't know about Michigan, but California's Franchise Tax Board asserts that it is owed tax in tax years where RSUs vest if you lived or worked in California during the vesting period; even if you don't live or work in California during that particular tax year. After I moved to WA, I continued to pay CA income tax, as I had partially vested RSUs. I've heard some companies will cancel and reissue RSUs when you move states, but this wasn't offered for me. FTB is kind enough to say you can use any reasonable method to allocate RSUs and they never asked me to show my work, so I must have done fine?