Income

1099-B: Proceeds from Broker and Barter Exchange Transactions

Reports proceeds from the sale of stocks, bonds, mutual funds, and other securities.

Overview

Form 1099-B, Proceeds From Broker and Barter Exchange Transactions, is the reconciliation form of the investment return. For a CPA firm, it is rarely about whether a client 'had' a 1099-B — it is about whether the numbers the broker reported can be trusted and tied cleanly into Form 8949 and Schedule D. The form reports each sale or exchange of stocks, bonds, mutual funds, options, and (increasingly) digital assets, along with proceeds, cost basis, holding period, and any wash-sale disallowance the broker computed.

The practical work lives in the gap between what the broker reports to the IRS and what is actually correct on the return. Some lots are 'covered' — the broker reports basis to the IRS and it is generally reliable. Others are 'noncovered' — basis is the client's (and your) responsibility, and the 1099-B may show a blank, a zero, or an estimate. On top of that, equity compensation routinely produces a 1099-B that under-reports basis because the compensation element is already on the W-2, creating a double-taxation trap if the preparer accepts the form at face value.

Everything flows in one direction: the 1099-B populates Form 8949, where each transaction is reported with any basis or wash-sale adjustment and an adjustment code; the 8949 subtotals roll into Schedule D; and Schedule D nets the short-term and long-term results into the capital gain or loss that lands on Form 1040, Line 7. Understanding that chain — and where each correction has to be entered along it — is most of the skill.

This guide is written from the preparer's seat. Rather than restate the IRS box-by-box instructions, it focuses on where firms actually spend time and take risk: reconciling broker totals to the return, fixing RSU and ESPP basis, handling noncovered and missing-basis lots, applying wash-sale and other 8949 adjustment codes correctly, and dealing with the wave of crypto and exchange 1099s now arriving. The goal is a reference your staff can use while preparing the return, not a primer for a taxpayer filing their own.

The 1099-B → 8949 → Schedule D chain, and where corrections go

The defining feature of 1099-B work is that it is a pipeline, and every correction has a specific place in it. The broker's 1099-B is the source document; Form 8949 is where each transaction is reported and adjusted; Schedule D is where the adjusted results are netted; and Form 1040, Line 7 is where the net gain or loss arrives. Confusing the layers — for example, trying to 'fix' a basis problem by overwriting the proceeds, or netting on the 8949 instead of on Schedule D — produces returns that don't reconcile and draw notices.

The cleanest mental model is that Box 1e (reported basis) and Box 1d (proceeds) stay as the broker reported them, and any correction is expressed as an adjustment in column (g) of Form 8949 with a code in column (f) explaining it. This keeps the IRS's automated matching intact: the agency sees the same proceeds and reported basis the broker filed, plus a coded, quantified reason your taxable gain differs. Overwriting the broker's figures instead of adjusting them is the single most common way a correct economic result still generates a CP2000.

There is one efficiency the chain allows. For covered transactions with basis reported to the IRS and no adjustments, you can summarize directly on Schedule D and skip line-by-line 8949 entry — invaluable on a return with hundreds of clean lots. The judgment call is recognizing which blocks qualify for the shortcut and which must be detailed on the 8949 because they carry a wash sale, a basis correction, or a noncovered category.

Covered vs. noncovered: who owns the basis

The covered/noncovered distinction is the backbone of how 1099-B data is trusted. For covered securities — broadly, stocks acquired after 2011 and mutual-fund and dividend-reinvestment shares after 2012 — the broker reports basis to the IRS and that figure is generally dependable. For noncovered securities, the broker may report proceeds but not basis, and even when a basis appears it may be an estimate the client (and you) must verify or replace.

Practically, noncovered lots are where the reconstruction work lives. Long-held positions, shares transferred in from another broker, inherited and gifted securities, and shares from old DRIP plans frequently land in the noncovered buckets with basis that is blank, zero, or wrong. The preparer's job is to rebuild it from purchase confirmations, transfer statements, estate documents (for a stepped-up basis), gift records (for carryover basis), and corporate-action history. Letting the software default a noncovered lot to zero basis is a guaranteed overstatement of gain — and a refund the client should have kept.

This distinction also drives Form 8949 categorization. Short-term lots split into Box A (basis reported), Box B (noncovered/basis not reported), and Box C (no 1099-B); long-term lots split the same way into Boxes D, E, and F. Assigning each block to the right category is what allows the IRS to match your 8949 against the broker's 1099-B. A miscategorized block can produce a notice even when the gain is exactly right, so reading the consolidated statement's section headers carefully is not busywork — it is what keeps the return off the notice queue.

