Schema CPA

1099-B Data Entry: Handling Hundreds of Sales Lines

By Schema CPAPublished Updated

1099-B data entry goes right when every sale line carries its description, dates, proceeds, basis, adjustment code and term, sorted by whether the broker reported basis to the IRS. Enter lines in groups that match the Form 8949 boxes, use summary totals only where the instructions allow them, and tie every group back to the broker's own totals.

What a 1099-B data entry line needs

A 1099-B data entry line is one sale or disposition, described with the same fields the broker reports in boxes 1a to 1g. The Instructions for Form 1099-B (2026) label them: 1a description of property, 1b date acquired, 1c date sold or disposed, 1d proceeds, 1e cost or other basis, 1f accrued market discount, 1g wash sale loss disallowed.

Three more boxes decide where the line goes rather than what it says. Box 2 gives the type of gain or loss, short-term or long-term. Box 5 is checked for a noncovered security. Box 12 is checked when basis was reported to the IRS. Capture all three on every line, even when the broker prints them once at the top of a section instead of on each row.

The destination is Form 8949, which has its own columns. The 2025 Form 8949 runs from (a) description of property through (b) date acquired, (c) date sold or disposed of, (d) proceeds, (e) cost or other basis, (f) code, (g) amount of adjustment, and (h) gain or loss. Boxes 1a to 1e map straight across to columns (a) to (e). Box 1g feeds columns (f) and (g).

A working spreadsheet line, then, has these fields:

  • Account, so lines from two accounts at one broker never merge.
  • Description, as printed, including the share count.
  • Date acquired and date sold, as dates rather than text.
  • Proceeds and basis, as numbers with two decimals.
  • Adjustment code and amount, blank when none.
  • Term, basis-reported flag and noncovered flag.
  • Source page, so a reviewer can find the row on the PDF.

Dates cause quiet errors. "Various" is a valid entry in box 1b when a lot was bought in pieces, and a spreadsheet that forces a date will reject it or turn it into nonsense. Keep the date columns as text when a broker uses "Various", and note it.

Brokerage 1099-B lines usually arrive inside a consolidated statement. How those statements are laid out, block by block, is explained in consolidated 1099 data extraction from brokerage statements.

Covered and noncovered lots in 1099-B data entry

A covered lot is a security whose basis the broker must report; a noncovered lot is any other. In 1099-B data entry the difference decides which Form 8949 box a line belongs in. The 1099-B instructions define a noncovered security simply as "any security that is not a covered security."

The 1099-B instructions say a covered security generally includes stock acquired for cash in an account after 2010, with exceptions and separate start dates for debt instruments, options and some other securities. For noncovered lots, a broker may check box 5 and leave boxes 1b, 1e, 1f, 1g and 2 blank. A blank basis on a noncovered line is not an error by the broker. It means the basis has to come from somewhere else.

The instructions also say covered short-term lots, covered long-term lots and noncovered lots go on separate forms, even when they came from one transaction. That split matches the grouping Form 8949 wants. The 2025 Form 8949 gives these boxes for transactions reported on a 1099-B:

Form 8949 boxTermWhat the 1099-B shows
AShort-termBasis reported to the IRS
BShort-termBasis not reported to the IRS
DLong-termBasis reported to the IRS
ELong-termBasis not reported to the IRS

Boxes C and F cover sales with no 1099-B or 1099-DA at all. Boxes G to L, new for 2025, cover digital assets reported on Form 1099-DA. The Instructions for Form 8949 (2025) explain each box and say to check only one box per form, starting a separate Form 8949 for each box that applies.

Sort the spreadsheet by these groups before entering anything. A line in the wrong group carries the right numbers to the wrong Schedule D line, and the totals still look fine.

Should 1099-B trades be entered one by one or in summary?

1099-B trades can be entered in summary only in the cases the Form 8949 instructions allow; every other trade needs its own line or an attached statement. The instructions describe two exceptions to listing each sale, and each comes with conditions that a busy account often fails.

Exception 1 lets totals go straight onto Schedule D, line 1a for short-term and line 8a for long-term, without Form 8949. The 2025 Form 8949 note says short-term sales on a 1099-B "showing basis was reported to the IRS and for which no adjustments or codes are required" may be aggregated that way. The instructions add conditions: the Ordinary box is not checked, no adjustment is needed, and the sale is not a collectible.

Exception 2 lets the preparer attach a statement listing the sales, such as the broker's own pages, instead of retyping each one. The totals then go on Form 8949 with the right box checked, and the instructions show entering the broker's name with "see attached statement" in column (a) and code M in column (f).

In practice, a single account often splits three ways. Covered sales with no adjustments can be totalled. Sales with a wash sale code cannot use Exception 1. Noncovered sales need basis from client records. Each group gets the method its conditions allow, which is why the grouping in the previous section has to happen first.

Summary entry does not remove the need to read every line. A total is only as good as the lines under it, and one line carrying a code W changes which exception that group can use.

Wash sales and other 1099-B adjustments

A wash sale adjustment is the part of a loss that cannot be deducted because substantially identical stock was bought around the same time. On a 1099-B it appears in box 1g, "Wash sale loss disallowed". In 1099-B data entry it becomes code W in Form 8949 column (f) with the disallowed amount, as a positive number, in column (g).

