Income

Schedule D: Capital Gains and Losses

Reports capital gains and losses from the sale of investments and other capital assets.

Overview

Schedule D (Form 1040), Capital Gains and Losses, is the summary form that nets a client's capital-asset activity into a single short-term and long-term result that flows to the 1040. For a CPA firm it is rarely the form you actually work on — modern tax software computes Schedule D automatically once the detail is entered. The real engagement work, and almost all of the risk, sits one level up on Form 8949, where each disposition is reported and where cost basis has to be reconciled against the broker's 1099-B.

That distinction matters for scoping. A client with one consolidated 1099-B from a single brokerage, all lots covered and basis reported, is a fast return: the broker totals import or key in, Schedule D nets them, and you move on. A client with multiple brokers, transferred-in lots with no basis, RSU and ESPP sales the broker reported at the wrong basis, wash sales spanning accounts, or crypto dispositions across several exchanges can turn into hours of reconciliation — and a meaningful chunk of that time is chasing supplemental statements and explaining why the 8949 doesn't tie to the gross proceeds the IRS already has.

Mechanically, Schedule D separates short-term (held one year or less, taxed at ordinary rates) from long-term (held more than a year, taxed at the preferential 0/15/20% rates), nets within and then across the two buckets, and pulls in capital gain distributions, Section 1231 gains from Form 4797, K-1 capital activity, and prior-year carryovers. A net capital loss is deductible against ordinary income up to $3,000 per year ($1,500 MFJ-separate), with the remainder carried forward indefinitely. The Qualified Dividends and Capital Gain Tax Worksheet (or the Schedule D Tax Worksheet when 28% collectibles or unrecaptured Section 1250 gain is present) then taxes the long-term layer at the correct rate.

This guide is written from the preparer's seat. Rather than restate when 0/15/20% applies — material that IRS.gov and every consumer site already cover — it focuses on where firms actually lose time and create exposure: 1099-B reconciliation, covered vs. noncovered lots, missing and wrong basis, wash-sale adjustments, equity-comp double taxation, carryover continuity, and the digital-asset and collectibles wrinkles that don't fit the simple case.

Form 8949 reconciliation: where the real Schedule D work happens

Schedule D is a summary; Form 8949 is the work. Every disposition that needs anything beyond a clean covered-lot total — a basis correction, a wash-sale adjustment, a holding-period fix, a noncovered lot — is listed on 8949 with an adjustment code, and Schedule D simply nets the 8949 subtotals. Understanding that split is what lets a preparer scope a Schedule D engagement accurately: the question is never 'how many trades' but 'how many lots can be trusted as reported, and how many need to ride through 8949 with a code and a workpaper.'

The 8949 boxes encode the answer. Box A (short-term) and Box D (long-term) are covered lots with basis reported to the IRS — if they need no adjustment, they can be totaled straight onto Schedule D lines 1a and 8a and never touch 8949. Box B/E are transactions reported on a 1099-B but with basis not reported to the IRS, and Box C/F are noncovered lots or sales with no 1099-B at all. Sorting the consolidated 1099-B into these buckets at the start of the engagement immediately separates the quick lots from the ones that will consume time.

The proceeds total is the anchor. The IRS matches the gross proceeds reported on the 1099-B, so a firm should reconcile Form 8949 column (d) back to the broker's proceeds total even after adjusting basis — basis and gain can legitimately move, but proceeds should tie. A mismatch usually means a dropped lot, a double-counted transfer, or a mishandled option or short sale, and an unreconciled proceeds figure is a common trigger for an automated underreporting notice months later. Tying proceeds before transmitting is cheap insurance.

This is also why the form 'looking simple' is misleading. A 200-line 1099-B that is all covered, basis-reported, and adjustment-free is faster to prepare than a 12-line statement full of transferred-in noncovered lots, RSU sales with wrong basis, and a wash sale spanning two accounts. The line count doesn't predict the work; the reconciliation profile does.

Cost-basis pitfalls: covered vs. noncovered, missing basis, and equity comp

