Days to Expiry — Option Selling Analyzer logo
Days to Expiry
Option Selling Analyzer

Oct 26, 2025

Form 1099-B for Options Traders: Interactive Brokers Walkthrough

Decode your 1099-B form as an options trader. Learn what each box means, how assignments appear, and why your form looks confusing.

Your 1099-B form is the IRS's record of your brokerage transactions. For stocks, it's straightforward. For options, it's bewildering.

Here's why: 1099-B was designed for stock traders, not options traders. When you sell a put and it's assigned, the form shows a purchase of stock. When you sell a covered call and it's assigned, the form shows a sale. The premiums appear as confusing "adjustments" or hidden in cost basis.

This guide walks you through real 1099-B examples from Interactive Brokers and shows you exactly what each box means.

Form 1099-B Overview

Your 1099-B (Proceeds from Broker and Barter Exchange Transactions) has these key boxes:

Box Label What It Contains
1a Proceeds Sale price × quantity (gross, before cost basis)
1b Cost or other basis Your cost to buy / premium you paid
1c Long-term or short-term LT if held 1+ year; ST if < 1 year
2 Gain/Loss 1a - 1b (broker's calculated gain/loss)
3 Wash sale loss disallowed If wash sale rules apply, loss is shown here
4 Codes Footnotes explaining the transaction type

Real Example 1: Cash-Secured Put Expires Worthless

You sell a $420 SPY put for $0.50 premium. It expires worthless on 10/8/2025.

Your 1099-B entry shows:

Proceeds (Box 1a):                $0.00
Cost or other basis (Box 1b):     $0.50
Long-term or short-term (Box 1c): ST
Gain/Loss (Box 2):                -$0.50
Code:                             Expiration / Termination

Why does it look like a loss?

The form treats the expired put like this:

  • Sale proceeds: $0 (nothing sold; it expired)
  • Cost basis: $0.50 (the premium you received; IRS treats this as a "cost")
  • Result: $0 - $0.50 = -$0.50 (appears as a loss)

But this isn't a loss! You made $0.50 profit (minus commissions).

What your accountant/TurboTax sees:

  • The form shows -$0.50 loss
  • But it's marked as "termination"
  • Tax software might misclassify this

How to fix it:

  1. In TurboTax: Manually reclassify as "Short-term Capital Gain" of $0.50
  2. Adjust for commissions: If you paid $0.65 commission, net gain is $0.50 - $0.65 = -$0.15 (actual loss after fees)

Real Example 2: Put Assigned

You sell a $420 SPY put for $0.50 premium on 10/1/2025. SPY drops; you're assigned on 10/22/2025.

Your 1099-B shows TWO entries:

Entry 1 (the put expiration/assignment):

Proceeds (Box 1a):                $42,000 (the $420 strike × 100 shares)
Cost or other basis (Box 1b):     $50 (the premium you collected)
Long-term or short-term (Box 1c): ST
Gain/Loss (Box 2):                -$41,950 (looks like huge loss!)
Code:                             Assignment / Exercise

This looks terrifying! But here's what's really happening:

  • The $42,000 "proceeds" isn't proceeds; it's the strike price × quantity
  • The $50 "cost basis" is your premium
  • The "loss" of $41,950 is just the mechanics of how IB reports assignments
  • In reality, you just bought 100 shares at $420 - $0.50 premium = $419.50/share

Entry 2 (the stock you now own): Shows your 100 SPY shares at $420 cost basis (the assignment price).

How to handle this on your taxes:

  1. Ignore the huge "loss" on the 1099-B
  2. Your real cost basis for the stock is $420 - $0.50 = $419.50
  3. When you later sell the stock, calculate gain/loss using $419.50 basis (not $420)
  4. The $0.50 premium is already accounted for in your basis

Key point: Don't be alarmed by the scary -$41,950 loss. It's just how the form reports assignment mechanics.

Real Example 3: Covered Call Assigned

You own 100 SPY, bought at $415/share. You sell a $430 call for $0.80 premium on 10/1/2025. Call is assigned on 10/15/2025. SPY is at $432.

Your 1099-B shows TWO entries:

Entry 1 (the call assignment/exercise):

Proceeds (Box 1a):                $43,000 (the $430 strike × 100 shares)
Cost or other basis (Box 1b):     $41,580 ($415 cost basis + $80 premium)
Long-term or short-term (Box 1c): LT (if you held stock 1+ year)
Gain/Loss (Box 2):                $1,420 (your actual capital gain)
Code:                             Assignment / Exercise / Sale

Here's what happened:

  • You sold 100 shares at $430 strike (forced by assignment)
  • Your cost basis: $415/share originally, but add the $80 premium you collected
  • Effective sale: $430 + $0.80 premium = $430.80 per share
  • Effective cost: $415
  • Capital gain: ($430.80 - $415) × 100 = $1,580 total

But wait, the form shows $1,420, not $1,580.

The discrepancy is usually:

  • The $80 premium is reported separately (or netted differently)
  • Commission adjustments
  • IB's specific accounting method

For taxes:

  • The form correctly shows your gain as approximately $1,420
  • This is taxed as long-term capital gain (if you held 1+ year) at 20% federal rate
  • Tax: $1,420 × 20% = $284

What you'll do in tax software:

  1. Enter the $1,420 long-term gain from the 1099-B
  2. The software calculates tax using the long-term rate (20%)
  3. Done!

Real Example 4: Put Spread (Both Legs)

You sell a put spread: Short $420 put / Long $418 put, for $0.25 credit. Both expire worthless on 10/22/2025.

Your 1099-B might show:

Entry 1 (short put):

Proceeds: $0
Cost basis: $0.25 (the credit you collected)
Gain/Loss: -$0.25 (appears as loss)
Code: Termination

Entry 2 (long put):

Proceeds: $0
Cost basis: $0
Gain/Loss: $0
Code: Termination

What's really happening:

  • You collected $0.25 credit for selling the spread
  • Both legs expire worthless
  • Your true profit: $0.25 (before commissions)

Why the form shows a loss on the short put:

  • The form treats each leg separately
  • Short put: Credit ($0.25) treated as cost basis; $0 proceeds = -$0.25 loss
  • Long put: Cost ($0) basis; $0 proceeds = $0 gain
  • Net: Appears as -$0.25 loss, but you actually made $0.25

For taxes:

  • Manually reclassify as short-term capital gain of $0.25
  • Or, your tax software might be smart enough to recognize this is a termination with credit

Real Example 5: Rolling a Covered Call

You roll a covered call: Close $430 call (bought back for $0.40), open new $440 call (sold for $0.65).

Your 1099-B shows:

Entry 1 (closing the old call):

Proceeds: $0.40 × 100 = $40
Cost basis: $80 (original sale price)
Gain/Loss: -$40 (shows as loss, but it's actually profit since you sold at $0.80, bought at $0.40)
Code: Closing / Buyback

This is confusing because:

  • You originally sold for $0.80
  • You bought back (closed) for $0.40
  • True profit: $0.40

But the form shows:

  • Proceeds: $40 (what you paid to close)
  • Cost basis: $80 (original sale)
  • Loss: -$40

The reality: This is how the form presents buybacks. The negative value represents your cost to buy back (not proceeds). Your true gain is $0.80 - $0.40 = $0.40.

Entry 2 (opening the new call):

Proceeds: $0.65 × 100 = $65
Cost basis: $0 (new sale, not purchased)
Gain/Loss: $65 (short-term gain)
Code: Opening / Sale

For taxes:

  1. Combine both entries: Close at -$40 (gain) + Open at $65 (gain) = Net $25 gain on the roll
  2. This is taxed as short-term capital gain

How to Reconcile Your 1099-B with Your Broker Statement

Step 1: Download your Activity Statement from IB

Go to StatementsActivity Statement → Download CSV.

Step 2: Export and review closed positions

Find all closed options positions. List:

  • Symbol and strike
  • Open price and date
  • Close price and date
  • Quantity
  • P&L

Step 3: Match to 1099-B

For each 1099-B entry:

  1. Identify the position (strike, expiration date)
  2. Find matching entry in Activity Statement
  3. Verify:
    • Proceeds match (strike price × quantity for assignments)
    • Cost basis is reasonable (premium for sales; cost for purchases)
    • Gain/loss is approximately correct

Step 4: Note discrepancies

If 1099-B doesn't match your statement:

  • Commission might be netted differently
  • Symbols might be formatted differently (SPY vs SPY @ 420)
  • Contact IB for clarification

Step 5: Adjust for tax software

When entering into TurboTax or H&R Block:

  • Reclassify obvious errors (expired puts shouldn't show as losses)
  • Account for commissions (IB might not include all)
  • Separate short-term from long-term by holding period

IB-Specific 1099-B Quirks

Quirk 1: Assignments Show as Negative Proceeds

When your put is assigned, IB reports the assignment as a "purchase" with negative proceeds. This looks like a loss, but it's not.

How to read it:

  • Negative proceeds = You paid the strike price
  • Cost basis (premium) = Reduces your cost basis
  • Net = You own stock at (strike - premium) basis

Quirk 2: Commissions Might Be Reported Separately

IB sometimes reports commissions separately from P&L. Your 1099-B might not include all your commissions.

Action: Export your Activity Statement CSV to see true commissions, then adjust your 1099-B P&L if needed.

Quirk 3: Multi-Leg Orders

If you opened a spread as a single order, IB might report each leg separately (both as opening trades) rather than one spread.

What it looks like:

  • Entry 1: Short $420 put at $0.60
  • Entry 2: Long $418 put at $0.35
  • Entry 3: Combined closing credit of $0.25

This is normal. Tax software usually handles it correctly.

Quirk 4: Partial Closes

If you close only part of a position (e.g., close 0.5 contracts of a 1-contract position), IB reports the close separately.

This creates confusion: Your original sale shows as one trade; your partial close shows as another.

1099-B Codes Explained

The "code" column in your 1099-B often includes helpful footnotes:

Code Meaning
A Acquisition (you bought something)
D Disposition (you sold something)
E Exercise (option was exercised/assigned)
X Expiration (option expired)
W Wash sale loss disallowed
F Fractional shares

For options, look for codes E (exercise/assignment) and X (expiration). These tell you how to classify the transaction.

What to Do If Your 1099-B is Wrong

If your 1099-B doesn't match your expectations:

Step 1: Download your Activity Statement

Verify all your trades are listed correctly in your activity statement.

Step 2: Contact IB Customer Service

Send them:

  • Your concern (specific transaction)
  • Activity Statement printout (CSV with the trade)
  • Your expected calculation

IB will usually correct it or explain the discrepancy.

Step 3: If IB won't fix it, file Form 8275 with your taxes

Form 8275 (Disclosure Statement) lets you explain why your tax return differs from IB's 1099-B.

Example:

  • IB reported: -$41,950 loss (on put assignment)
  • Your explanation: Assignment of put; no actual loss; cost basis adjusted to $419.50 instead
  • File Form 8275 with your return

Tax Software Handling of 1099-B

TurboTax

  1. In Investment Income, select "I have a 1099-B"
  2. Enter manually or import from CSV
  3. TurboTax asks you to classify as ST or LT
  4. Be careful: Pre-populated data might be wrong for options
  5. Verify each entry before filing

H&R Block

Similar process:

  1. Investment IncomeBrokerage Statements
  2. Enter data
  3. Verify classifications
  4. Lots of questions; answer carefully for options positions

Common 1099-B Mistakes

  1. Not reclassifying expired options

    • IB shows as loss; it's really a gain
    • Manually change to short-term gain
  2. Including assignment "losses" as real losses

    • The -$41,950 loss on put assignment isn't a real loss
    • It's just mechanics; your basis is reduced
  3. Forgetting commissions

    • 1099-B might not include all commissions
    • Verify against Activity Statement; adjust if needed
  4. Misclassifying short-term as long-term

    • Options are almost always short-term
    • Exception: Underlying stock held 1+ year before call assignment
  5. Not separating spreads

    • Multi-leg orders might appear as separate transactions
    • Combine them for accurate P&L

Platform Tools: Days to Expiry

When using Days to Expiry or similar platforms:

  • 1099-B reconciliation feature: Automatically checks your 1099-B against your trades
  • Discrepancy alerts: Flags IB/1099-B errors
  • Tax form export: Generates a summary for your accountant
  • Adjustment tracking: Records manual adjustments you made

Bottom Line: Reading Your 1099-B

Key takeaways:

  1. 1099-B reports broker transactions; it's not your true tax outcome

    • Assignments show as scary "losses"; they're not
    • Expirations show as losses; they're gains
    • Always reconcile against your Activity Statement
  2. Reclassify obvious errors

    • Expired options: Change from loss to gain
    • Assignments: Explain basis adjustment in notes
  3. Separate short-term from long-term

    • Options are almost always short-term (37% rate)
    • Exception: Stock held 1+ year, sold via call assignment (20% rate)
  4. Use your Activity Statement as the source of truth

    • More detailed than 1099-B
    • Shows exactly what you traded and when
    • Use this to verify your 1099-B
  5. When in doubt, ask IB or file Form 8275

    • IB customer service can clarify
    • Form 8275 lets you dispute 1099-B if needed

Related Articles

Master options taxes completely: