Subcontractor Prequalification Questionnaire: Build and Score It With AI

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Subcontractor Prequalification Questionnaire: Build and Score It With AI.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Subcontractor Prequalification Questionnaire: Build and Score It With AI.

Ask about five things and demand evidence for each: insurance, safety record, references, capacity and finances. AI can score the written answers against a fixed rubric, but only as a draft: a person confirms every score, calls the references, and nobody is rejected automatically.

Whether the scoring is fair depends on what you ask the model to score. Left alone, AI rewards polished writing, so a good crew with a short, plain answer can lose to a bidder with a marketing team. The fix is a rubric that scores evidence (numbers, attachments, named references), a blind pass with company names removed, and a calibration test on subcontractors whose real performance you already know.

Follow me on Instagram@sagnikteaches

Set the gates before you write a single question

Split what you ask into two kinds. Gates are pass or fix items that either hold or do not, such as insurance at your minimum limit, a licence in force where one is required, and a signed acceptance of your site safety rules. Scored criteria are matters of degree, such as how good the safety record is or how strong the references are. Mixing them is the commonest design error: a firm with a weak safety score gets averaged up by good references, or a firm that simply forgot to send a certificate gets scored as if it had no insurance.

Connect on LinkedInSagnik Bhattacharya
ItemGate or scoredWhat a miss triggers
Insurance meets the minimum limitsGateA request for a corrected certificate, with a date (the insurance expiry tracker handles this step)
Licence or registration in forceGateA request for the number and expiry
Agrees to site safety requirementsGateA conversation about which requirement is the problem
Safety recordScored (heaviest weight)A call, not a rejection
References and quality of past workScoredReference calls
Capacity: crew, workload, key peopleScoredA question about start dates
Financial stabilityScored (lighter weight)A request for accounts or a bank reference

The right-hand column is the point. A miss on a gate or a low score leads to a conversation, because a questionnaire only sees what the bidder chose to write. Nothing in this process ends with an automatic rejection. A person reads the follow-up and decides.

Subscribe on YouTube@sagnikteaches

The question set, section by section

Ask for an attachment wherever one exists, because an attached policy or log is harder to embellish than a sentence. A full set for a mid-sized package runs to about 30 questions and 30 to 45 minutes to complete.

Insurance and licences

  • Attach current certificates for liability, employer's liability or workers' compensation, and vehicle cover where vehicles will attend. State limits and expiry dates in the form as well, so the two can be compared.
  • Name any claim made in the last three years on the liability policy: date, type, outcome.
  • Give licence or registration numbers and expiry dates for every trade licence the work needs.
  • Say whether your cover extends to the subcontractors you use, and attach their certificates if so.
The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

Safety record

QuestionEvidence to attachA strong answer
Do you have a written safety policy?The policy, with its review dateAttached, reviewed in the last year, names who is responsible
How many lost-time injuries in each of the last three years, and how many hours worked?Incident log or summaryNumbers for each year with hours, and the measure named
Any enforcement notices, stop-work orders or prosecutions in the last five years?Details and outcome if yesA plain yes or no, with what was changed afterwards
How do you investigate incidents and near misses?A sample anonymised reportA described process with an actual example
What training does every worker on site hold?Training matrixRole-by-role list with expiry dates
Provide a sample method statement for similar workThe documentSpecific to the work, not generic text

References and past work

  • Three completed projects of similar size in the last three years: client type, contract value, dates, your role, and a named contact who has agreed to be called.
  • Any project completed late or over budget in that period, and why.
  • Warranty or defect callbacks on those projects, and how long they took to close.

Capacity and finances

  • Current workload by value and expected completion dates, and how many projects you run at once.
  • Crew size for this work, the supervisor who would lead it, and that person's years in the role.
  • Whether you plan to use your own subcontractors, and for which part of the work.
  • The last two years' accounts or a bank or trade reference. Say whether any bond or guarantee is needed for this package.
  • Any litigation or unresolved payment dispute in the last five years.

For small jobs, cut to a 12-question light version: certificates, safety policy, last year's injury count, two references, crew size, workload and one similar project. Keep the scoring method the same but with fewer criteria, and say on the form how long it takes.

