
Bid Invitation Tracking: A Subcontractor's CRM Bid Log
The best way for a subcontractor to track bid invitations is to log every invite into one CRM pipeline the day it arrives, with the GC, scope, due date and a go/no-go decision, then let the system remind you before bid day and follow up after it. I'm Rowena Tulacz, founder of R. Construction Solutions (R.CS), where we help contractors with estimating, preconstruction and business systems, and we build OpsHUB, a construction CRM set up for subcontractors and GCs. This guide walks through how to build a bid-invite log that actually gets used.
Why do subcontractors need a bid-invite log at all?
Because invitations come in faster than most estimating teams can sort them. ITBs land from plan rooms, GC portals, direct emails and phone calls, and they rarely land in the same place twice. ConstructConnect reports its platform processes more than 230 million invitations to bid a year across the U.S. and Canada (ConstructConnect, 2026). Even a small slice of that hitting your inbox is a lot to keep straight.
Autodesk notes that bidding on U.S. projects rose about 5% in 2024 over the prior year, citing ConstructConnect research (Autodesk, 2025). More invites is good news only if you can see them all, decide quickly and not miss a due date.
The other reason is that most contractors do not know their own numbers. In a survey of 2,000 contractors reported by ENR, only 6% knew and tracked their bid-hit ratio (ENR, 2010). That survey is old, but in my experience the habit has not changed much: the bids get done, and nobody looks back at which GCs actually award work.
What fields should a subcontractor capture for every bid invitation?
Keep the intake short enough that someone will fill it out in two minutes, but complete enough to make a decision and run reports later. Here is the field set I recommend as a starting point.
| Field | Why it matters | When to fill it |
|---|---|---|
| GC company and estimator contact | Lets you report win rate by GC and know who to call | At intake |
| Project name, city, owner type | Separates public, private and repeat-client work | At intake |
| Your scope / CSI division | Shows which scopes you win and which you chase | At intake |
| Bid due date and time | Drives every reminder | At intake |
| Pre-bid walk and RFI deadline | The two dates subs miss most often | At intake |
| Invite source (portal, email, plan room) | Tells you which sources bring real work | At intake |
| Go / No-Go and reason | Builds a record of what you pass on and why | Within 1–2 days |
| Bid amount and estimator | Needed for win-rate and dollar reporting | Bid day |
| Status and award result | Closes the loop: won, lost, no decision | After award |
In OpsHUB, the trade editions are organized by CSI division, so the scope field and estimate coding are already lined up with how you bid. If you are building your own, make scope a dropdown, not free text, or your reports will be a mess within a month.
How do I set up a bid-invite pipeline in a CRM?
Think of the pipeline like a job-site board where every invite is a card that moves left to right. Each stage should mean one thing and have one owner. A simple version looks like this:
- Invite Received – logged, not yet reviewed.
- Reviewing – plans and specs being checked for scope and fit.
- Go – Estimating – takeoff and pricing in progress.
- No-Bid – declined, with a reason recorded.
- Submitted – bid sent, waiting on the GC.
- Won / Lost / No Decision – final result.
If you want the bigger picture of the full bid-to-award workflow, our post on how to streamline your commercial construction bid workflow covers the GC and estimating side. This post stays focused on the subcontractor's intake log.
How should a subcontractor make go/no-go decisions on bid invites?
Write your rules down once so the decision is fast and consistent. A short scorecard works better than gut feel on a Friday afternoon. Questions I would put on it:
- Is this squarely in our scope and size range?
- Do we have estimating time before the due date without dropping a better bid?
- Have we ever won work from this GC, and do they pay on time?
- Is it hard-bid public work, competitive private, or a negotiated relationship job?
- Does the schedule fit our crews if we win?
Project type matters a lot. ConstructConnect's 2026 guidance puts typical hard-bid public win rates around 10%–20%, with negotiated or selective work much higher (ConstructConnect, 2026). ENR's older survey found subcontractors averaging roughly 7:1 to 11:1 bid-hit ratios on public work versus about 4:1 on negotiated work (ENR, 2010). Those ranges are directional, but they tell you why a relationship GC invite usually deserves more attention than a cold public listing.
How do I set due-date reminders so we never miss a bid?
Set reminders off the dates you already captured, not off memory. A practical schedule:
| Trigger | Reminder | Who gets it |
|---|---|---|
| Invite logged | Go/no-go decision due in 2 business days | Chief estimator |
| 3 days before RFI deadline | Submit questions to GC | Assigned estimator |
| Day before pre-bid walk | Confirm attendance | Estimator or PM |
| 5 days before bid due | Pricing and quotes check-in | Estimator |
| Morning of bid day | Final review and submit | Estimator and owner |
In OpsHUB these are automations tied to the opportunity's custom date fields, so moving a due date moves the reminders with it. Addenda that push the date are the classic way bids get missed, so that link matters.
How do I track win rate by GC?
Once every bid has a GC and a result, win rate by GC is a simple report: bids won divided by bids submitted, per GC, per quarter. A 5:1 bid-hit ratio is a 20% win rate. ConstructConnect describes 4:1 to 5:1 as a commonly cited review threshold for private work (ConstructConnect, 2026).
Here is a typical situation I see. A drywall and framing sub bids for six GCs regularly. When they finally pull a year of data, two GCs account for most of their awards, and one GC they bid every month has never awarded them anything. That one GC was eating a big share of estimating hours. Without the log, it just felt like "we bid a lot and win some." With the log, the conversation changes to whether to keep bidding that GC at all, or to call their estimator and ask what is going on.
For more on building those reports, see our post on pipeline reports for construction.
What should a subcontractor do after bid day?
Bid day is not the end of the pipeline. After you submit:
- Send a short confirmation that your number was received and restate key inclusions and exclusions.
- Set a follow-up task a few business days out to check where the GC is in leveling.
- Log the expected award date and set a second follow-up for just after it.
- When you hear the result, record it, plus any feedback on price or scope.
Our proposal follow-up process post has wording and timing ideas you can adapt for bid follow-up.
Key Takeaways
- Log every invite in one place the day it arrives, including the ones you decline.
- Keep intake fields short, use dropdowns for GC and scope, and always capture due, walk and RFI dates.
- Use a written go/no-go scorecard so decisions are quick and consistent.
- Drive reminders off date fields so addenda changes move the reminders too.
- Report win rate by GC each quarter and put estimating time where you actually get awarded.
- Follow up after bid day on a schedule, not when you remember.
FAQ
What is a bid log for subcontractors?
A bid log is one list of every invitation to bid you receive, with the GC, project, due date, scope, decision, bid amount and result. In a CRM it becomes a pipeline you can filter, report on and automate.
What fields should a subcontractor bid log include?
At minimum: GC and estimator contact, project name and location, your scope or CSI division, bid due date and time, RFI and walk dates, go/no-go decision, bid amount, status and award result. Add a reason field for no-bids and losses.
How do I calculate my win rate by GC?
Divide bids won by bids submitted for each GC over a set period. A 5:1 bid-hit ratio equals a 20% win rate. Track it quarterly so one big job does not skew the picture.
Should I log invitations I decline?
Yes. Logging a no-bid with a reason takes seconds and shows you which GCs and project types you keep passing on, which helps you decide where to spend estimating time.
When should I follow up after bid day?
A short check-in within a few business days of the bid date is a common practice, then again before the GC's expected award date. Set both as automatic tasks so they happen even in a busy week.
Can I use a spreadsheet instead of a CRM?
You can start there, but spreadsheets do not send reminders, link emails to the bid, or report win rates by GC without manual work. A CRM pipeline does those things automatically once it is set up.
Useful sources
- ConstructConnect – How many subcontractor bids per trade (2026)
- ConstructConnect – What good bid-hit ratios look like for commercial GCs (2026)
- Autodesk – 4 tips for subcontractors to win more bids (2025)
- ENR – Bid-hit ratios provide valuable road map (2010)
Want to see a bid-invite pipeline already built?
OpsHUB comes pre-built for 29 trade editions by CSI division plus a GC edition, with the pipeline, CSI-coded estimates, contracts and automations ready to go. Trade editions are $197/month and the GC edition is $497/month. You can review the CRM features and FAQs, check pricing, or see the trades we serve.
Follow us for more contractor systems tips on Facebook, Instagram, LinkedIn, YouTube and TikTok.
Ready to stop missing bids? Book a demo of OpsHUB and we will walk through a bid-invite pipeline set up for your trade.

