A bid tab is a normalisation exercise, not a price list
In short
A bid tab puts every bid for one package side by side, but the columns are the easy part. What makes it a bid tab rather than a price list is the adjustment rows underneath — exclusions priced back in, alternates separated from base scope, tax and bond treatment put on one basis, schedule assumptions stated. Tabulation records what arrived; levelling adjusts it.
Key takeaways
- Tabulation records what was received. Levelling adjusts it. One sheet, two operations.
- The bottom row of an unlevelled tab is aligned, not comparable — the numbers answer different questions.
- Every adjustment row needs a source: an exclusion clause, a scope sheet line, or a dated clarification.
- Alternates belong in their own rows. Folded into a base bid, they reorder bidders invisibly.
- A tab recording only totals cannot be audited, and the award file is where that gets noticed.
A bid tab, or bid tabulation, holds every bid received for one package with bidders as columns and scope as rows. That much is filing. What makes it a bid tab rather than a list of totals is what sits underneath: the adjustment rows that put four bidders who priced four slightly different jobs onto one basis, so the bottom row compares like with like.
The distinction matters because an unlevelled tab misleads. It looks like a comparison, it has a lowest number, and that number gets read out in a meeting. The reason the lowest number is usually low because something is missing is that the missing thing never got a row.
Tabulation records, levelling adjusts
Tabulation is transcription: bidder, base bid, alternates as offered, exclusions as written, addenda acknowledged, bid date, bond and insurance status. It records what arrived, faithfully, even where a bid is obviously incomplete.
Levelling is the judgement pass on top. It adds, deducts and annotates until every column answers the same question, with a reason a third party can check. Doing that repeatably belongs to levelling sub bids with a reusable structure. This page fixes the artefact: what the tab must hold for levelling to be possible.
The columns, and the rows that do the work
Columns are one per bidder plus the estimator's own number. Rows come in two groups: scope rows, which should be the questions from the scope sheet issued before bids arrived, and adjustment rows, which exist only on a levelled tab.
| Tab row | Bid A | Bid B | Bid C |
|---|---|---|---|
| Base bid as submitted | 412,000 | 398,500 | 421,000 |
| Add: tax treatment put on one basis | 0 | 26,600 | 0 |
| Add: bond, offered as an add by B and C | 0 | 5,900 | 6,300 |
| Add: scope gap — final clean excluded by B | 0 | 11,000 | 0 |
| Deduct: alternate carried in C's base | 0 | 0 | -14,500 |
| Adjusted total | 412,000 | 442,000 | 412,800 |
Four adjustment rows move the apparent low bidder from first to last and leave the other two under 0.2 percent apart — a different conversation from the 22,500 gap the raw numbers showed. Nothing there is clever. It is having somewhere to write each difference down.
The adjustments that decide the order
- Exclusions, priced back in. Every exclusion is work someone else carries or a hole in the package. The row needs it quoted verbatim, who carries it now, and the value used to fill it — an estimate that should look like one.
- Alternates, kept separate. An alternate carried inside a base bid is the most effective way to look cheapest. Give them their own rows, and keep adds apart from deducts.
- Tax treatment. Whether a number includes sales, use or goods-and-services tax, and whether the project holds an exemption, moves a total materially. Confirm what each bidder assumed.
- Bonds and insurance. Some bidders carry bond in the base, some offer it as an add, and the row puts them on one footing. Insurance is a qualification rather than a number, and what proves cover is the endorsement, not the certificate.
- Quantity basis and schedule assumptions. Two bidders measuring the same scope to different quantities priced different jobs, and a bid assuming one mobilisation is not one assuming 3. Record unit rates where offered.
Where the tab stops being a spreadsheet
A tab is built to make one decision and then becomes evidence. That should drive its structure: one row per adjustment rather than a netted number, bid documents attached, the version at award frozen. A tab holding only totals cannot answer the question asked later, which is not what the bids were but why they were adjusted.
Two decisions sit either side of the tab. If a package draws only 2 usable bids, no levelling repairs the comparison — that is a coverage problem, diagnosed in invitations go out and almost nobody bids. Where the tab lives is also a choice: a spreadsheet suits a few packages a month, a platform earns its keep once bidder history and compliance matter, and that is GC-grade platform against a lighter toolset.
The part worth automating is narrow: pulling base bids, alternates and exclusion language out of the PDFs that arrive in the last hour before the deadline, and populating rows an estimator confirms. Extraction drafts, a person decides — the shape of that is in AI agents and automation, with the caveats in what running AI agents in production takes. This page sits in bidding, prequalification and subcontractor management, part of our construction and contracting work.
Frequently asked questions
Short answers to the follow-ups this page tends to raise.
What is a bid tab in construction?
It is one sheet holding every bid received for a package, with bidders as columns and scope as rows, plus the adjustment rows that put those bids on a common basis. The tabulation records what each bidder submitted — base bid, alternates, exclusions, addenda, bond and insurance status. The adjustments make the bottom line a comparison rather than a list.
What is the difference between bid tabulation and bid levelling?
Tabulation is recording; levelling is adjusting. Tabulation transcribes each bid faithfully, including the incomplete ones. Levelling then adds back excluded scope, separates alternates, puts tax and bond treatment on one basis, and annotates schedule assumptions, so every column answers the same question. Both live on one sheet, which is why the words get swapped.
What should go on a bid tab besides the price?
Everything that changes what the number means. In practice: exclusions quoted verbatim, alternates as separate adds and deducts, tax treatment, bond and insurance status, unit rates where offered, schedule assumptions, addenda acknowledged, and the bid date. Each adjustment row also needs its source — a clause, a scope sheet line, or a dated clarification.
Why does the lowest bid on a tab often not stay lowest after levelling?
Because the lowest number usually priced the least scope. Excluded work still has to be bought, a bond offered as an add gets paid either way, and an alternate folded into a base bid makes it look smaller. Once each is a row with a value, the ranking often changes.
- bidding
- bid leveling
- subcontractors
- estimating
The work behind this page
Builds from our portfolio that this page draws on.
GroundUp
A construction project-management command centre for general contractors that keeps schedule, RFIs, budget and the field log in one place — and maps the critical-path recovery the moment a job slips.
Real EstateQuoteForge
An AI CPQ and proposal platform that builds enterprise quotes from your catalog, guards every discount against the margin floor, routes approvals, and generates the proposal.
Sales AIRead next
- The scope sheet: what decides whether 2 bids compare at allEvery bidder answers the same numbered questions, before anyone prices anything. That is the whole mechanism, and the timing is the part that cannot be retrofitted.definition
- A bid package is a scope boundary before it is a documentScope is rarely lost inside a package. It is lost at the line between two of them, where both bidders read the same detail and each assumed the other one had it.definition
- The endorsement, not the certificate, is the thing that proves coverA file full of certificates proves you asked. It does not prove your company is an additional insured on anybody's policy, and the two are different claims.definition
- The insurance certificate expired three weeks before anyone noticedOne renewal date per subcontractor cannot represent four policies renewing on four dates against requirements that differ per job. That is the whole defect.diagnostic
- You invited forty subs and three of them bidCount invited, delivered, opened, declined with a reason, and bid — split by whether the firm has bid to you before. The shape of the drop names the cause.diagnostic
- A takeoff condition is a measurement rule, not a highlighted areaThe coloured region on the sheet is the output of a condition, not the condition itself. The condition is the record that says what was measured, in what unit, with what adjustments, and where the number goes next.definition
Working on something in this space?
Tell us where you are in a sentence or two. We'll tell you honestly whether we're the right team, and what a sensible first slice of the work looks like.
Start the conversation