Every subcontractor sends their bid differently. One sends a PDF. One emails you a list. One uses their own spreadsheet. Comparing them is a two-day job — or it was.
This AI agent reads every bid the moment it hits your inbox, lines them all up side by side, and flags whoever forgot something before you sign a contract.
Before you can compare prices, someone has to manually read every bid and rewrite it into the same format. Here’s what your estimator is dealing with — and what the AI sees instead.
Walk through the same steps the AI takes on a real job — from the moment bids hit your inbox to the final report that lands in your PM’s email.
| What we’re comparing | Apex Framing | Ironwood | Summit Build | Pacific F&P | Cascade |
|---|
Three things happen automatically — from the moment a bid hits your inbox to the moment your project manager gets the summary. Nobody has to do any of this manually.
Here’s what GCs are paying right now to solve the same problem — and what they pay when they let us build this for them instead.
| Category | Detail |
|---|---|
| Manual Process Replaced | Estimators manually reading each subcontractor bid, transferring line items to a spreadsheet, noting exclusions and qualifications, and building a comparison matrix — 4 to 8 hours per bid package |
| Trigger | Bid submission deadline passes and all bids are collected in the shared folder or email thread |
| What the System Does | Reads all bid documents (PDF, Excel, Word), extracts scope items and prices, normalizes to a common line item structure, flags exclusions and qualifications, and outputs a side-by-side comparison matrix |
| Who Uses It | Estimators, project managers, owners' representatives, and procurement managers at general contractors and construction management firms |
| Integrations | Email or shared folder (bid collection), OpenAI (document reading and extraction), n8n (workflow), Google Sheets or Excel (comparison output), Procore or Sage (optional export) |
| Output | Normalized bid comparison matrix in Google Sheets or Excel — all bids on the same line items with exclusion flags, qualification notes, and lowest-responsive-bid calculation |
| Time Saved | 4 to 8 hours per bid package reduced to 20 to 40 minutes of AI processing plus estimator review |
| Error Rate Reduction | Eliminates missed exclusions and qualifications that human estimators overlook when manually reviewing 15 or more bids under deadline pressure |
Bid leveling (also called bid normalization or bid analysis) is the process of comparing subcontractor bids on a common basis — taking bids that may be structured differently by each sub and reorganizing them so the same scope items appear in the same rows across all bids. Without bid leveling, comparing a bid from Sub A who includes concrete demolition in their base bid to Sub B who excludes it requires reading both documents carefully and making manual adjustments. Bid leveling makes these adjustments explicit and systematic so the estimator can make a true apples-to-apples cost comparison.
The agent reads PDF bids (including scanned PDFs using OCR), Excel spreadsheets in any structure, Word documents, and email-body bids. Because the extraction uses AI document understanding rather than template parsing, it handles any sub's bid format — itemized line bids, lump sum bids with scope breakdowns, bids with alternates and unit prices, and bids structured as letter proposals with embedded numbers. The agent extracts the underlying data regardless of how it is presented on the page.
The estimator provides the master scope of work for the bid package — typically the same scope listed in the bid instructions sent to all subs. The AI maps each line item in each sub's bid to the closest matching item in the master scope, flags any master scope items a sub has excluded or not addressed, and notes any additional items a sub has included beyond the base scope. The result is a matrix where rows are master scope items and columns are subs — with the AI's extraction and mapping shown for review.
Exclusions and qualifications are flagged explicitly in the comparison matrix. The AI reads the sub's bid letter, scope of work notes, and any exclusions listed and categorizes them. Material exclusions — items that significantly affect the scope and price comparison — are highlighted in the matrix. The estimator's review process focuses on these flags, not on re-reading every bid document. This is where most bid leveling errors occur in manual processes, and where the AI provides the most value — it never misses an exclusion buried in page 7 of a 12-page bid.
Yes. The system can process bid packages that cover multiple trades — for example, a mechanical, electrical, and plumbing (MEP) package where each sub's bid covers all three. The master scope can be structured with sections per trade and the AI normalizes each sub's bid across all sections simultaneously. Separate comparison matrices can be generated per trade or a combined matrix can be output with trade-level subtotals.
The primary output is a Google Sheets or Excel comparison matrix that can be shared with the project team immediately. For firms using Procore, the normalized bid data can be exported in Procore's budget format. For Sage 300 CRE or Sage 100 Contractor users, the comparison data can be formatted for import into the job cost budget. The comparison matrix is designed to be the working document for the award decision — all supporting documentation remains in the original bid files.
Extraction accuracy for clearly structured bids (itemized spreadsheets, standard bid forms) is 95 to 99%. For less structured bids (narrative proposals, unusual formats, handwritten annotations on PDFs), accuracy is 85 to 95% with lower-confidence extractions flagged for human review. The estimator reviews the comparison matrix before making award decisions — the AI's job is to do 90% of the normalization work, not to make the final decision. Any extraction the estimator disagrees with is easily corrected in the output matrix.
The estimator defines the master scope of work for the bid package — the common line item structure that all bids will be normalized against.
Subcontractor bids collected via email or shared folder. All documents — PDF, Excel, Word — are staged for processing at the bid deadline.
n8n triggers OpenAI document reading for each bid file. Line items, prices, alternates, exclusions, and qualifications extracted from every document regardless of format.
Each sub's extracted items are mapped to the master scope. Missing scope items are flagged as exclusions. Extra items are noted as additions.
All subs' normalized bids are populated into the comparison matrix. Exclusion flags, qualification notes, and lowest-responsive-bid calculations are applied automatically.
The estimator reviews the AI-generated matrix, verifies flagged items, makes any corrections, and uses the matrix to inform the subcontractor award decision.