Form 8949 – How to Report Capital Gains & Losses

Form 8949
A few busy seasons ago, I got a familiar handoff, a thick stack of broker statements and a note, “Sales are fine, we are stuck on 8949.” Nothing was wrong with the client, the bottleneck was delivery. Trades were split into the wrong boxes, wash sales were half applied, and totals did not tie to Schedule D. We slowed down, organized the workpapers, and followed one simple checklist. The file moved, the reviewer relaxed, and the client got a clean result. You can get that same calm finish, even in peak season, when you treat Form 8949 as a system, not a scramble.

Scale Your CPA Firm Without Adding Headcount

Build your offshore team that works your way, trained, compliant, and white-labeled under your firm.

???? Book a Discovery Call

Form 8949 is your transaction log, it reconciles what you report with what your brokers reported to you and to the IRS, then passes exact subtotals to Schedule D.

Key Takeaways

  • Form 8949 lists each reportable capital transaction with description, dates, proceeds, basis, and any adjustments, then carries subtotals to Schedule D for netting.
  • Use Part I for short term, one year or less, and Part II for long term, more than one year. Mark boxes A, B, C or D, E, F to match the broker’s basis reporting status and whether adjustments apply.
  • If basis is reported and there are no adjustments, you may be able to summarize directly on Schedule D under the exception rules. Otherwise, keep detail on Form 8949 or attach a statement in 8949 format.
  • The annual net capital loss deduction limit remains 3,000 for most individuals, 1,500 if married filing separately, with unlimited carryforward of any excess.
  • Digital asset reporting is phasing in. Brokers report gross proceeds on new Form 1099‑DA for 2025 transactions, with basis reporting on some 2026 sales, and the IRS issued 2025 transition relief for brokers. You still must report your gains and losses on Form 8949.

What Is IRS Form 8949

Form 8949 is your per‑transaction ledger for capital assets, from stocks and ETFs to crypto, collectibles, and some real estate sales. It reconciles what appears on Forms 1099‑B or 1099‑S with what you put on your return, then feeds those category totals into Schedule D, where your overall capital gain or loss is computed. In short, 8949 is for detail, Schedule D is for the net.

You split every sale by holding period and by basis reporting status. Short‑term items live in Part I, long‑term items in Part II. Boxes A, B, C indicate short‑term status and whether basis was reported, while D, E, F mirror that for long‑term. Choose the box before you enter a line, it signals to the IRS how the sale was reported by the broker.

Why Firms Especially Care

If you run a CPA or EA firm, the constraint is rarely demand, it is delivery. Form 8949 is where teams lose time when trades land in the wrong box, wash sales are missed across accounts, or attachments do not mirror 8949 columns. Review loops expand and deadlines wobble. The fix is not heroics, it is structure, consistent naming, and a simple checklist that everyone follows. If you build that discipline into your workflow, 8949 stops being the ceiling on growth and becomes another predictable step that protects reviewer time and client trust.

Hundreds of Firms Have Already Used This Framework.

Join the growing list of CPA and accounting firms using Accountably’s Offshore Playbook to scale faster.

???? Get Your FREE Playbook

When You Must File Form 8949

You file Form 8949 when a sale or exchange of a capital asset needs per‑item detail. If basis was reported to the IRS and there are no adjustments, you can often skip line‑by‑line entry and place totals directly on Schedule D under the exception rules. If basis was not reported or you need to adjust basis or gain, keep those items on Form 8949 or on an attached statement that mirrors 8949 columns.

Decision Table

Situation Use 8949? Notes
Basis reported, no adjustments Often no per‑item, totals to Schedule D Follow the exception described in the 8949 instructions
Basis reported, with adjustments Yes Put codes and amounts in columns (f) and (g)
Basis not reported Yes Provide basis and support
No 1099‑B received Yes Report proceeds and basis with documentation
Wash sale or corrected basis Yes Use code W or T with the dollar amount
Summaries allowed Always carry to Schedule D Keep short term and long term separate