Cost basis is the highest-risk number on the return, and the broker's 1099-B is a starting point, not gospel. For covered securities — broadly equities acquired 2011 or later, mutual fund and DRIP shares from 2012, and most bonds and options from 2014 — the broker reports basis to the IRS, and a preparer can generally accept it after a sanity check. For noncovered lots, older holdings, and shares transferred in from another firm, the broker reports no basis or a basis it isn't standing behind, and sourcing that figure from trade confirmations, prior returns, or the client becomes the firm's job. Letting basis default to zero overstates the gain and the client's tax; leaving it blank invites an IRS notice.

Equity compensation is the most expensive basis trap in practice. When RSUs vest, the value is taxed as ordinary income in W-2 Box 1; when the shares are later sold, the broker frequently reports a cost basis that excludes that already-taxed income — often showing basis of zero for RSUs. Left uncorrected, the client pays tax twice on the same dollars. The fix is never to alter the 1099-B but to add the omitted ordinary-income component to basis on Form 8949 using adjustment code B, supported by the broker's supplemental statement or the equity provider's release report.

ESPP and nonqualified options carry their own version of the problem. ESPP shares have an ordinary-income element that varies with whether the disposition is qualifying or disqualifying, and NQSO exercises put a bargain-element spread into W-2 wages that should already be in basis. In each case the broker's reported basis may understate the true basis by the compensation amount, and the preparer reconciles to supplemental statements to get the ordinary-versus-capital split right. These are among the most common — and most material — errors on returns for tech and finance employees.

Inherited and gifted property round out the basis pitfalls. Inherited assets generally take a stepped-up basis at date-of-death fair market value and are automatically long-term; gifted assets carry over the donor's basis and holding period, with the dual-basis rule potentially substituting date-of-gift fair market value when the later sale is at a loss. Defaulting either to original cost, or treating inherited shares as short-term, is a recurring and avoidable mistake.

Wash sales, short/long netting, and carryover continuity

Wash sales are the adjustment a single broker can't fully see. The rule disallows a loss when substantially identical securities are bought within 30 days before or after the sale, with the disallowed loss added to the replacement lot's basis (code W). A broker flags wash sales only within its own account, so the preparer is responsible for catching repurchases across the client's other accounts, in a spouse's account, and — critically — in an IRA, where the disallowed loss is lost permanently rather than deferred into basis. Clients who trade the same ticker at two brokers, or harvest a loss while a robo-advisor or DRIP quietly repurchases, generate wash sales no single 1099-B will surface.

Netting determines the character of the result and is mechanical but worth confirming. Short-term losses first offset short-term gains and long-term losses first offset long-term gains; only the residual short-term and long-term figures net against each other. The combined result on Schedule D line 16 flows to the 1040. A net capital loss is deductible against ordinary income only up to $3,000 per year ($1,500 for married filing separately), so a large loss year produces a modest current deduction and a long carryover — a point worth setting client expectations on, because the refund impact is far smaller than the headline loss suggests.

Carryover continuity is where firms quietly lose value, especially on client transitions. Unused losses carry forward indefinitely but keep their short-term or long-term character (lines 6 and 14), and the only authoritative source is the prior return's Capital Loss Carryover Worksheet. When a client moves to the firm mid-stream, the carryover has to be reconstructed from prior returns before filing — and every year the worksheet should be saved forward, because a dropped carryover is a silent overpayment that's hard to detect later.

Loss-harvesting and carryover runway are the natural planning conversation that falls out of this. A client sitting on a large carryover can absorb future gains tax-free up to that amount, and a client with unrealized losses late in the year may benefit from harvesting — provided the wash-sale rule is respected on the repurchase. Surfacing the carryover balance and the harvesting opportunity is a high-value touchpoint that distinguishes a CPA-prepared Schedule D from software output.

Digital assets, collectibles, and the special-rate and special-basis cases

Digital assets are now a routine Schedule D item and a routine source of missing basis. Every sale, exchange (including crypto-to-crypto), or spend is a taxable disposition reported on Form 8949, regardless of whether a 1099 was issued, and lots typically span multiple wallets and exchanges with little reliable third-party basis. In practice the firm reconciles from the client's exchange records or a crypto tax aggregator, separates capital dispositions from ordinary-income events like staking rewards and airdrops, and confirms the 1040 digital-asset question is answered deliberately. Third-party reporting is expanding, but for now the basis burden largely sits with the taxpayer and preparer.