The equity-comp double-tax trap: fixing RSU and ESPP basis

The most valuable thing a preparer does with a 1099-B is catch the equity-compensation basis problem, because the client almost never catches it themselves and the broker won't fix it. When RSUs vest or an ESPP purchase completes, the compensation element is already included in W-2 Box 1 and taxed as ordinary income. But the broker's 1099-B typically reports basis as only what the client paid out of pocket — often zero for RSUs, or the discounted price for ESPP — which means that same income is taxed a second time as a phantom gain on the sale.

The fix is mechanical once you have the right document: the broker's supplemental statement (sometimes called a 'cost basis detail' or 'gain/loss supplement'), which shows the 'adjusted' or 'corrected' basis including the compensation income. You report the transaction on Form 8949 with the broker's reported basis, then enter an adjustment in column (g) with code B to bring basis up to the correct figure, so the taxable gain reflects only the post-vesting appreciation. Do not simply type the corrected basis into Box 1e — adjusting through the 8949 keeps the return reconcilable to what the broker filed.

ESPP adds a second layer: whether the disposition is qualifying or disqualifying changes how much of the discount is ordinary income versus capital gain, and the W-2 may or may not already include the ordinary portion. A disqualifying disposition usually adds ordinary income that should also lift basis; a qualifying disposition follows different rules. For ISOs, exercise-and-hold can trigger AMT in the exercise year and a basis difference between regular tax and AMT later. Flagging 'did you sell any employer stock?' at intake is what surfaces all of this before it becomes a double-taxed return.

Wash sales, adjustment codes, and reconciling broker totals

Wash-sale handling is where preparer judgment most often beats the broker's number. A wash sale disallows a loss when a substantially identical security is bought within 30 days before or after the sale; the disallowed loss is added to the replacement lot's basis. Brokers compute this and report it in Box 1g (code W), but they only see one account. Losses disallowed by purchases in a different taxable account, an IRA, or a spouse's account are invisible to the broker and become the preparer's responsibility to identify and report on Form 8949. Clients who trade the same names across several platforms are the classic exposure.

Adjustment codes are how every correction is communicated to the IRS. Code W carries the wash-sale disallowance; code B carries a basis correction (the RSU/ESPP fix and outright broker-basis errors); other codes cover disallowed losses, market discount on bonds, and incorrect proceeds. The code lives in Form 8949 column (f) and the dollar adjustment in column (g). Using the correct code matters: it is the documented reason your taxable gain differs from the broker's reported figures, and it is what keeps an adjusted lot from looking like an underreport.

Reconciliation is the discipline that ties it all together. Before subtotaling, your Form 8949 proceeds within each reporting category should match the broker's reported proceeds on the 1099-B. When they don't, the cause is almost always a missing lot, a gross-versus-net-of-fees mismatch on proceeds, or a block dropped into the wrong category. Reconciling proceeds first — and only then defending basis adjustments — is what lets a firm sign a high-volume investment return with confidence that it will survive IRS matching.

Crypto, exchange 1099s, and what's changing in broker reporting

Digital-asset reporting is the fastest-moving area of 1099-B practice and the one most likely to trip up a return. Broker reporting for digital assets is being phased in, with gross-proceeds reporting arriving before basis reporting, so for a given year you may receive an exchange form that shows proceeds but little or no reliable basis. Confirm exactly which year and which exchange you are dealing with rather than assuming the rules from a prior season carry forward — this is a place to verify current-year requirements before relying on them.

The deeper problem is that a single exchange's form rarely tells the whole story. Clients move assets between exchanges and into self-custody wallets, swap one token for another (a taxable disposition), and transact off-platform — none of which a single 1099 captures, and transfers in can arrive with no basis at all. The only reliable approach is to reconcile the client's complete transaction history across every exchange and wallet, then build the 8949 from that, treating any issued 1099 as one data source to reconcile against rather than the source of truth.

Critically, a disposition of digital assets is reportable whether or not any form was issued, so the absence of a 1099 is never a reason to omit the activity. The Form 1040 digital-asset question makes the omission conspicuous, and the matching environment is tightening as broker reporting expands. Treating crypto clients as a recognizable pattern — with a standing intake question, a request for full exchange exports, and basis reconstruction in the workpapers — is what lets a firm prepare these returns consistently instead of scrambling each spring.

Who Files This Form?

