On bid day a heavy-civil GC might open eight subcontractor proposals for one package: a couple of clean line-item PDFs, two lump-sum letters, one scanned fax from a paving sub who still uses one, and three that put their line items in a different order than your scope of work. Somebody — usually the estimator with the steadiest hand — sits down and hand-keys all of it into a spreadsheet so the team can compare apples to apples. That spreadsheet is the bid tabulation, or bid tab. It is the single most-used artifact in subcontractor procurement, and it is almost always built by retyping numbers off PDFs. Bid tabulation software exists to remove the retyping, because the retyping is where the errors get in.

What a bid tabulation actually is

A bid tab is a column-per-bidder, row-per-scope-item grid. Each subcontractor gets a column; each pay item or scope line in your SOW gets a row; the cells hold the quantity, unit price, and extended amount that bidder gave for that item. Total each column at the bottom and you can read the spread across the whole field in one glance. It is the spreadsheet you put in front of the project executive when they ask "who's low, and by how much?"

The columns a usable tab needs are not complicated, but skipping any of them turns the tab into a number salad:

  • Item / pay-item number — your SOW line, not the bidder's. This is the spine that lets you stack eight bids in the same order.
  • Description — the scope item in your words, so a sub who called it "12" RCP storm" and one who called it "reinforced concrete pipe, 12 inch" land on the same row.
  • Unit of measure — CY, LF, TON, EA, LS. A unit-price comparison is meaningless unless the units match.
  • Quantity — your engineer's quantity, held constant across all bidders so the comparison is fair.
  • Unit price (per bidder) — the number you actually negotiate and the number that exposes unbalanced bids.
  • Extended amount (per bidder) — quantity × unit price, rolled to a column total.
  • Flags / notes — exclusions, alternates, "by others," and anything that makes a low number not actually low.

Bid tab vs. bid leveling — the tab is the output

People use "bid tab" and "bid leveling" as if they were the same task. They are not. The tab is the output — the finished grid. Leveling is the normalization work that has to happen before the grid means anything.

Leveling is the part where you make every bidder comparable on the same scope: you reconcile each sub's line items to your SOW, back out the work one sub included and another excluded, add a carried allowance for a gap a low bidder left open, and convert a lump-sum quote into something you can compare against unit-priced quotes. Only after leveling are the column totals on the tab a fair comparison. Drop unleveled numbers into a grid and you have a tab that is arithmetically correct and decision-wrong — the "low" bidder is low because they left out the dewatering. If you want the full procedure, see our walkthrough on how to level subcontractor bids.

The one-line version: Leveling is the verb, the bid tab is the noun. A tab built on unleveled numbers is a transcription of the bids, not a comparison of them.

Why hand-keying the tab is where errors get in

The reason bid tabs are error-prone has nothing to do with the estimator's competence and everything to do with the inputs. Sub bids arrive in mixed formats — native PDFs, scanned images, emailed spreadsheets, lump-sum letters — and almost never in your line-item order. So the human work is not just retyping; it is decoding each bid's layout, matching its lines to your scope, fixing unit mismatches, and re-extending the math, eight times, against a clock, on the afternoon the prime bid is also due.

The failure modes are predictable:

  • Transposition — $14.50 keyed as $41.50 on a 4,200-CY item is a $113,400 swing nobody catches until the column is off.
  • Row misalignment — one sub's "structural excavation" lands on your "common excavation" row because the descriptions were close enough at 4 p.m.
  • Unit mismatch — a price quoted per ton compared against one quoted per CY, with no conversion, so the tab silently favors the wrong sub.
  • Unbalanced lines that look fine — a sub prices mobilization at 14% of the bid and pennies on the back-end items; the total looks competitive and the front-loading is invisible until you scan unit prices line by line.
  • Silent scope gaps — the low bidder simply doesn't have a row for traffic control, and an empty cell reads as $0 instead of "missing."

If you do still build the tab by hand, our bid leveling in Excel guide has the formulas and the column layout that catch most of these. But the deeper fix is to not retype the source numbers at all.

Auto-building the tab from the bid PDFs

The alternative is to let software read each subcontractor bid PDF, pull the line items out, normalize them, and assemble the grid for you. That is what Bid Reasoner does: it ingests each sub's PDF, extracts and normalizes the line items, and maps them to your scope of work so every bidder lands on the right row regardless of how their proposal was laid out. The unit prices get normalized against a baseline — for New York work that's built-in state-DOT pay-item baselines plus a statewide-average reference, with NY and NJ DOT baselines built in; in any other state it normalizes against the peer median of the bids you received, so you don't need government data to start.

Because the numbers are extracted instead of retyped, the deterministic checks run on every cell automatically. Four rules flag the things estimators hunt for by eye:

Risk ruleWhat it catches on the tab
Unbalanced unit priceLine items priced at ≤ $1.00 — the giveaway for shifted money
Peer outlierA unit price more than 2× or less than 0.5× the peer median for that item
Total-bid outlierA column total more than 20% off the field — the too-good-to-be-true bid
Front-loaded mobilizationMobilization exceeding 10% of the total bid

On top of the grid, each bidder is scored across six dimensions — price, scope, schedule, compliance, performance, and risk — and ranked under whichever of seven decision modes fits the package: Lowest Responsible Bid, Best Value, Lowest Risk, Schedule Priority, Scope Completeness, Budget-Constrained, or Custom Weighting. The scope-coverage gap analysis surfaces the missing and extra items directly, so an empty cell reads as "missing traffic control," not as zero. If you want a structured pass before any of that, the free bid leveling checklist mirrors the same columns and checks you'd want on the tab.

A worked example

Say five subs bid a drainage package and four put 12-inch RCP at roughly $62–$68/LF. The fifth shows $9/LF for the pipe and $310,000 for mobilization on a $1.9M bid. On a hand-keyed tab the column total still looks like the second-lowest, and it might win on price alone. Auto-built, the same bid lights up two flags — a peer-outlier unit price (well under 0.5× the $64 median) and front-loaded mobilization (16% vs. the 10% threshold) — before anyone reads the total. That is the difference between a tab that records the bids and a tab that interprets them.

Exporting the tab with its supporting docs

The tab is rarely the final deliverable on its own — it's the evidence behind a recommendation. Bid Reasoner recommends a winner with page-cited evidence (every cell traces back to a quote on a specific page of the source bid), keeps a forced-override audit trail if a human picks a different bidder, and auto-generates seven Word documents — the Reasoned Award Memo, an Evidence Report, and the rest of the award package — so the tab, the leveling rationale, and the recommendation travel together. The estimator's afternoon goes from retyping eight PDFs to reviewing one normalized grid that already has the flags raised and the memo drafted.

None of this replaces your takeoff or your estimating system — Bid Reasoner doesn't do quantity estimating, and it sits alongside HeavyBid and B2W. It works on the bids you receive: leveling them, tabulating them, and scoring them so the award holds up. If hand-keying the bid tab is still eating your bid days, that's the part worth handing off to bid tabulation software.