Jobs Subcontractor Bidding
Help › Jobs › Subcontractor Bidding

🧰 Subcontractor Bidding

If you sub out trade work, the Bids tab runs the whole process right on the job: publish a scope, invite subcontractors to bid through a private link (no account needed), compare their prices side by side, award the winner, then track the subcontract, payments, and schedule — all in one place.

Job #1256 · Bids · Leveling
Bid leveling table comparing two subcontractor bids side by side against the same scope
The leveling table lines every bid up against the same scope, with the lowest total highlighted.

Turn on Subcontractor Bidding for a job

Bidding lives on the individual job, so you switch it on where the job is. Open the job's Overview tab, find Subcontracted Job under Job Details, and set it to Yes. A new Bids tab appears on the job.

Job #1256 · Overview
Subcontracted Job toggle set to Yes on the job Overview tab
Flip Subcontracted Job to Yes in Overview to add the Bids tab.
Once it's on, it stays on

The moment you publish your first package, the job is committed to subcontracting and the toggle locks to Yes — switching it back off would hide live bids from the rest of your team. Managing bids needs a role that can edit jobs; if you don't see the tab, check your permissions with your admin.

Publish a trade package

A package is one trade you're putting out to bid — roofing, concrete, electrical, and so on. From the Bids tab click + Publish package and fill in:

  1. Trade — pick Roofing, Concrete, Electrical, Framing, or Plumbing. Choosing a trade pre-fills a sensible starter scope you can edit.
  2. Package title (optional) — a plain label like "Roofing — tear-off & re-roof."
  3. Bid deadline — the date bids are due. Once it passes, the package stops taking new bids on its own.
  4. Scope line items — the exact rows every bidder will price (Description, Qty, Unit). Add or remove rows with + Add scope row and the button.
Job #1256 · Bids · Publish package
Publish a trade package form with trade picker, deadline, sealed-bidding option, and scope line items
Set the trade, deadline, and the scope rows every sub will price.
Why a fixed scope matters

Because every sub prices the same rows, their bids line up apples-to-apples on the leveling table later. Subs can still add their own extra items, but they can't change your quantities or units — so a "cheaper" bid is genuinely cheaper, not just quoting less work.

Sealed bidding (optional)

Tick Sealed bidding to hide every bid amount until the deadline. You still see who has submitted, just not their numbers, which keeps the process fair and stops early bids from leaking. Sealed bidding needs a deadline — that's when the amounts unlock — and it can only be set at publish; once bids arrive, it can't be switched on.

Revealing a sealed package early

You can unseal before the deadline if you truly need to, but it's recorded in the audit log against your name. Early reveals are how "bid shopping" starts, so FieldFuze makes it a deliberate, attributable action rather than a quiet click.

More than one trade on a job

A single job can carry several packages. Use + trade (or + Publish package again) to add roofing and concrete and electrical to the same job — each gets its own chip, its own subs, and its own leveling table.

Invite subcontractors

Open a package and click Invite subs. There are two ways to invite:

  • From your roster — pick a sub you've saved before. Each shows a compliance badge (see below), so you can tell at a glance who's insured and papered before you invite.
  • By email — type a company name and email for a one-off sub; they're added to the package right away.
Job #1256 · Bids · Invitations
Invite panel showing roster and by-email options, with two invited subcontractors and their private bid links
Invite from the roster or by email; each sub gets a private, copyable bid link.

Every invited sub gets a private bid link. Use Copy bid link to grab the URL and send it yourself, or Resend to email the invitation again — the same link stays valid. Each invitee shows a live status: invited, opened, submitted, or declined.

The link is the key — keep it private

A sub's link logs them straight in with no password, so treat it like one. Don't post it publicly or forward one sub's link to another. If a link is ever mis-sent, just invite that sub again for a fresh one.

What the subcontractor sees

Your subs don't need a FieldFuze account. Their link opens a clean, standalone Bid Portal page with only their invitation on it — no app, no login, nothing else from your account.

Bid Portal · the subcontractor's link
The public Bid Portal page a subcontractor sees, with locked scope rows to price
The sub's view: price the locked scope rows, no account required.

On that page a sub can:

  • Price the scope — enter a unit rate on each of your locked scope rows; the line and grand totals add up as they type.
  • Add extra items — optional lines for anything outside your scope (say, an access charge).
  • Fill in contact info & notes — company, email, phone, and a note to you.
  • Submit, revise, or withdraw — they can update their number any time before the deadline, or pull the bid entirely.
  • Decline / no bid — bow out cleanly so you're not left waiting on them.