A scoring sheet: weights, anchors and three bands

Score each criterion from 0 to 3, and write down what each number means before you look at any answers. Those descriptions are called anchors, and they are what keeps two scorers, human or AI, giving the same mark. The weights below are a starting point: safety counts most because it is the criterion that can hurt people, and finance counts least because written answers say least about it.

Criterion (weight)0123
Safety record (30)No policy and no injury data, or a serious enforcement history left unexplainedPolicy or numbers missing or vague; claims with nothing attachedPolicy attached; injury numbers for three years; a described investigation processAll of that, plus hours worked, a training matrix and a real investigation example
References and past work (25)No usable referencesReferences without contact permission, or not similar workTwo reachable references on similar work; callbacks explainedThree reachable references on similar projects; callback times given
Capacity (20)No crew, supervisor or workload informationCrew size onlyCrew, named supervisor and workload datesThose, with availability for your start date and spare capacity
Finances (15)Unresolved disputes or no informationA statement with no documentsAccounts or a bank reference attached; no disputesTwo years of accounts attached and a clean payment history
Quality systems (10)None describedStatements onlyA described inspection processAn inspection process with sample records and low callbacks

In a spreadsheet, put the weights in B2:B6 and the scores in C2:C6, then use this for a total out of 100:

=SUMPRODUCT(B2:B6,C2:C6)/(SUM(B2:B6)*3)*100

Three bands turn the total into an action, never a verdict: 75 or more goes to the bid list; 55 to 74 means follow up first, asking for what is missing and calling references; under 55 goes to a manager who reads the whole file. A score of 0 on any criterion also goes to manager review whatever the total, so a strong total cannot hide a gap.

Prompt: score one section at a time, quoting the evidence

Scoring a whole questionnaire in one go invites the model to form an impression and score to match it. Scoring one criterion per run, with the anchors pasted in and the company name removed, keeps it on the evidence.

You are scoring one section of a subcontractor prequalification questionnaire against a fixed rubric.
Score only what the answer and its attachments say. Ignore writing style, length, confidence and company size.
Adjectives are not evidence. Numbers, dates and attached documents are.

Rubric for SAFETY RECORD (0 to 3)
0: [paste anchor]   1: [paste anchor]   2: [paste anchor]   3: [paste anchor]

Answer text and attachment notes (company name removed):
[paste]

Return:
Score (0 to 3)
Evidence quoted (exact words or numbers that justify the score)
Evidence missing (what a higher score would need)
Claims with no attachment
Needs a call? (yes or no, and the one question to ask)
Do not recommend accepting or rejecting the bidder.

An illustrative terse answer reads: "Written policy attached, reviewed in March. Lost-time injuries 0, 0, 1 over three years, about 38,000 hours a year. No enforcement notices. Near misses are logged and reviewed monthly. Training cards attached." The model returns a 2, quotes the policy line and the three injury figures, notes that no investigation example or near-miss record is attached, and suggests asking what caused the one injury and what changed. That is a good first read.

Here is an illustrative failure to test for. With a loose first prompt, a flowery answer such as "We are fully committed to safety and have an exemplary record" can draw a 3 from a model on the strength of confident wording. Lines that rule out adjectives and writing style, plus the "claims with no attachment" field, should bring that answer down to a 1. Run exactly this test on your own prompt: if waffle scores generously, add those lines before touching your rubric.

Three sample bidders, scored by AI and then by a person

Here is a worked example with illustrative numbers, using the weights above: safety 30, references 25, capacity 20, finances 15, quality 10. Three subcontractors bid for the same package. The AI scored the written answers with names removed. A person then opened the attachments and made reference calls.

BidderAI draft scores (safety, refs, capacity, finance, quality)AI totalHuman final scoresHuman totalWhat changed
A: electrical firm, 12 staff2, 3, 2, 2, 275.02, 3, 2, 2, 275.0Nothing; attachments matched the answers
B: roofing firm, 6 staff, terse answers1, 1, 2, 1, 140.02, 3, 2, 1, 270.0Policy and injury figures arrived on request; both references were glowing
C: drywall firm, 40 staff, polished answers3, 3, 3, 2, 395.02, 2, 3, 2, 273.3"Zero incidents" had no log attached; one referee never answered