Strictly speaking, the broker or barter exchange files Form 1099-B; the client receives it and the firm uses it to build the capital-gains portion of the return. For scoping purposes, the better question is which clients generate 1099-B work and how much. Any client with a taxable brokerage account, a robo-advisor, an employer equity plan (RSUs, ESPP, NQSO, ISO), a crypto exchange account, or activity in options or futures will surface one or more 1099-Bs, and each one changes the document checklist and the review depth.

Volume and complexity vary enormously. A single buy-and-hold client who sold one fund position produces a one-line 8949. An active trader or a client with several managed accounts can produce hundreds or thousands of transactions, wash sales across accounts, and consolidated 1099s that arrive — and get corrected — late in the season. Flag at intake: equity-comp clients (basis correction against the broker supplemental statement is almost always required); clients who changed brokers or transferred accounts mid-year (transferred lots often arrive as noncovered with no basis); inherited or gifted securities (stepped-up or carryover basis the broker won't know); and crypto activity (multiple exchanges, transfers between wallets, and basis that no single 1099 captures).

A few situations deserve a standing intake question because they reliably produce errors if missed. Did the client exercise or sell any employer stock this year? Did they hold marketplace investments at more than one broker (wash sales can cross accounts the IRS reconciles separately)? Did they receive a 'corrected' 1099 after the original — common with mutual funds and brokers that reclassify distributions? And did they trade crypto on any exchange, even if no 1099 was issued, since the disposition is reportable regardless of whether a form arrived? Each of these is cheaper to catch at intake than to chase after a CP2000 notice.

Key Fields

Box 1a — Description of property

Identifies the security and share count. On consolidated 1099-Bs this is usually fine, but for option contracts, fractional shares from reinvestment, and crypto it can be ambiguous. Match it to the client's records when basis is in question, because the description is what ties a lot to the supplemental statement you'll use to correct it.

Boxes 1b / 1c — Date acquired and date sold

Drives the short-vs-long-term split. Watch for 'Various' in the acquired field on aggregated lots, inherited property (treated as long-term regardless of the holding period), and wash-sale replacement lots whose holding period tacks on. A wrong holding period quietly misclassifies the gain and changes the rate.

Box 1d — Proceeds

Generally reliable, but confirm whether the broker reported gross or net of fees (Box 6), since that changes the basis you enter to keep the gain correct. For options, proceeds and the underlying assignment can be reported in ways that need reconciliation.

Box 1e — Cost or other basis

The single most error-prone figure on the form. It is reliable for covered lots, often blank or wrong for noncovered lots, and almost always understated for RSU/ESPP shares because it omits the compensation income already taxed on the W-2. Never transcribe Box 1e blindly for equity comp — reconcile to the supplemental statement first.

Box 1f / 1g — Adjustment code and amount

Box 1g most often carries the broker's wash-sale loss disallowance (code W). It may also reflect other reported adjustments. Treat the broker's wash-sale figure as a starting point, not gospel, especially when the client trades the same security across multiple accounts the broker cannot see.

Box 2 — Short-term / long-term and ordinary

Tells you which Part of Form 8949 the lot belongs in and whether gain is ordinary (e.g., certain bond and market-discount situations). Sort by this before anything else; mixing short- and long-term lots is a common transcription error on hand-entered returns.

Box 3 — Basis reported to the IRS / Box 5 — Noncovered

These two boxes decide which Form 8949 reporting category (Box A/B/C for short-term, D/E/F for long-term) the transaction uses. Covered lots with basis reported go to the 'A'/'D' categories; noncovered lots go to 'B'/'E'; lots with no 1099-B go to 'C'/'F'. Getting the category right is what lets the IRS match your 8949 to the broker's filing.

Box 4 / Boxes 14-16 — Federal and state withholding

Backup withholding (Box 4) and any state withholding are real payments that must be carried to the 1040 and the state return. They are easy to overlook on a high-volume consolidated 1099 where the focus is on gains, but missing them costs the client a credit.

Box 12 — Basis reported to IRS (consolidated layout)

On many brokers' consolidated statements the covered/noncovered distinction is presented as section headers rather than discrete boxes. Read the section headings ('Short-term — basis reported,' 'Long-term — basis not reported,' 'Transactions not reported to the IRS') to assign each block to the correct 8949 category.

Filing Deadlines

Due Date

January 31

Late Filing Penalty

Penalties range from $60 to $310 per form for late filing.

Step-by-Step Instructions

  1. 1

    Collect every 1099-B, including the full consolidated statement (not just the summary page) and the broker's supplemental or 'cost basis detail' statement, which is where corrected basis for equity comp lives.

  2. 2

    Confirm you have the final, not preliminary, statement — brokers and funds routinely issue corrected 1099s in February and March, and filing on a preliminary version forces a 1040-X.

  3. 3

    Identify equity-comp activity up front (RSU vesting, ESPP purchases, option exercises) and pull the supplemental statement, because the reported Box 1e basis on those lots is almost certainly understated.

  4. 4

    Segregate transactions into the six Form 8949 categories using Box 3/Box 5 (or the consolidated section headers): short-term A/B/C and long-term D/E/F, by whether basis was reported to the IRS.

  5. 5

    For covered lots with basis reported and no adjustments, you can generally summarize directly on Schedule D without listing each line on Form 8949 — use this to keep high-volume returns manageable.

  6. 6

    For lots needing any adjustment — corrected basis, wash sale, disallowed loss, market discount — report them on Form 8949 with the proceeds and reported basis, then enter the adjustment amount and the correct code in column (f)/(g).

  7. 7

    Correct RSU/ESPP basis by adding the compensation income already taxed on the W-2 to the reported basis, entering the result via a Form 8949 adjustment (code B) rather than overwriting Box 1e, so the return reconciles to what the broker reported.

  8. 8

    Reconcile each holding period's proceeds total back to the 1099-B before subtotaling — your Form 8949 proceeds by category should tie to the broker's reported proceeds so the IRS match is clean.

  9. 9

    Carry Form 8949 subtotals to Schedule D, net short-term against long-term, and apply the $3,000 ordinary-income loss limit with any carryover tracked in the workpapers and the software's carryforward schedule.

  10. 10

    Pull in capital loss carryforwards from the prior year and confirm they match the prior return — a dropped carryforward is a silent, recurring error across engagement years.

  11. 11

    Tie the Schedule D net to Form 1040, Line 7, clear every software diagnostic, and document in the workpapers how any basis or wash-sale adjustment was derived, since these are the figures most likely to draw a notice.

  12. 12

    For crypto and exchange activity, reconcile the 1099 (if any) against the client's transaction export, because a single exchange 1099 rarely captures transfers, off-exchange disposals, or basis from another platform.

Common Mistakes to Avoid

Accepting RSU/ESPP basis straight from Box 1e

Broker 1099-Bs commonly report only the discounted purchase price or a zero basis for equity-comp shares, ignoring the compensation income already in W-2 Box 1. Left unadjusted, the client is taxed twice. Reconcile to the broker's supplemental statement and add the W-2 income to basis via a Form 8949 adjustment (code B).

Treating the broker's wash-sale figure as final

The broker only sees one account. Wash sales triggered by purchases in a different account, an IRA, or a spouse's account are the client's responsibility to identify. Review activity across all accounts before relying on the Box 1g disallowance, and adjust on Form 8949 (code W) where the broker missed one.

Mishandling noncovered or missing-basis lots

For noncovered securities (Box 5) and transferred lots, basis may be blank, zero, or estimated. Reconstruct it from the client's records, transfer statements, or corporate-action history — do not let the software default a zero basis that overstates the gain. Report these in the 8949 'B'/'E' (or 'C'/'F') categories.

Putting transactions in the wrong Form 8949 category

Covered vs. noncovered and basis-reported vs. not determines the A/B/C and D/E/F category. A miscategorized block breaks the IRS's automated match against the broker's 1099-B even when the gain is right, and can generate an unnecessary notice.

Filing on a preliminary or pre-correction 1099

Consolidated 1099s and mutual-fund 1099s are frequently corrected weeks after the original. Confirm the statement is final, and for clients prone to reclassifications, consider holding or extending rather than amending on a 1040-X later.

Dropping the prior-year capital loss carryforward

Net losses above the $3,000 annual limit carry forward and must be pulled into the current Schedule D. Verify the carryforward against the prior-year return every season; it is one of the most common quiet errors when a client switches preparers.

Under-reporting crypto because no 1099 arrived

A disposition of digital assets is reportable whether or not an exchange issued a 1099. Reconcile the client's full transaction history across exchanges and wallets — relying on a single exchange's form will miss transfers, swaps, and off-platform sales.

Frequently Asked Questions

Each reportable transaction is entered on Form 8949 (Part I short-term, Part II long-term), where basis and wash-sale adjustments are made with an adjustment code. The 8949 subtotals carry to Schedule D, which nets short- and long-term results and applies the $3,000 loss limit, and the Schedule D net lands on Form 1040, Line 7. Knowing where in that chain each correction belongs is the core skill.

Related Forms

TaxScout.ai extracts 1099-B automatically

AI-powered extraction with 5-layer validation. No manual data entry.