How to Fill Out Form 8949: Parts, Checkboxes, and Adjustment Codes

Form 8949 is the IRS form where you list each investment sale for the year, one row at a time, so the totals can flow to Schedule D. To fill out Form 8949, sort every sale into short-term (Part I) or long-term (Part II), check the box that matches how your broker reported the cost basis, and complete the eight columns for each transaction, using an adjustment code when your numbers differ from what appears on your 1099-B or 1099-DA.1Internal Revenue Service. About Form 8949 – Sales and Other Dispositions of Capital Assets Matching the broker’s reporting is the single biggest thing that keeps automated notices out of your mailbox.

Sales that belong on the form include stocks, bonds, ETFs, mutual fund shares, cryptocurrency and other digital assets, collectibles, and investment real estate that doesn’t qualify for the Section 121 home-sale exclusion.2Internal Revenue Service. Instructions for Form 8949 You report whether you made money or lost it.

Sort Each Sale Into Part I or Part II

Part I is for short-term transactions, meaning assets held one year or less. Part II is for long-term transactions, meaning assets held more than one year.3Internal Revenue Service. IRS Form 8949 – Sales and Other Dispositions of Capital Assets The span between the acquisition date and the sale date tells you which part a row belongs in.

Inherited assets follow a different rule. Regardless of how long the person who died owned the property, your holding period is automatically long-term, and the cost basis resets to the fair market value on the date of death.4Internal Revenue Service. Gifts and Inheritances If you inherit stock and sell it a week later, it goes in Part II.

Pick the Right Checkbox

Inside each part, you check a box that tells the IRS how the basis was reported. Getting this wrong is the most common trigger for a CP2000 notice, which the IRS sends automatically when its records don’t match yours.5Internal Revenue Service. Topic No. 652, Notice of Underreported Income – CP2000 If your transactions fall into more than one category, you’ll need more than one copy of Form 8949.

Boxes A Through F: Stocks, Bonds, and Other Non-Digital Assets

Part I uses Boxes A, B, and C. Part II uses Boxes D, E, and F. The logic runs the same in both parts.

  • Boxes A and D cover transactions where the broker reported the basis to the IRS on Form 1099-B and no adjustment is needed. Most routine stock sales land here.
  • Boxes B and E cover transactions where the broker reported the basis but you need to adjust it. Common reasons include wash sales, RSU sales with an incorrect broker basis, and mergers or spinoffs that changed your basis.
  • Boxes C and F cover transactions where the basis was not reported to the IRS at all. This is typical for inherited property and older investments purchased before brokers were required to track basis.

Boxes G Through L: Digital Assets

Starting with the 2025 tax year, digital asset transactions have their own checkboxes rather than sharing Boxes C and F. Short-term crypto sales use Boxes G, H, and I in Part I. Long-term crypto sales use Boxes J, K, and L in Part II.6Internal Revenue Service. Instructions for Form 8949 – Sales and Other Dispositions of Capital Assets The three-way logic (basis reported with no adjustment, basis reported with an adjustment, basis not reported) is the same as A through F. Use these dedicated boxes for crypto instead of the older set.

Fill In the Eight Columns

Each transaction takes one row across eight columns.

Column (a) — Description of property. A brief identification of what you sold, such as “100 sh XYZ Corp” or “2.5 Bitcoin.” Specific enough to match the corresponding line on your 1099-B.

Column (b) — Date acquired. The date you originally bought or received the asset. For inherited property, enter “INHERITED” or the date of the decedent’s death. When you bought the same security in multiple lots, use the acquisition date of the specific lot you sold.

Column (c) — Date sold or disposed of. The date of the sale. The gap between (b) and (c) confirms your holding period.

Column (d) — Proceeds. The total you received from the sale, taken from the 1099-B. This should be the gross amount before commissions, but brokers handle fees differently, so check your 1099-B against your actual trade confirmations.

Column (e) — Cost or other basis. What you paid for the asset, including purchase commissions. For Boxes A, B, D, or E, start with the basis the broker reported. For Boxes C, F, or the digital asset boxes where basis wasn’t reported, you calculate this yourself, including the original purchase price plus any reinvested dividends or capitalized costs.

Column (f) — Code(s) from instructions. Leave blank for Box A or D transactions. For anything else, enter a letter code that explains why your numbers differ from the broker’s.

Column (g) — Amount of adjustment. The dollar amount tied to the code in column (f). Positive when the adjustment increases basis (reducing gain), negative in parentheses when it decreases basis.

