Record Keeping for TLH
Record Keeping for TLH
Disciplined record keeping for tax-loss harvesting is unglamorous but essential. Poor documentation leads to IRS reconciliation notices, amended returns, and penalties. A simple system—updated monthly—prevents months of tax-filing chaos.
Key takeaways
- Your broker provides 1099-B (sale proceeds) and 1099-DIV (dividends) automatically, but only the broker's cost basis, which may differ from your records.
- Form 8949 requires you to report every security sale with your own calculated cost basis, gain/loss, and holding period (long-term vs. short-term).
- Wash-sale adjustments must be tracked manually and reported on Form 8949 (line 1f adjustment column).
- A simple spreadsheet (or dedicated tax software) documenting every TLH transaction prevents errors and supports audit defense.
- IRS mismatches between your return and broker-reported amounts trigger CP2000 notices, which can take 18+ months to resolve.
What your broker reports (and doesn't)
Form 1099-B (Proceeds from Broker and Barter Exchanges)
Every brokerage sends a 1099-B to both the IRS and you by January 31 (for the prior tax year). It includes:
For each stock sale:
- Date acquired
- Date sold
- Proceeds (sale price × quantity)
- Cost basis (as recorded on the brokerage)
- Gain/loss (calculated by the broker)
Example 1099-B entry:
| Description | Acq. Date | Sold Date | Proceeds | Cost Basis | Gain/(Loss) |
|---|---|---|---|---|---|
| AAPL 100 sh | 01/15/2020 | 03/15/2022 | $16,500 | $15,000 | $1,500 |
| NVDA 200 sh | 06/20/2020 | 03/17/2022 | $18,000 | $16,000 | $2,000 |
The broker calculates gains/losses using their cost-basis database. However, this may not match your actual cost basis if:
- You transferred shares from another brokerage (they may not have the original cost basis).
- You acquired shares via inheritance (stepped-up basis).
- You have wash-sale losses to adjust.
Form 1099-DIV (Dividend Income)
Dividend distributions are reported on 1099-DIV. If you harvested losses and reinvested immediately, you might have a mix of original shares and new substitute shares, each paying slightly different dividends. The 1099-DIV total will include all dividends; you'll need to allocate them correctly to avoid double-counting.
Building your cost-basis record
The core spreadsheet
Create a simple Excel or Google Sheets file with these columns:
| Column | Purpose | Example |
|---|---|---|
| Ticker | Stock symbol | AAPL |
| Acq. Date | Original purchase date | 01/15/2020 |
| Acq. Cost | Original purchase price (include commissions) | $150,000 |
| Qty | Number of shares | 100 |
| Shares Sold | Number of shares in this sale | 100 |
| Sale Date | Date of sale | 03/15/2022 |
| Sale Price | Sale proceeds per share | $165 |
| Sale Total | Total proceeds (qty × price) | $16,500 |
| Cost Basis (Your Calc) | Cost basis you're using for tax purposes | $150,000 |
| Realized Gain/(Loss) | Your calculated gain/loss | $16,500 - $150,000 = -$133,500 (LOSS) |
| Holding Period | Long-term (LT) or short-term (ST) | LT (over 1 year) |
| Wash Sale? | Note if wash-sale rule applies | No |
| 8949 Line | Form 8949 line number | 1a |
Tracking wash-sale adjustments
Wash-sale calculations are complex. If you harvest a loss and buy the same stock within 30 days, the loss is disallowed and added to the new purchase's cost basis.
Example:
Original transaction (January 2022):
- Buy AAPL: 100 shares at $150.
- Cost basis: $15,000.
Loss harvest (December 2022):
- Market drops; AAPL now $100 per share.
- Sell AAPL: 100 shares at $100.
- Realized loss: $5,000 (($100 × 100) - $15,000).
- IRS allows this loss to be taken.
Unintended repurchase (January 2023):
- You forgot about the December sale.
- Buy AAPL again: 100 shares at $110.
- New purchase cost: $11,000.
Wash-sale consequence:
- The December loss ($5,000) is disallowed.
- The disallowed loss is added to the new cost basis: $11,000 + $5,000 = $16,000 (adjusted cost basis for the January purchase).
Your spreadsheet should track this:
| Ticker | Acq. Date | Cost Basis | Sale Date | Sale Price | Realized Gain/(Loss) | Wash-Sale Note | Adjusted Cost Basis |
|---|---|---|---|---|---|---|---|
| AAPL | 01/2022 | $15,000 | 12/2022 | $10,000 | -$5,000 | Loss disallowed | N/A |
| AAPL | 01/2023 | $11,000 | N/A | N/A | N/A | Wash-sale applies to prior | $16,000 |
When you eventually sell the January 2023 shares, you'll use $16,000 as the cost basis, not $11,000.
Form 8949: Sales of Capital Assets
Form 8949 is where you reconcile your calculated gains/losses with your broker's reported amounts. The IRS compares Form 8949 line-by-line against the 1099-B.
Form 8949 structure
Part 1: Short-Term Capital Gains and Losses (held ≤1 year) Part 2: Long-Term Capital Gains and Losses (held >1 year)
Each part has the same columns:
- Column (a): Description (ticker, shares, etc.)
- Column (b): Date Acquired
- Column (c): Date Sold
- Column (d): Proceeds
- Column (e): Cost Basis
- Column (f): Adjustment for wash-sale or other disallowance
- Column (g): Gain or Loss (calculated)
Filling out Form 8949 with TLH harvests
Scenario: You harvested three losses in 2022.
Loss 1: AAPL
- Shares: 100
- Acquired: 01/15/2020
- Sold: 03/15/2022
- Proceeds: $16,500
- Your cost basis: $150,000 (per your records)
- Gain/(Loss): -$133,500
Loss 2: NVDA
- Shares: 200
- Acquired: 06/20/2020
- Sold: 03/17/2022
- Proceeds: $18,000
- Your cost basis: $16,000 (per your records)
- Gain/(Loss): $2,000 (gain, not a loss in this case—ignore if only tracking TLH)
Loss 3: META
- Shares: 50
- Acquired: 09/10/2020
- Sold: 03/20/2022
- Proceeds: $5,000
- Your cost basis: $8,000 (per your records)
- Gain/(Loss): -$3,000
Form 8949 Part II (Long-Term Transactions):
| (a) Description | (b) Date Acq | (c) Date Sold | (d) Proceeds | (e) Cost Basis | (f) Wash-Sale Adj | (g) Gain/(Loss) |
|---|---|---|---|---|---|---|
| 100 AAPL | 01/15/20 | 03/15/22 | $16,500 | $150,000 | — | -$133,500 |
| 200 NVDA | 06/20/20 | 03/17/22 | $18,000 | $16,000 | — | $2,000 |
| 50 META | 09/10/20 | 03/20/22 | $5,000 | $8,000 | — | -$3,000 |
| Totals | $39,500 | $174,000 | — | -$134,500 |
The total loss of $134,500 carries to Schedule D and reduces your taxable income.
Reconciling your Form 8949 with broker 1099-B
Your broker will send a 1099-B with slightly different cost-basis calculations. You must reconcile.
Example mismatch:
Broker's 1099-B for AAPL:
- Proceeds: $16,500 (matches your Form 8949)
- Cost basis: $155,000 (differs from your $150,000)
- Gain/(Loss): -$138,500 (differs from your -$133,500)
This happens because:
- The broker's cost basis includes commissions/fees that you're not calculating.
- You might have received a stepped-up basis (inheritance) that the broker doesn't know about.
- You adjusted basis for a prior wash-sale that the broker didn't track.
Resolution:
- On Form 8949, include column (f) "Adjustment": a line showing the difference between broker-reported and your cost basis.
- Example: If the broker reported $155,000 and you're using $150,000, the adjustment in column (f) is $5,000.
- The IRS will see that you're aware of the difference and intentionally adjusting.
Digital record-keeping systems
For serious investors, manual spreadsheets become unwieldy. Several systems exist:
Tax software built for this
TurboTax/H&R Block Premium/TaxAct:
- Form 8949 built-in.
- 1099-B import from brokers.
- Wash-sale calculation helpers.
- Cost: $120–$300 per year.
Dedicated portfolio-tracking software
Sharesight, Kubera, StockMarketEye:
- Full cost-basis tracking.
- Wash-sale alerts.
- Form 8949 export.
- Tax reporting features.
- Cost: $5–$30 per month.
Robo-advisor/brokerage integration
Wealthfront, Betterment, Charles Schwab, Fidelity:
- Automatic cost-basis tracking (they maintain your history).
- 1099-B preparation.
- Some platforms (Wealthfront, Betterment) include tax-loss harvesting summaries.
- Cost: Included in advisory fees (0.00–0.25% depending on platform).
For accounts over $500K with annual TLH, using an advisor's platform or dedicated tax software pays for itself in reduced CPA time.
IRS audit and CP2000 notices
The IRS automatically reconciles your Form 8949 against broker-reported 1099-B. Mismatches trigger a CP2000 notice (Examination Notice—Income Adjustment).
What triggers a CP2000?
- Proceeds mismatch: Your Form 8949 reports different proceeds than the 1099-B.
- Cost-basis difference: Your Form 8949 reports different cost basis than the 1099-B.
- Wash-sale adjustment disagreement: The IRS thinks you owe more loss disallowance than you reported.
How to respond
- Don't panic. CP2000 doesn't mean you're under audit; it's an automated reconciliation notice.
- Review your records. Compare your Form 8949 against your original cost-basis documentation.
- If you agree with the IRS's adjustment: Respond with a check for the additional tax owed.
- If you disagree: Respond with documentation showing your cost basis is correct (brokerage statements, transfer confirmations, inheritance stepped-up basis documentation).
Example response
Scenario: IRS notices a $5,000 cost-basis discrepancy on an AAPL sale.
Your response letter:
Dear IRS:
Re: CP2000 Notice, Tax Year 2022, AAPL sale transaction
I disagree with the cost basis adjustment. My records show AAPL purchase on 01/15/2020
at a cost basis of $150,000 (including commissions). The broker's 1099-B reported $155,000,
but this includes $5,000 in margin interest that should not be capitalized to cost basis.
Enclosed are supporting documents:
1. Brokerage statement confirming the 01/15/2020 purchase at $150,000.
2. Margin interest statement showing $5,000 charged separately.
I am requesting that the IRS disallow the cost-basis adjustment and accept my Form 8949 as filed.
Respectfully,
[Your name]
With documentation, the IRS typically reverses the adjustment.
Best practices for record keeping
-
Keep every brokerage statement (monthly or quarterly). Download and file for 7 years.
-
Document cost basis at purchase time. Take a screenshot of the transaction confirmation; note the commission paid.
-
Track every loss harvest. Log it in your spreadsheet immediately; don't wait until tax season.
-
Update wash-sale tracking monthly. After each harvest, set a reminder 31 days later to log the 30-day restriction.
-
Reconcile Form 8949 against 1099-B in January. Before filing your tax return, compare your spreadsheet to the 1099-B. Resolve any differences.
-
File electronically. E-filing is more reliable than paper for multiple Form 8949 entries.
-
Keep backup copies. If audited, you'll want to show the original brokerage statements as evidence.
Decision tree: What records to keep
Next
We've covered the mechanics of record keeping and tax reporting for TLH. Next, we'll examine the most common mistakes investors make when harvesting losses, including wash-sale traps via spousal accounts and IRAs.