Collectibles and qualified small business stock break the simple 0/15/20% rate model. Long-term gain on collectibles is taxed at a maximum 28% rate through the 28% Rate Gain Worksheet, and the taxable portion of Section 1202 qualified small business stock gain is also a 28%-rate item (after any exclusion). When these appear — alongside unrecaptured Section 1250 gain from depreciation on real property, taxed at up to 25% — the return must compute tax on the Schedule D Tax Worksheet rather than the standard Qualified Dividends and Capital Gain Tax Worksheet. Software usually selects correctly, but a preparer should verify it on any return touching collectibles, QSBS, or rental-property depreciation recapture.

Several cross-form cases feed Schedule D over multiple years and deserve a tracking system. Section 1231 net gains from Form 4797 are treated as long-term capital gain and flow to Schedule D (net 1231 losses are ordinary), subject to the five-year nonrecaptured-loss lookback that can recharacterize gains as ordinary. Installment sales recognize gain ratably each year on Form 6252, and like-kind exchanges defer gain on Form 8824 with any boot recognized currently. These open items belong in the client's carryforward file so the recognition in later years isn't missed.

Finally, the 3.8% net investment income tax sits behind the whole schedule. Net capital gains are net investment income, so a large gain year can push a client over the MAGI threshold and add 3.8% via Form 8960 on top of the capital-gains rate — an effective rate clients rarely anticipate. Modeling the NIIT impact and the next-year estimate is part of doing the Schedule D well, not an afterthought, and it's exactly the kind of detail that justifies preparing the return at a firm rather than in consumer software.

Who Files This Form?

From a preparer's standpoint, the Schedule D question is upstream of the form: it's really a Form 8949 question. A client needs Schedule D whenever they disposed of a capital asset — stocks, bonds, mutual fund shares, crypto and other digital assets, a second home or land, collectibles, or an interest in a partnership or S corporation — or carry a capital loss from a prior year, or have Section 1231 gains from Form 4797 treated as long-term, or report a nonbusiness bad debt. Capital gain distributions from mutual funds and REITs (1099-DIV Box 2a) also land here.

The narrow exception worth knowing: if the only capital item is capital gain distributions with no other sales and no adjustments, the amount can go straight to Form 1040 with the Schedule D checkbox and no Schedule D or 8949 at all. In a firm setting that exception is less useful than it looks — most clients with distributions also sold something, have a carryover, or need a wash-sale or basis adjustment, any of which pulls Schedule D back in.

The transactions that consume firm time are the ones where the 1099-B can't simply be trusted at face value, so flag these at intake: noncovered lots and transferred-in shares where the broker reports no basis (Box E/F, basis not reported to the IRS); RSU, NQSO, and ESPP sales where the broker's basis omits the compensation income already taxed on the W-2 (the classic double-taxation trap); wash sales, especially across accounts or in a spouse's account or an IRA, which a single broker won't catch; crypto and digital-asset activity across multiple wallets and exchanges with little or no third-party basis; inherited property needing a stepped-up basis and an automatic long-term holding period; gifted property with carryover basis and dual-basis loss rules; installment sales (Form 6252) and like-kind exchanges (Form 8824) that feed in over multiple years; and collectibles or qualified small business stock with their own rate rules. Each of these changes the 8949 detail, the review depth, and the fee.

Key Fields

Form 8949 vs. Schedule D (the relationship that drives the work)

Schedule D is a one-page summary; Form 8949 is where each lot is listed and where every basis adjustment is made. Transactions are grouped by box: Box A/D are covered short/long-term with basis reported to the IRS, Box B/E are covered-status transactions with basis not reported, and Box C/F are noncovered or no-1099-B. Covered lots with no adjustments and no wash sale can be totaled directly on Schedule D lines 1a/8a and skip 8949 entirely — everything else has to ride through 8949 with a code.

Covered vs. noncovered lots (Box 12 / 'basis reported to IRS')

Brokers must report basis to the IRS only for 'covered' securities — generally equities acquired 2011 or later, mutual funds and DRIP shares 2012+, and most bonds/options 2014+. Noncovered lots (older holdings, transferred-in shares, some debt) show on the 1099-B with no basis or with basis the broker isn't standing behind. Those are the lots where the firm has to source basis from confirms, prior returns, or the client, and where errors cluster.

Column (e) cost or other basis