Column (h) — Gain or (loss). Proceeds minus basis, then plus or minus the adjustment. Column (d) minus column (e), combined with column (g). A negative result is a loss. This is the figure that flows to Schedule D.

When to Use an Adjustment Code

Any row in Boxes B, C, E, F, or the digital asset equivalents needs a code in column (f) that explains the mismatch with the broker’s numbers.

Code W for Wash Sales

A wash sale happens when you sell a security at a loss and buy the same or a substantially identical security within a 61-day window: 30 days before the sale through 30 days after. The loss is disallowed, and the disallowed amount is added to the basis of the replacement shares.7Internal Revenue Service. Link and Learn Taxes – Case Study 1: Wash Sales

Enter “W” in column (f) and the disallowed loss as a positive number in column (g). If you sold stock for a $500 loss that triggered the rule, column (f) shows W and column (g) shows 500. Column (h) then reports zero loss on that sale, and your basis in the replacement shares carries the extra $500 forward.

Code B for an Incorrect Basis on the 1099-B

Code B is for correcting a broker-reported basis that’s simply wrong. This comes up constantly with RSUs and shares from employee stock purchase plans, where brokers frequently report basis as $0 or ignore the compensation income you already paid tax on at vesting. Without the correction, you pay tax twice: once as wages on your W-2 and again as capital gains here.

Enter the broker’s reported basis in column (e), put “B” in column (f), and use column (g) to bring the basis to the correct number. For RSUs, the correct basis is typically the fair market value on the vesting date, which should tie to the compensation reported on your W-2.

Code O for Other Adjustments

Code O is the catch-all when no dedicated letter fits. One common use is separating out unrecaptured Section 1250 gain on depreciated real property, which is taxed at a maximum 25% rate rather than the standard long-term rate. Keep documentation for anything you enter under Code O.

Other Codes You May Need

  • Code L for a loss that is partly or fully non-deductible because of basis limitations in a pass-through entity such as an S corporation or partnership.
  • Code T for a gain deferred through a transaction like a Section 1031 like-kind exchange of investment real estate. Code T requires attaching a supporting statement to the return.
  • Code N for gain that qualifies for the qualified small business stock exclusion under Section 1202. Any gain above the exclusion limit still gets reported on Form 8949.8Office of the Law Revision Counsel. 26 U.S. Code 1202 – Partial Exclusion for Gain From Certain Small Business Stock

Move the Totals to Schedule D

The last line of each part on Form 8949 produces subtotals for columns (d), (e), (g), and (h). Those totals carry to Schedule D.1Internal Revenue Service. About Form 8949 – Sales and Other Dispositions of Capital Assets Short-term totals from Part I flow to Line 1b of Schedule D. Long-term totals from Part II flow to Line 8b.9Internal Revenue Service. Instructions for Schedule D (Form 1040)

Schedule D then combines your Form 8949 totals with items that don’t require Form 8949, such as capital gain distributions from mutual funds, and nets short-term against long-term. If the final result is a net loss, you can deduct up to $3,000 per year against other income ($1,500 if married filing separately), and any excess carries forward.10Internal Revenue Service. IRS Schedule D (Form 1040) – Capital Gains and Losses The final figure from Schedule D goes on Line 7 of Form 1040.11Internal Revenue Service. Instructions for Schedule D (Form 1040)

Keep the Records That Back Up Each Row

Every column on Form 8949 has to come from somewhere. Keep documentation of each acquisition date, purchase price, sale date, and sale price. For inherited assets, that means the fair market value on the date of death. For RSUs, the vesting-date price and your W-2. For cryptocurrency, exchange records, wallet transfer logs, and lot-level identification records.

The IRS expects you to keep property records until the statute of limitations expires for the year of the sale, which is at least three years after filing the return that reports the sale, or six years if you understated income by more than 25% of gross income.12Internal Revenue Service. How Long Should I Keep Records? For assets you still own, keep purchase records indefinitely, because you’ll need them whenever you eventually sell.

If an incorrect basis leads to a significant understatement of tax, the IRS can add an accuracy-related penalty of 20% on top of the underpaid amount. A substantial understatement for individuals means tax was understated by the greater of 10% of the correct tax or $5,000, and failing to report income that appeared on a 1099-B is one of the IRS’s own examples of negligence.13Internal Revenue Service. Accuracy-Related Penalty