MARKETS

The Purchase Date Is Not the Offering Date — My ESPP Gap Cost $6,150 in Forgotten Shares

I left a company and sold my employee stock purchase plan shares years later, believing every purchase was long-term. The offering period structure said otherwise. Half my lots were short-term, the tax hit landed two years after I stopped thinking about it, and the gap between two dates did all the damage.

Sofia Castellano
Staff Writer
August 5, 2026 · 5 min read

The CPA turned her monitor toward me at 9:26 at night, in her cramped office that smells like toner, and tapped one line of the return. Additional tax due: $6,150. I had come in expecting a modest refund and instead got a lesson about two dates inside a benefit I figured I understood altogether.

"I thought these were all long-term," I said, and she asked me a question I had never once weighed in five years of participation. When did each purchase actually start its holding clock? I said the day I enrolled. She shook her head and pulled up the plan document.

the two dates I had merged in my head

two dates, merged into one

Every employee stock purchase plan runs in offering periods, typically six months, and the trap lives in the wording. You enroll on, say, February 1st. Money comes outta your paycheck all spring. But the purchase itself executes on the offering period's end date, August 1st, and the tax holding clock for the favorable treatment starts on that August purchase date. Not February. Not the first payday deduction. The day the shares actually change hands at the discount.

I had assumed my clock began when my money began. Every single lot was off by six months in my mental model, and cuz I had sold everything in a single batch in one January, two years after leaving the company, the actual lot-level record told a messier story. Some lots, purchased in early offering periods and held years, were truly long-term. The last four lots, purchased within the final twenty months before my sale, were not.

The short-term chunk of my gain: about $14,900. Taxed as ordinary income rather than at the rate I had planned my whole exit around. The delta was the $6,150 sitting on the screen, and it was legally, boringly correct.

why nobody explains the clock

Here is what still irritates me. The enrollment page clarified the 15 percent discount with cheerful precision and clarified the holding requirements with a link. The link went to a summary that said holding the shares "may" qualify for favorable treatment, and the word purchase date appeared exactly once, buried in a definition. I read that page when I was twenty-nine, on a lunch break, and retained the discount and nothing else.

My old employer's HR line, when I called the next morning, was kind and powerless. They confirmed the plan mechanics in ninety seconds, confirmed they do not provide tax guidance in the same ninety seconds, and wished me luck. The gap between what a benefit communicates and what the tax code demands is a whole industry, and I had been living in it for five years without knowing the rooms had walls.

reconstructing five years of lots in one evening

The worst practical part was not the money. It was the reconstruction. Payroll had deducted from January through June, the plan had purchased on the period end dates, my former brokerage had merged into another brokerage somewhere in the middle, and the lot-level detail for two of the years lived in a PDF archive I had to request. Nine days of waiting for a records team to email me a file that decided whether I owed the government six thousand dollars.

I built the spreadsheet that week, one row per offering period, four dates per row: enrollment, first deduction, purchase date, sale allocation. Looking at it flat, the error was obvious, the kind of obvious that made me want to file the spreadsheet in a drawer and never open it. Six purchase dates. I had priced my entire exit on the wrong six.

the sale I would run differently now

The mechanics of doing it right are almost insulting in their simplicity. Sell specific lots, not the whole position. The oldest lots, safely long-term, go first. The young lots wait across the one-year line, then go. On my position, spreading the exit over eleven extra months would have saved the entire $6,150, at the cost of eleven months of price risk on approximately a third of the position, which I would take every single time now. That particular stock, a mid-cap industrial, spent those eleven months going nowhere. The risk I feared was free.

Specific lot identification had to be elected before the sale, in writing, with my broker at the time, which I had not done. Absent that election, the default average-cost convention applied and made the short-term share of my gain worse than it had to be. Two checkboxes. One cost $6,150. The other one was free and I skipped it too.

what I tell every new hire now

the coffee machine question

Our company hires engineers who negotiate salaries fiercely and then click accept on the equity benefits without reading a date. I have become that annoying senior person who corners new hires by the coffee machine and asks one question: do you know your purchase date? Half of em say the day they enrolled. Every single one of those is carrying my exact misunderstanding, quietly, with a tax bill folded inside it, waiting for their exit year.

The discount is real money and worth taking; I will never argue against the benefit itself. Fifteen percent back is a fine deal. But the benefit has a clock, the clock starts on a date that is not the date your intuition picks, and the difference between the two dates is worth a used car.

the receipt

I paid the $6,150 in April of that year, in one electronic payment, while my toddler watched a cartoon in the next room. The confirmation email is still in my archives, filed under a folder I named, in a moment of honesty, "tuition."

My CPA and I now do a fifteen-minute December call every year, before any sale of anything with a special clock in it: ESPP lots, old employer shares, anything where the paperwork knows dates I do not. It costs $180. It has already caught one more date error, this one mine, in a draft sale I nearly placed in November.

The offering date and the purchase date are the same date, on paper, and invariably were. The gap was never in the plan. The gap was in me, and it closed the expensive way.