Bid Portal · a submitted bid
A subcontractor's submitted bid with priced scope rows, a grand total, and revise or withdraw options
After submitting, the sub sees their total and can revise until the deadline.

They can also open any plans & specs you attached, read shared addenda from other bidders' questions, ask their own questions (RFIs), and upload their compliance documents — certificate of insurance and license.

We don't collect W-9s

Subs upload their COI and license, but there's deliberately no W-9 upload — a W-9 carries a Social Security number, and FieldFuze doesn't store those. Collect the W-9 from your sub directly for your own 1099s.

Compare bids — the leveling table

As bids land, the Bid leveling table builds itself: your scope rows down the side, one column per sub across the top, and a bold TOTAL row at the bottom. The lowest total is highlighted in green, and each sub's extra items are summed on their own Additional items line, so you're always comparing the same base scope.

Every column also carries a compliance badge pulled from that sub's roster record:

compliant COI expiring COI expired docs missing

If the package is sealed, amounts show as •••• and each total reads Submitted ✓ until the deadline unlocks them — so you can watch participation without seeing a single number.

Questions & clarifications (RFIs)

When a sub asks a question, it lands in the package's RFIs list, where you can:

  • Answer & share to all — broadcasts your answer to every bidder as an addendum (the asker's name is stripped). Use this for anything that changes the scope, so everyone bids on the same information.
  • Reply privately — answers just that one sub, for questions specific to them.

Award the winner

When you've decided, click Award under the winning column. That closes bidding on the package and creates a subcontract for that bid. If the sub has a compliance gap, FieldFuze warns you first, so awarding is always a conscious choice.

Job #1256 · Bids · Awarded
The awarded subcontract panel with e-sign status, a payment progress bar, retainage, and on-site schedule
After awarding, one panel handles the subcontract, payments, retainage, and schedule.

The award opens a subcontract panel where you manage everything after the handshake:

Send the subcontract for signature

Edit the terms, then click Send to sign. FieldFuze builds a subcontract PDF and emails it to the sub for a binding e-signature — the same signing engine your estimates and change orders use. The status moves Not issued → Issued (awaiting signature) → Signed.

Track payments & retainage

  • Log payments as you pay the sub (amount, method, and a note like "Draw 1"). A progress bar shows paid-to-date against the contract, with the remaining balance.
  • Lien waivers — tag each payment as conditional or unconditional (or none), so your waiver trail matches your payments dollar for dollar.
  • Retainage — hold back a percentage until the work is complete, then Release retainage in one click.
These payments are for tracking

Logging a sub payment records what you paid out — it doesn't move money and it's entirely separate from the customer payments you collect in Billing & Payments. No processing fee applies.

Schedule & change orders

  • On-site window — set the sub's start and end dates so everyone knows when they're on the job.
  • Change-order requests — if the sub asks for more money (say, rotten decking turns up), the request appears here to Approve or Reject. Approving adds the amount to the subcontract total automatically.

After you award — the sub's view

Once awarded, the same private link switches to an awarded view for the sub. There they can e-sign the subcontract, see their scheduled on-site window, and submit itemized change-order requests — the same ones you approve or reject from your Bids tab.

Bid Portal · the awarded subcontractor
The awarded subcontractor's view showing the contract amount, subcontract status, schedule window, and a change-order request form
The awarded sub sees the contract, signs it, and can request change orders.

Budget & margin

At the bottom of the Bids tab, the Budget & margin card rolls the whole job up so you can see, live, whether it's making money:

  • Revenue — the job's contract value (approved estimates plus approved customer change orders), net of the platform fee.
  • Sub base cost + Approved sub COs = Total cost — what your awarded subs cost you.
  • Projected margin and Margin % — revenue minus cost, colored green, amber, or red so the job's health reads at a glance.
Job #1256 · Bids · Budget
Budget and margin card showing revenue, sub cost, projected margin, and margin percentage
Revenue vs. sub cost gives you a live projected margin for the job.
Use case — subbing out a re-roof

You win a re-roof but sub out the labor. On the job's Overview you flip Subcontracted Job to Yes, then Publish package for Roofing with a locked scope and a Friday deadline. You invite three roofers from your roster and email a fourth; each gets a private link and bids without an account. Their prices stack up on the leveling table, you answer one shared RFI about underlayment, and you award the lowest compliant bid. FieldFuze creates the subcontract — you send it for e-signature, set the on-site week, log draws with lien waivers as you pay, and watch your projected margin the whole way.