Attached statements must follow the same columns and format as Form 8949. A simplified list is not enough for e‑file or paper.

Short‑Term Vs Long‑Term, Plus Boxes A Through F

Start with the holding period. One year or less is short term, Part I. More than one year is long term, Part II. Inside each part, choose the correct box to reflect whether basis was reported to the IRS and whether an adjustment applies. This split controls whether you can summarize on Schedule D or must include itemized detail.

Box Mapping At A Glance

Holding period Box Basis reported to IRS Typical action
Short‑term A Yes, no adjustments May summarize on Schedule D line 1a if you meet exception rules
Short‑term B No Detail on 8949 or 8949‑format statement, then total on Schedule D
Short‑term C No 1099‑B Report on 8949 or 8949‑format statement
Long‑term D Yes, no adjustments May summarize on Schedule D line 8a if you meet exception rules
Long‑term E No Report on 8949 or 8949‑format statement
Long‑term F No 1099‑B Report on 8949 or 8949‑format statement

Why This Mapping Matters

The box choices tell the IRS exactly how your broker handled basis, which is why wrong boxes trigger notices. If you attach statements instead of typing every line, they must look like 8949, with the same columns, codes, and totals by category, so Schedule D can pick them up without confusion.

How Form 8949 Connects To Schedule D

Form 8949 is where you capture transaction‑level detail and adjustments. Schedule D nets short‑term and long‑term categories, applies carryovers, and determines your taxable result. The IRS product page lays out this connection, and the Schedule D page links back to 8949 so you can confirm the flow in either direction.

Improve Margins Without Compromising Quality

Offshore staffing helps firms deliver more, scale faster, and stay compliant, without adding local headcount.

???? Book a Discovery Call
  • On 8949, separate trades into Part I and Part II, then group by boxes A through C or D through F.
  • Total proceeds, basis, and adjustments for each box category.
  • Transfer those subtotals to the matching lines on Schedule D.
  • Schedule D nets short‑term and long‑term results and applies prior‑year carryovers and the annual loss limit.

The Prep List That Prevents Rework

Gather these up front and you will save hours in review.

  • All Forms 1099‑B and any supplemental statements that show covered status, wash sale amounts, and fees.
  • Acquisition and sale dates for each lot, not just the position.
  • Cost basis per lot, including commissions and fees, plus notes for splits, mergers, return of capital, and DRIP reinvestments.
  • Required adjustment codes and amounts, for example W for wash sale, T for corrected basis, Z for qualified opportunity fund deferrals.
  • Proof for sales without a 1099‑B, such as private transactions or some digital asset disposals.

Step‑By‑Step, Part I Short‑Term

  • Confirm a one‑year‑or‑less holding period, then check box A, B, or C at the top of Part I.
  • For each sale, enter description, date acquired, date sold, proceeds in column (d), and cost or other basis in column (e).
  • If an adjustment applies, enter the code in column (f), for example W for wash sale or T for corrected basis, and enter the amount in column (g).
  • Compute column (h) as proceeds minus basis, plus or minus the adjustment.
  • Total columns (d) through (h) for the box category and carry the subtotal to the matching Schedule D line.

Step‑By‑Step, Part II Long‑Term

  • Confirm a more‑than‑one‑year holding period, then check box D, E, or F at the top of Part II.
  • Enter description, dates, proceeds, and basis in the same columns as Part I.
  • Apply codes in column (f) with dollar amounts in column (g) when needed.
  • Total proceeds, basis, and adjustments, compute the long‑term result in column (h), and move the subtotal to the correct Schedule D line. Keep proof of dates, basis, and adjustments with the file.

Adjustment Codes That Actually Matter In Reviews

The most common cases are wash sales and basis corrections. The IRS explains how to show a wash sale on Form 8949, including code W and entering the disallowed loss as a positive number in column (g). If a broker reported basis but it is wrong, use code T and enter the net adjustment. If basis was not reported at all, place the sale in box B or E and provide your support in column (e).

Wash Sale, What To Do And What To Watch