Reconcile this to the 1099-B for covered lots and source it independently for noncovered lots — never let it default to zero, which overstates gain. For inherited assets use date-of-death (or alternate-valuation) fair market value; for gifts apply carryover basis and the dual-basis loss rule. This is the single highest-risk number on the form.

Column (f) and (g) — adjustment code and amount

The mechanism for every correction: W for a disallowed wash-sale loss, B to correct broker-reported basis (e.g., RSU/ESPP basis that omits W-2 income), D for accrued market discount, T for term/holding-period corrections, N for nominee, and others. Most of a preparer's 8949 work is choosing the right code and computing column (g) — a code without a supporting workpaper is a red flag in review.

Wash-sale adjustment (code W)

A loss is disallowed when substantially identical securities are bought within 30 days before or after the sale; the disallowed amount is added to the replacement lot's basis. A single broker flags wash sales only within that account — cross-account, spousal-account, and IRA repurchases (which permanently disallow the loss) are the preparer's job to catch, and they are routinely missed when a client trades the same ticker in two places.

Line 13 — capital gain distributions

1099-DIV Box 2a distributions are long-term regardless of how long the client held the fund, and they appear even when no shares were sold. Box 2b (unrecaptured 1250), 2c (Section 1202 QSBS exclusion), and 2d (28% collectibles) feed the rate worksheets and are easy to overlook if you only key Box 2a.

Lines 6 and 14 — short-term and long-term carryovers

Prior-year unused losses carry forward by character (short-term to line 6, long-term to line 14) and must come from the prior return's Capital Loss Carryover Worksheet, not the client's memory. Carryover continuity is one of the most common things lost when a client switches firms mid-stream.

Lines 15, 16, and 7 — netting and the result that flows to the 1040

Short-term losses first offset short-term gains and long-term losses first offset long-term gains; only then do the two net against each other. Line 16 (or line 7 of the 1040) carries the combined result. A net loss is limited to $3,000 against ordinary income, so a $40,000 loss doesn't all land this year — set expectations accordingly.

Lines 18 and 19 — 28% rate gain and unrecaptured Section 1250 gain

Collectibles gain and the QSBS taxable portion fill the 28% Rate Gain Worksheet (line 18); depreciation on real property recaptured at up to 25% fills the Unrecaptured Section 1250 Gain Worksheet (line 19). When either is nonzero the return uses the Schedule D Tax Worksheet instead of the simpler Qualified Dividends and Capital Gain worksheet — verify the software picked the right one.

Line 20 — which tax worksheet computes the tax

The preferential-rate computation runs on either the Qualified Dividends and Capital Gain Tax Worksheet (typical case) or the Schedule D Tax Worksheet (when lines 18/19 are present). Software handles this, but a preparer should confirm it on any return with collectibles, 1250 recapture, or QSBS, because the wrong worksheet quietly mis-taxes the long-term layer.

Filing Deadlines

Due Date

April 15

With Extension

October 15

Late Filing Penalty

Filed with Form 1040; subject to the same failure-to-file and failure-to-pay penalties.

Step-by-Step Instructions

  1. 1

    At intake, inventory every account and source: each brokerage consolidated 1099-B, crypto exchanges and wallets, K-1s with capital activity (boxes for 1231/capital gains), sales of a residence or land (1099-S), and any installment or like-kind exchange already in progress.

  2. 2

    Pull the prior-year return for the Capital Loss Carryover Worksheet and any open installment sales, suspended losses, or basis schedules — establish carryover continuity before entering this year's activity.

  3. 3

    Import or key the 1099-B detail and sort lots by 8949 box (A/D covered basis-reported, B/E basis-not-reported, C/F noncovered or no 1099-B) so you know which lots can summarize directly and which must ride through Form 8949.

  4. 4

    Reconcile cost basis: accept covered-lot basis only after a sanity check, and independently source basis for noncovered and transferred-in lots from confirms, prior returns, or the client; never let basis default to zero.

  5. 5

    Apply equity-comp basis corrections: for RSU, NQSO, and ESPP sales, confirm whether the broker's basis already includes the compensation income reported on the W-2, and use code B to add the omitted ordinary-income component so the client isn't taxed twice.

  6. 6

    Scrub for wash sales beyond what the broker flagged — across accounts, in a spouse's account, and in IRAs (where the disallowed loss is lost permanently) — and enter code W adjustments with supporting workpapers.

  7. 7

    Handle the special bases: stepped-up basis and automatic long-term holding for inherited assets, carryover/dual basis for gifts, and the correct rate bucket for collectibles (28%) or qualified small business stock (Section 1202).

  8. 8

    Enter capital gain distributions (1099-DIV Box 2a) and the Box 2b/2c/2d components, and bring in Section 1231 results from Form 4797 and K-1 capital activity.

  9. 9

    Let the software net short-term and long-term, apply prior-year carryovers by character, and confirm the right tax worksheet is selected (Schedule D Tax Worksheet when 28% gain or unrecaptured 1250 gain is present, otherwise the Qualified Dividends and Capital Gain worksheet).

  10. 10

    Tie the 8949 proceeds total back to the 1099-B gross proceeds the IRS will match, document every adjustment code, and check whether the 3.8% net investment income tax (Form 8960) is triggered.

  11. 11

    If the year ends in a net loss, compute the $3,000 ordinary-income deduction and the carryover, and save the Capital Loss Carryover Worksheet to next year's file so the carryover isn't dropped.

  12. 12

    Review: confirm the Form 1040 digital-asset question is answered, reconcile totals to source documents, sanity-check the year-over-year delta, and set planning notes (loss-harvesting, carryover runway, estimates) for the client.

