Skip to main content
Tax-Loss Harvesting Basics

Record Keeping for TLH

Pomegra Learn

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:

DescriptionAcq. DateSold DateProceedsCost BasisGain/(Loss)
AAPL 100 sh01/15/202003/15/2022$16,500$15,000$1,500
NVDA 200 sh06/20/202003/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:

ColumnPurposeExample
TickerStock symbolAAPL
Acq. DateOriginal purchase date01/15/2020
Acq. CostOriginal purchase price (include commissions)$150,000
QtyNumber of shares100
Shares SoldNumber of shares in this sale100
Sale DateDate of sale03/15/2022
Sale PriceSale proceeds per share$165
Sale TotalTotal 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 PeriodLong-term (LT) or short-term (ST)LT (over 1 year)
Wash Sale?Note if wash-sale rule appliesNo
8949 LineForm 8949 line number1a

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:

TickerAcq. DateCost BasisSale DateSale PriceRealized Gain/(Loss)Wash-Sale NoteAdjusted Cost Basis
AAPL01/2022$15,00012/2022$10,000-$5,000Loss disallowedN/A
AAPL01/2023$11,000N/AN/AN/AWash-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 AAPL01/15/2003/15/22$16,500$150,000-$133,500
200 NVDA06/20/2003/17/22$18,000$16,000$2,000
50 META09/10/2003/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:

  1. The broker's cost basis includes commissions/fees that you're not calculating.
  2. You might have received a stepped-up basis (inheritance) that the broker doesn't know about.
  3. 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?

  1. Proceeds mismatch: Your Form 8949 reports different proceeds than the 1099-B.
  2. Cost-basis difference: Your Form 8949 reports different cost basis than the 1099-B.
  3. Wash-sale adjustment disagreement: The IRS thinks you owe more loss disallowance than you reported.

How to respond

  1. Don't panic. CP2000 doesn't mean you're under audit; it's an automated reconciliation notice.
  2. Review your records. Compare your Form 8949 against your original cost-basis documentation.
  3. If you agree with the IRS's adjustment: Respond with a check for the additional tax owed.
  4. 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

  1. Keep every brokerage statement (monthly or quarterly). Download and file for 7 years.

  2. Document cost basis at purchase time. Take a screenshot of the transaction confirmation; note the commission paid.

  3. Track every loss harvest. Log it in your spreadsheet immediately; don't wait until tax season.

  4. Update wash-sale tracking monthly. After each harvest, set a reminder 31 days later to log the 30-day restriction.

  5. Reconcile Form 8949 against 1099-B in January. Before filing your tax return, compare your spreadsheet to the 1099-B. Resolve any differences.

  6. File electronically. E-filing is more reliable than paper for multiple Form 8949 entries.

  7. 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.