A wash sale happens when you sell at a loss and buy the same or substantially identical security within 30 days before or after the sale. On Form 8949 you enter code W in column (f) and the disallowed loss as a positive number in column (g). Increase the replacement shares’ basis separately so the loss is preserved for a later sale. Check all accounts, including IRAs, and consider option activity where relevant.

Team tip, pull the broker’s wash sale report, then verify across accounts. Brokers often track within one account and one CUSIP, you are responsible for the bigger picture.

Reporting Cryptocurrency And Digital Assets On Form 8949

Digital assets are property for tax purposes, so every sale, trade, or spend is a taxable disposition that belongs on Form 8949 and then on Schedule D. Beginning with transactions on or after January 1, 2025, brokers must report gross proceeds on Form 1099‑DA, and basis reporting is phased in for some 2026 transactions. The IRS also announced transition relief for 2025 that applies to brokers. None of this removes your duty to compute and report accurate gains and losses on your return.

What this means in practice this year.

  • If your platform issues a 1099‑DA, map each lot to the correct 8949 category by holding period and by whether basis was reported.
  • Many 2025 digital asset sales may appear with proceeds only, so they often land in box B or E, basis not reported, which keeps the details on 8949 or on an attached 8949‑format statement.
  • When you spend crypto on goods or services, treat the fair market value on the spend date as proceeds, then compute gain or loss versus basis for that lot.

Using Broker 1099‑B Data, The Right Way

Start by mapping every 1099‑B line to the right 8949 box and holding period. When basis was reported and there are no adjustments, short‑term lines usually go to Part I box A and long‑term lines to Part II box D. If basis was not reported, use B or E and provide basis in column (e). For wash sales or other changes, add the proper code in column (f) and the amount in column (g). If every item in A or D has no adjustments, you may summarize on Schedule D under the exception rules.

Importing, Attaching Summaries, And E‑Filing Tips

Most tax software lets you import 1099‑B data or upload a CSV that builds 8949 rows. If you qualify for the covered, no‑adjustment exception, place totals on Schedule D lines 1a or 8a. If you use attached statements instead of listing each sale on the electronic return, your statements must mirror the 8949 columns. If your software cannot attach the PDF, mail Form 8453 with the statements as the IRS instructs.

The IRS allows attached statements in 8949 format. The details must be included, not “available upon request.”

My Review Sequence

  • Import first, then scan for symbol issues, date gaps, proceeds, basis, and holding period tags.
  • Enter required adjustment codes and amounts.
  • Confirm fees are handled correctly, either in basis or as separate entries per your software.
  • Generate the full PDF, verify category totals against the broker summary, attach statements if needed, and transmit.
  • Save the package with a version label so future you, or a reviewer, can trace what changed and why.

Recordkeeping, Loss Carryovers, And The 3,000 Rule

Good records make clean returns and fast reviews. Keep confirmations, 1099‑B or 1099‑DA statements, basis worksheets, and any wash sale notes for at least three years after filing, longer if you might amend. On Form 8949, record adjustments with codes so Schedule D nets correctly. Track carryovers with a small worksheet that shows the year, the amount you used under the 3,000 limit, and the balance you will use next year. The Schedule D instructions confirm the 3,000 limit, 1,500 if married filing separately, with unlimited carryforward of the excess.

Simple Loss Carryover Tracker

Year Short‑term carry Long‑term carry Used this year Balance forward
2023 1,200 9,600 3,000 7,800
2024 0 7,800 3,000 4,800
2025 0 4,800 3,000 1,800

Drop a table like this into your workpapers. It saves time and prevents mistakes when you prep next year.

Examples You Can Reuse

  • Short‑term loss with wash sale. You sell 100 shares at a loss and repurchase substantially identical stock two days later. On 8949, enter code W and the disallowed loss as a positive amount in column (g), then increase the replacement shares’ basis.
  • Long‑term covered sale with no changes. Basis is reported and no adjustments apply. Choose box D. If all such sales fit, summarize on Schedule D line 8a under the exception rules.
  • Crypto sale in 2025 with proceeds only. Place in box B or E based on holding period, compute basis including fees, and report the detail on 8949 or an attached 8949‑format statement. Watch for 1099‑DA as platforms roll out reporting.