The 1099-B instructions say brokers "must report any loss disallowed under section 1091" for covered securities with the same CUSIP number in the same account, and that the disallowed loss is added to the basis of the replacement shares. That scope matters. A broker reports only what it sees in one account. A wash sale across two brokers or between a taxable account and a spouse's account may not appear in box 1g.

The Form 8949 instructions list other codes a preparer may meet on brokerage lines:

  • B: basis shown on the form is incorrect.
  • D: accrued market discount, from box 1f.
  • E: selling expenses or option premiums not reflected on the form.
  • M: several transactions reported on one row.
  • N: nominee reporting, for sales that belong to someone else.
  • O: other adjustments.
  • T: the form shows the wrong type of gain, short-term or long-term.

When a row needs more than one code, the instructions say to enter the codes in alphabetical order with no spaces or commas, and to put only the net adjustment in column (g). Keep a code column and an amount column in the spreadsheet so this can be applied without retyping.

Do your 1099-B entries tie to the broker's totals?

1099-B entries tie when the proceeds, basis and wash sale totals of each group match the broker's summary for that group to the cent. Run this check after entry and before anything else, because a dropped or doubled line rarely shows up anywhere else in the file.

Many consolidated statements print a summary page with totals by term and by whether basis was reported. Use those totals as the control. Sum the spreadsheet by the same groups, then compare. A difference equal to one line's proceeds means a missing or duplicated row. A difference in basis alone often means a noncovered line where basis was filled in from client records, which is expected but should be noted.

Worked example: five lots tied to the broker summary

These five lots are fictional. They belong to an example client, Marcus Ellery, with an example account at Ridgeline Brokerage ending XXXX-7310, prepared by a fictional firm, Larchmont Tax Partners.

LotDescriptionAcquiredSoldProceedsBasisCodeAdj.Gain or loss8949 box
140 sh Example Rail Co.03/14/202509/02/20255,120.004,480.00640.00A
225 sh Example Foods Inc.06/10/202511/18/20251,950.002,400.00W450.000.00A
3100 sh Example Utilities02/05/202105/20/20256,300.004,100.002,200.00D
410 sh Example Software01/22/202403/03/20253,410.002,750.00660.00D
560 sh Example Mining08/12/200907/08/20252,880.003,300.00(420.00)E

Lot 5 is noncovered. The broker checked box 5 and left basis and term blank; the $3,300.00 basis and the 2009 purchase date come from the client's own records, used here as example figures.

Now the tie-out against the broker's example summary page:

GroupBroker proceedsSheet proceedsBroker basisSheet basisBroker 1gSheet code W
Short-term, basis reported (A)7,070.007,070.006,880.006,880.00450.00450.00
Long-term, basis reported (D)9,710.009,710.006,850.006,850.000.000.00
Noncovered (E)2,880.002,880.00not reported3,300.00
Total19,660.0019,660.00

Every reported figure ties. The only gap is the noncovered basis, which the broker never reported, and that gap is documented by its source.

Spreadsheet work like this is where reading the PDF by machine helps most. Schema CPA reads consolidated brokerage statements with the rest of a client's documents and exports the sale lines to Excel or CSV, so the tie-out above runs on a file nobody typed. The workflow section of the homepage shows the steps from upload to export.

When 1099-B data entry needs the client's own basis records

1099-B data entry needs the client's own basis records whenever the broker did not report basis or the basis it reported does not reflect how the shares were acquired. Noncovered lots, inherited shares and gifted shares are the usual cases. The 1099-B shows proceeds; it cannot supply a figure the broker never had.

Noncovered lots are the plain case. The broker may leave box 1e blank, so purchase confirmations, old statements or a prior broker's records are the only source. Ask for them early. A client who held shares since before 2011 may have moved accounts twice, and the paper trail sits with the first broker.

Inherited shares follow a different basis rule. IRS Publication 551 (12/2025) says the basis of property inherited from a decedent is generally the fair market value at the date of death, or the alternate valuation date if the estate's representative chose it. The broker may not have that figure, so the estate's valuation records become the source document.

Gifted shares generally keep the donor's adjusted basis, and Publication 551 gives a separate rule for figuring a loss: "Your basis for figuring loss is its FMV when you received the gift." Both numbers can matter, so ask for the donor's purchase records and the value on the date of the gift. Publication 551 adds that "You must keep accurate records of all items that affect the basis of property."

When the basis on a covered line is wrong, the Form 8949 instructions point to code B. The preparer enters the basis as reported in column (e) for a box A or D line and corrects it through column (g). Keep the client's supporting record with the line in the spreadsheet so the adjustment has a source.

Sales also reach a client from places other than a 1099-B. A partnership or S corporation passes capital gains through on a Schedule K-1, which has its own boxes; Schedule K-1 boxes explained lists them, and K-1 data extraction covers getting them into Excel. Keep those amounts off the 1099-B sheet so the broker tie-out stays clean. If the 1099-B itself never arrived, missing 1099-B covers where the figures can still be found.

All posts in Tax forms, W-9s and payroll paper