Tax lots, realized gains and wash sales
The book keeps its own record of what each purchase cost, what each sale realized (short or long term) and which losses a quick repurchase made non-deductible. Advisory for now; nothing is blocked.
- Who it is for
- Owners & operators
- Reading time
- 2 min read
- Updated
- Status
- upcoming
Decided, being built.This page describes behaviour the operator has decided on and that is being built now; the console may not show it yet, or may still show the older screens it replaces. Sentences that are already true say so.
- What it is
- A lot-by-lot record from your fills: cost basis, each sale's gain or loss and term, every wash sale and its amount
- What it changes
- Nothing yet: it warns, it never blocks an order or changes what the desk buys
- Where it shows
- The 's Taxes section today; a Portfolio panel and a line on order cards are coming
- Method
- First in, first out; one account; same ticker only. Bookkeeping for your , not a tax filing
This feature is decided and its bookkeeping is in this build; the screens that show it are not. Until they ship, the numbers are in the nightly day report (Review) and behind the API.
What a wash sale is, in one paragraph
Sell shares at a loss and buy the same ticker within 30 days before or after, and the tax rule treats it as if you never left: the loss does not count this year. It is not gone. It is added to the cost of the new shares, and their holding period starts where the old one did, so you get it back when you finally sell them. A book that trims, stops out and re-enters the same names every few weeks does this constantly without noticing, which is how an active retail account ends up owing tax on gains it did not keep.
What the book now keeps
Every buy becomes a lot with its price. Every sale uses up the oldest lots first and records, per lot, the proceeds, the cost, the gain or loss, and short or long term (long means held more than one year). When a sale at a loss has a purchase of the same ticker inside the 30-day window on either side, the matched part of the loss is marked disallowed, moved onto the replacement shares' cost, and listed as a wash sale with the dollar amount. The totals by year (short-term, long-term, disallowed) are the numbers a Schedule D cares about, computed the same way every night from the same fills.
The warning on an order
An order that would complete a wash sale carries a plain sentence before you approve it: buying a ticker you sold at a loss in the last 30 days ("about $200 of that loss becomes non-deductible this year; waiting until after 13 September avoids it"), or selling at a loss while shares you bought in the last 30 days stay in the book. A plain loss sale says by which date a repurchase would turn it into a wash sale. These are advisory: the order goes through if you approve it. Whether the desk should avoid such trades on its own (wait out the window, pick the highest-cost lot, harvest losses in December) is a decision for later, made with these numbers in front of you.
NoteOne account and one ticker at a time. The rule in real life also reaches IRAs, options and funds that track the same index under another ticker; the book does not see those, and says so next to its totals.