How we calculate
1. Lots
Buys open lots per account and symbol. Sells close lots first-in-first-out (or highest-cost-first if you choose). Split rows multiply share counts and divide per-share basis. Realized gain/loss files from your broker are used as reported, including the broker's wash-sale amounts.
2. Wash sales (IRC 1091, IRS Pub 550)
A loss sale is matched with buys of the same symbol from 30 days before to 30 days after the sale, across every file you upload. Matched shares carry the disallowed loss into their basis and inherit the holding period. Replacement shares are used once. Buys in an IRA disallow the loss permanently, with no basis increase (Rev. Rul. 2008-5). Different funds that track the same index are matched only if you tick that option.
3. Holding period
Long-term means held more than one year: a sale counts as long-term from the day after the one-year anniversary of purchase (tacked for wash-sale replacements).
4. Tax
Each year, short- and long-term results are netted with any carryforward; net losses deduct up to $3,000 and the rest carries forward with its character. Tax is the difference between total federal tax (ordinary brackets, 0/15/20% long-term rates, 3.8% net investment income tax) and California tax with and without your trading, at the other income you state. Sources: tax sources.
5. Benchmark
Every closed lot is mirrored by putting the same dollars into the benchmark on the buy date and taking them out on the sell date. T-bills: a total-return index of 3-month Treasury bill rates (U.S. Treasury data), taxed each year as federal ordinary interest and exempt from California tax. A fund you upload: taxed as a capital gain on the mirrored sale date.
6. Returns
Annualized return is dollar-weighted over closed lots, not a time-weighted (GIPS) return, because a trade file carries no daily account values. We label it that way everywhere.
7. Testing
Automated tests include the wash-sale examples in IRS Publication 550, IRA disallowance, cross-account wash sales, splits, the $3,000 limit and carryforward character, and hand-computed 2025 federal and California tax for single and joint filers. 70+ tests run before every release.
How this differs from other tools
| Typical backtesters | Typical tax trackers | AfterTax | |
|---|---|---|---|
| Uses your actual trades | No (model portfolios) | Yes | Yes |
| Wash sales across accounts and IRAs | No | Some | Yes |
| After-tax result vs a benchmark | Pre-tax | No | Yes |
| Form 8949 draft | No | Yes | Yes (draft) |
| Raw file stored | Varies | Usually | Never |
Limits
Options, short sales and spin-offs are not handled. Commissions are not added to basis unless your broker's price includes them. Dividends are listed but not part of the comparison. State tax: California or none.