Common Mistakes to Avoid

Accepting broker-reported RSU/ESPP/NQSO basis at face value

Many brokers report only the amount the client paid (often $0 for RSUs) and omit the compensation income already taxed in W-2 Box 1, which double-taxes the client. Reconcile against the broker's supplemental statement or the equity-comp provider's report and add the omitted basis with an adjustment code (B) on Form 8949 — do not change the 1099-B figure itself.

Treating noncovered lots as if basis were reported

Lots in Box B/E/C/F may show blank, zero, or unverified basis. Source basis independently from trade confirmations, prior returns, transfer statements, or the client, and document it; entering zero overstates the gain, while leaving the broker's blank can understate or trigger an IRS notice.

Missing wash sales across accounts, spouses, or IRAs

A 1099-B flags wash sales only within that one account. Review all of the client's (and spouse's) accounts for repurchases of substantially identical securities within the 61-day window, and remember an IRA repurchase permanently disallows the loss. Add code W adjustments where required.

Dropping or mis-charactering prior-year carryovers

Carry short-term losses to line 6 and long-term losses to line 14 using the prior return's Capital Loss Carryover Worksheet — not the client's recollection. When onboarding a client mid-stream, reconstruct the carryover from prior returns before filing, and save the worksheet forward each year.

Using the wrong rate worksheet when 28% or 1250 gain is present

Collectibles (28%) and unrecaptured Section 1250 gain (up to 25%) require the Schedule D Tax Worksheet, not the simpler Qualified Dividends and Capital Gain Tax Worksheet. Confirm the software selected the right one on any return with rental-property depreciation recapture, collectibles, or QSBS.

Mishandling inherited and gifted property basis

Inherited assets get a stepped-up (date-of-death or alternate-valuation) basis and an automatic long-term holding period; gifted assets carry over the donor's basis and follow the dual-basis rule for losses. Defaulting either to the decedent's or donor's original cost — or to a short-term holding period for inherited shares — is a recurring error.

Forgetting the 3.8% net investment income tax and the digital-asset question

Net capital gains feed the NIIT on Form 8960 once MAGI crosses the threshold, which clients don't anticipate. And every 1040 now asks about digital-asset activity — answer it deliberately, because crypto dispositions belong on 8949/Schedule D even when no 1099 was issued.

Filing before a corrected 1099-B arrives

Brokers frequently issue corrected consolidated 1099s into March (reclassified dividends, revised basis, late wash-sale data). Transmitting on the original can force a 1040-X. Confirm the statement is final, and extend rather than rush an investment-heavy return that isn't reconciled.

Frequently Asked Questions

It should tie on proceeds; it's the basis and the resulting gain that move. The IRS matches the 1099-B gross proceeds total, so reconcile your Form 8949 column (d) proceeds to the broker's reported total even after you adjust basis. If proceeds don't tie, you've likely dropped a lot, double-counted a transfer, or mishandled an option or short sale — find it before transmitting, because a proceeds mismatch is a common automated-notice trigger.

Related Forms

TaxScout.ai extracts Schedule D automatically

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