The arithmetic for A is (30 x 2 + 25 x 3 + 20 x 2 + 15 x 2 + 10 x 2) / 300 x 100 = 225 / 300 x 100 = 75.0. For B after the call, (30 x 2 + 25 x 3 + 20 x 2 + 15 x 1 + 10 x 2) = 210, which is 70.0. For C after checking, (30 x 2 + 25 x 2 + 20 x 3 + 15 x 2 + 10 x 2) = 220, which is 73.3.

Look at the ranking. The AI draft put C first at 95, A second at 75 and B last at 40. After a person did the work, the order is A at 75.0, C at 73.3 and B at 70.0, and B is a "follow up first" with a single open question, the accounts. Nothing here says AI scored badly. It scored the writing, which is all it had. The follow-up supplied what the questionnaire could not. If you had auto-rejected anything below 55, B would never have reached the list.

When you have scores like these, comparing the subcontractors' quotes with AI and AI bid levelling and what it catches are the natural next steps, because a prequalified list tells you who can do the work, not who has priced it sensibly.

Four tests to run before you trust the scoring

  1. The blind pass. Remove company names, logos and place names from the answers before scoring. Do it with find-and-replace on the exported sheet, and keep a key. A model can be nudged by a famous name or a distant location.
  2. The style test. Write the same facts two ways. Version one: "Policy attached. Lost-time injuries 0, 0, 1; about 38,000 hours a year." Version two: "Safety is at the heart of everything we do and we maintain an exemplary record, with a policy available on request." Score both. The first should score clearly higher. If the second wins or ties, strengthen the "evidence only" lines and the anchors, then rerun.
  3. The calibration run. Take eight past subcontractors whose real performance you know, remove their names, and score them. Compare the AI's ranking with your own judgement of how they performed. Decide in advance what counts as agreement, for example every criterion score within one point of yours for at least seven of the eight firms, and where it fails, rewrite the anchor, not the data.
  4. The repeat run. Score the same answer three times. If the scores differ by more than one point, the anchors are too loose. Tighten them, or take the middle score and send the answer for a person to read.

Check small firms specifically. Compare the average AI score for firms under ten staff with larger ones on your calibration set. A gap that does not match real performance means something in the prompt or anchors is rewarding size, so fix it before using the scores.

Trade-specific add-ons: three examples

Keep the core questions identical for everyone and bolt a short trade section onto the form. Treat the answers as extra evidence under the safety record, not as a new weighted criterion, so the sheet stays comparable across packages.

  • Roofing. A sample method statement for work at height, how rescue would be handled if someone fell, inspection records for the fall-protection equipment, and the firm's rule for stopping work in bad weather.
  • Electrical. Who holds the licence for each worker, how test instruments are checked and when they were last calibrated, and the written procedure for isolating and proving a circuit dead before work.
  • Drywall and finishing. How dust is controlled during sanding, what respiratory protection is issued, how heavy board is handled, and how waste leaves the site.

For each add-on, say what a good answer looks like in the rubric's own words. An example for roofing: "Names the rescue method, who is trained in it and when it was last practised." Without that line the model has nothing to anchor a mark to and will drift back to scoring tone.

Reference calls: five questions and what to record

The written answers get a draft score, and the reference calls settle it. Call at least two referees from different clients and ask the same questions each time:

  1. What work did the firm do for you, and how big was it?
  2. Did they finish on the agreed dates, and what caused any delay?
  3. How was the quality at handover, and how many defects came back afterwards?
  4. How did the crew behave on site: safety, tidiness, dealing with other trades?
  5. Would you hire them again, and is there anything you would tell a colleague first?

Add one question at the start: "Are you connected to the firm in any way other than as a client?" Then record the date, the referee's role and their answers in their own words. An illustrative note: "Facilities manager, retail client. Re-roof of 2,400 m², finished two days late because of weather, two defects closed within a week. Crew tidy, followed the permit system. Would hire again." Do not record a call without the referee's consent. AI can tidy your typed notes into this layout, but the 0 to 3 reaction on references is yours.