Quality Control For Firms, Built Around 8949

Make Form 8949 a standard process, not a fire drill.

  • One SOP for all 8949 prep, with a checklist that includes box choice, dates, wash sales across accounts, and basis corrections.
  • Structured workpapers, consistent names, and version control.
  • Multi‑layer review where preparers own math, seniors own exceptions, and reviewers focus on totals and attachments.
  • Turnaround SLAs by category, with a simple escalation path for issues that might affect deadlines.

If you tap offshore help, treat it as operations. Have teams work inside your systems and templates, keep continuity plans, and log every 8949 adjustment in one place. Capacity without structure creates rework. Structured capacity shortens review time and protects quality. Accountably, as a U.S.‑led offshore partner, supports firms that want disciplined offshore delivery for U.S. 8949 and Schedule D work, without losing control of workflow or quality. Mentioned here only because teams often ask how to scale production while keeping reviewers out of cleanup.

FAQs

What is the purpose of Form 8949

It reconciles each capital transaction, applies basis and wash sale adjustments using codes and amounts, separates short term and long term, and then pushes subtotals to Schedule D for netting.

What should I include with Form 8949

List description, acquisition and sale dates, proceeds, cost or other basis, and any adjustments with codes and dollar amounts. If you attach statements instead of listing each sale, those statements must mirror 8949 columns, not a simplified list.

Should I use Schedule D or Form 8949

Both. Form 8949 holds transaction‑level detail and adjustments. Schedule D nets categories, applies carryovers, and determines your taxable result. When all covered transactions have no adjustments, you may summarize on Schedule D under the exception rules.

How are crypto sales handled

Digital assets are property. Report each sale, trade, or spend on Form 8949. Brokers begin phasing in Form 1099‑DA for transactions in 2025, with basis reporting phased for some 2026 transactions, and the IRS granted 2025 transition relief for brokers. You still compute and report gains and losses accurately.

When do I need to mail Form 8453

If you e‑file and do not include line‑by‑line details electronically, attach a PDF of your 8949 or your 8949‑format statements. If your software cannot attach the PDF, mail Form 8453 with the statements as the IRS instructs.

Final Checklist For A Clean Form 8949

  • Sort by holding period first, then by basis status, boxes A to C or D to F.
  • Enter description, dates, proceeds, basis, and required codes with amounts.
  • Apply wash sale code W and show the disallowed loss as a positive number, then adjust replacement basis.
  • Correct wrong basis with code T and show the net change, keep support with the file.
  • Total each box category on 8949, then transfer those subtotals to the matching lines on Schedule D.
  • Track your capital loss carryover and the 3,000 limit so you do not miss future benefits.
  • For digital assets, watch for 1099‑DA, confirm whether basis is reported, and keep detailed records for 2025 transactions.

Compliance Note

This guide is general education, not tax advice. Rules evolve, and your facts matter. For the tax year you are filing, confirm the latest IRS instructions for Form 8949 and Schedule D, and keep documents that support proceeds, basis, holding periods, and adjustments. As of Monday, November 10, 2025, the IRS pages cited above are the most recent versions we reviewed.

Capacity helps, structure wins. Build the checklist once, reuse it every year, and keep your team focused on client strategy instead of 8949 cleanup.

Simplify Delivery, Improve Margins, Stay in Control.

Offshore support that works exactly like your in-house team.

???? Let’s Talk

Author

Accountably

Accountably provides structured offshore accounting and tax delivery for CPA, EAs, and Accounting firms. Its offshore teams integrate into existing workflows, follow U.S. GAAP and IRS standards, and deliver review-ready work through a disciplined operating model that includes SOPs, workpaper control, turnaround SLAs, and secure access protocols.

Follow Us on LinkedIn

What do you think?

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Insights