Skip to content

Trader Tax Basics

OVERVIEW

Active traders are responsible for maintaining records sufficient to reconstruct every realized gain and loss on a per-lot basis for a given tax year. Brokers provide Form 1099-B and consolidated statements, but these records have structural gaps around wash sales, lot identification, and cross-account activity. A structured trade journal closes those gaps and gives your CPA the raw transaction data needed for tax filing.

Note

Nothing on Tapeboard is tax advice. If your taxable trading P&L is material, consult a CPA who specializes in trader taxes. This page covers recordkeeping requirements only.


FORMS AND REQUIREMENTS

Three forms cover the bulk of active-trader filings.

Form Purpose Who Populates It
Form 8949 Line-item record of every individual transaction: security, dates, proceeds, cost basis, wash-sale adjustments, gain/loss Broker 1099-B plus manual entries for cross-broker trades
Schedule D Aggregates Form 8949 totals into short-term and long-term capital gains Derived from 8949 totals
Form 4797 Used only under the Section 475(f) mark-to-market election Replaces 8949/Schedule D under MTM regime

Note

The Section 475(f) mark-to-market election carries a strict deadline: April 15 of the tax year in which it takes effect. This means the decision is typically made the prior year. Do not make this election without CPA guidance.


WASH-SALE TRACKING

Wash-sale tracking is what most retail traders miss. A wash sale is when you take a loss on a security and buy a substantially identical security within 30 days before or after — the loss is disallowed and gets added to the cost basis of the replacement shares. The broker tracks wash sales within a single account, but not across multiple accounts or across substantially-identical securities (an ETF and a similar ETF; a stock and an in-the-money option on the same stock). The cross-account / cross-substantial-identical wash-sale tracking is on the taxpayer, not the broker.


BROKER RECORD GAPS

Broker statements do not produce a complete tax record for active traders. Three gaps appear consistently.

Gap Description Who Is Responsible
Multi-account Brokers do not reconcile wash sales or cost basis across separate accounts or across a taxable account and an IRA Taxpayer
Substantially identical securities Brokers flag wash sales on identical securities within one account only; cross-product pairs (e.g. similar ETFs, a stock and an ITM option on that stock) are not flagged Taxpayer
Mark-to-market year-end mark Under Section 475(f), open positions must be marked to their 12/31 closing price and unrealized P&L treated as realized; brokers do not produce this report cleanly Taxpayer

Tip

A journal that aggregates fills across all accounts and tracks related tickers gives your CPA the source data needed to handle all three gaps.


JOURNAL SCHEMA

A structured trade journal must capture the following fields at minimum to support Form 8949 preparation and cross-broker reconciliation.

Column Description
Timestamp Fill time including timezone
Symbol Ticker or instrument identifier
Side buy, sell, short, or cover
Quantity Signed integer; short positions as negative
Price Fill price per unit
Commission and Fees Total transaction cost
Account ID Broker or account identifier for multi-account traders
Notes Free-form context field

The Tapeboard trade journal captures every paper-sim fill using this schema natively. For live trades, the CSV-import path supports the same columns. The CSV export uses Form 8949-compatible column ordering so a CPA can pull it directly into a reconciliation workflow.


WHAT THE JOURNAL DOES NOT PROVIDE

Note

The journal produces records. It does not compute tax liability.

A complete tax calculation requires the following, none of which the journal performs automatically:

  • Applying the correct cost-basis method (FIFO, LIFO, specific-lot, or average cost) per account and per broker election on file
  • Identifying all substantially identical security pairs across your trading history
  • Determining holding periods for short-term versus long-term classification
  • Computing the wash-sale basis carryforward into replacement lots
  • Producing the final Schedule D totals or any state-level equivalents

These determinations belong to a qualified CPA working from your complete transaction record. The journal's role is to ensure that record is complete, structured, and exportable.


HOW TO USE

Paper-sim fills All fills recorded in the Tapeboard paper simulator are logged automatically to the trade journal with the full schema populated.

Live trade imports 1. Export a CSV from your broker using their standard transaction history report. 2. Map your broker's column headers to the Tapeboard schema using the CSV-import column mapper. 3. Import the file. Duplicate detection runs automatically against existing journal entries. 4. Repeat for each broker account and assign a unique Account ID to each.

Exporting for your CPA 1. Open the Trade Journal from the terminal sidebar. 2. Set the date range to the full tax year (January 1 – December 31). 3. Select Export → CSV (Form 8949 format). 4. Deliver the exported file to your CPA alongside each broker's 1099-B.

Tip

Export separate CSVs per account ID if your CPA prefers to reconcile account-by-account before aggregating. The account ID column is included in all export formats.


KEYBOARD SHORTCUTS

Action Shortcut
Open Trade Journal J
Open CSV Import dialog Ctrl + I
Export journal (current filter) Ctrl + E
Filter by date range Ctrl + Shift + D
Filter by account ID Ctrl + Shift + A
Clear all filters Esc