Human sign-off and the decision log

Every outcome gets a name and a date. A simple log needs these fields: bidder, package, each gate (passed, fixing or failed), AI draft scores, human final scores, total, band, follow-ups requested with dates, decision, reason in factual terms, decided by and date, and a review date. Three rules keep it fair:

  • A person signs every decision. The AI's scores are an input in a column, and nobody can write "decided by AI".
  • A "not for this package" decision needs a second reader. The reason refers to evidence, such as "two referees unreachable after three attempts" or "liability limit below minimum, no top-up offered by 24 March", never to the score alone.
  • The bidder gets a chance to respond. A follow-up message names what is missing and by when.

Illustrative wording for Bidder B's follow-up: "Hi [first name], thanks for completing our questionnaire. We would like to add you to the bid list for this package. Before we can, please send last year's accounts or a bank reference by [date]. Your safety policy and references were clear. [your name]". For a firm you will not take forward this time, say so plainly and truthfully: "For this package we are going with firms whose current workload leaves more room for our start date. This is not a judgement on your work, and we will keep your details for future packages." Only send that if the reason is true.

Put one line on the form itself: "Answers are read with the help of software; a person makes every decision, and you can add information if anything is unclear." Re-run the process on a trigger as well as yearly: a new incident, a claim, an expired certificate or a change of ownership all justify a fresh look.

Collecting answers: forms, files and personal data

Any form tool will do. If you use Google Forms, its help page says a file-upload question requires respondents to sign in to a Google account and stores the files in a folder in your Drive, so offer an email route for subcontractors who will not or cannot sign in. Whichever route you pick, export the answers into the scoring sheet and keep attachments in a folder per bidder.

Referee names and phone numbers are personal data, and so are the names on training records. Tell bidders and referees how you will use them, keep them in the sheet only, and leave them out of anything you paste into an AI tool. The scoring prompt needs the evidence, not the people. Run the scoring in a business workspace too: ChatGPT Business, Claude Team and Microsoft 365 Copilot leave business content out of model training by default, while a personal account generally needs its training setting turned off by hand.

If several people in your firm will run this process, write down what they may paste into which tool. An AI policy for a construction company is a good starting point for that one-page rule, and it should say plainly that scores are drafts and decisions are people's.

Questions about scoring subcontractors with AI

How long should a prequalification questionnaire be?

Aim for 30 to 45 minutes to complete and no more than about 35 questions for a larger subcontract. For small jobs use a 12-question light version covering insurance, safety policy, two references, crew size and current workload. Long forms push good small firms away, and a form nobody finishes tells you nothing about anyone.

Should every subcontractor complete the same form?

Use the same core questions and scoring for everyone bidding on the same package, so scores are comparable. Add a short trade-specific section, for example working at height for roofers or live-circuit procedures for electricians. Never send a lighter form to a firm you already like, because the point is a consistent standard you can explain.

Do I have to tell bidders that AI is used?

Telling them is the honest and safer course, and it costs one sentence: answers may be reviewed with software, a person makes every decision, and bidders can add information if something is unclear. Check whether any rules that apply to you require disclosure of automated processing, and ask your adviser if you have bidders in several places.

Can AI verify what a subcontractor says?

No. It can compare an answer with the attachments you gave it and note where the two disagree, but it cannot confirm that an incident log is complete or that a reference exists. Verification is the reference call, the certificate check and the records you ask to see. Treat every AI score as a first read of the written answers only.

Further reads

Sources: Google's help page on Forms file upload questions (read in early November 2026) and vendor privacy defaults recorded for ChatGPT Business, Claude Team and Microsoft 365 Copilot. The question set, weights and sample scores are illustrative and were written for this tutorial.

Want a prequalification process your team will actually use?

On a 1:1 call we'll look at how you choose subcontractors today, trim the question set to what you act on, and decide which steps are worth giving to AI and which stay with a person.

Book a 1:1 call with me