Run the day · The subs and vendors you lean on

Every sub's compliance status, in one place.

Subs and vendors get their own self-serve portal — work orders, purchase orders, and compliance documents — while the office works one queue instead of chasing certificates of insurance over email.

Live

What it is

A subcontractorin Thermal is the org-wide record of a sub you dispatch work to — contact info, trade, insurance status, and every work order it's been tied to. Its certificate-of-insurance status is computed, not a field someone sets by hand: Thermal checks for a carrier, policy number, coverage limit, and the required endorsements, with effective and expiry dates that cover today.

The same surface covers suppliers— the vendors you buy parts from, not labor from — through purchase orders instead of dispatched work. Sub-performed hours don't skew your own crew's labor utilization or technician productivity metrics, because sub work stays on its own record instead of blending into employee hours.

Where subs sit on the spine.

A subcontractor accepts or declines a dispatched work order the same way a technician would, and its submitted quote or invoice moves through the same review step before it enters Thermal's invoice pipeline.

  1. 01Customer

    One account. Every site under it.

  2. 02Service site

    The address, and the branch that covers it.

  3. 03Installed equipment

    The unit a sub's work touches.

  4. 04Service agreement

    Covered work you don't self-perform.

  5. 05Work order

    Dispatched here, accepted by the sub.

    You are here
  6. 06Invoice

    The sub's invoice is reviewed before it posts.

A sub works the same work order a technician does, and its invoice is reviewed before it posts — never a side process outside the record it's tied to. The cost then rolls into job costing the same way a tech's labour does.

ThermalDispatchAgreementsEquipment
Illustrative subcontractor register — interface mock, not customer data
SubTradeCOI statusPolicy expiryOpen work ordersReview queue
SUB‑011RefrigerationValley RefrigerationOut of complianceExpired3COI rejected
SUB‑014ElectricalMeridian ElectricCurrent2027‑01‑152COI pending review
SUB‑017MechanicalNorthstar Sheet MetalCurrent2026‑12‑015Clear
SUB‑019ControlsPeregrine ControlsCurrent2026‑11‑201Invoice pending
SUB‑021SuppliersEastside Parts4 POsClear
Illustrative interface mock — not customer dataExceptions sort first: out-of-compliance subs, certificates pending review

One self-serve portal. One compliance view for the office.

Six pieces of subcontractor and vendor management, all shipped and nav-wired today.

Live

One compliance view, not an inbox of emailed certificates

The office-side control board's Compliance tab lists every certificate of insurance waiting on review in one queue, and the subcontractors list itself shows every sub's computed COI status at a glance. What used to live in an inbox and a spreadsheet is now one screen, sorted by what needs a decision.

  • TodayOne compliance queue plus computed COI status per sub
Live

Block a sub the moment it falls out of compliance

Block stops a subcontractor from being assignable to new work without deleting its record or job history — use it for a lapsed COI or a relationship you've ended. Unblock re-evaluates against current compliance the moment you're ready, so a sub that fixes its coverage can come back without the office rebuilding the record.

  • TodayBlock/unblock with history intact; unblock re-checks compliance
Live

Vendor portal: work orders

A sub sees only the jobs dispatched to its own account, accepts or declines with a reason, and logs progress — en route, on site, done — from its own device, scoped strictly to the contractor it's signed into. The office sees the same status updates without a single phone call to chase.

  • TodayAccount-scoped work orders, accept/decline with reason, status updates
Live

Vendor portal: purchase orders

A supplier acknowledges a PO, posts shipment and delivery updates, and submits an invoice against one or more acknowledged orders — all recomputed server-side, all scoped to that supplier's own account. A single PO can supply several jobs, and each line's cost still lands on the right one.

  • TodayPO acknowledgement, shipment updates, invoice submission
Live

Quotes and invoices, reviewed before they post

A sub's cost quote or invoice submission is recomputed server-side and held for office approval or a revision request with a reason — nothing posts to Thermal's books unreviewed. If it comes back for revision, the sub sees exactly why.

  • TodaySub quotes and invoices held for office review with reason
Live

Compliance documents, uploaded by the sub itself

A sub uploads its own current certificate of insurance from the portal instead of emailing the office; the upload moves it to pending review and the decision — and any rejection reason — shows back in its own compliance history. The office approves or rejects from the same queue, and the sub knows where it stands.

  • TodaySelf-serve COI upload, pending review, decision shown to the sub

Subcontractor management, not construction-accounting depth.

A decided boundary, not a gap — this is what stays out of scope on purpose so the platform doesn't sprawl into a different kind of software. Knowing what a tool refuses to do is part of trusting it.

No union or certified payroll

Burdened cost rates, cross-local dues routing, jurisdiction sick time, and certified-payroll reporting stay out of scope — that's deep payroll-compliance territory, not field service. Thermal manages sub compliance, dispatch, and invoicing, not payroll compliance.

No AIA progress billing

G702/G703 forms and retainage tracking for commercial-construction billing aren't something Thermal builds toward — a subcontractor's quote and invoice here are job-level, not a construction-accounting draw schedule. See the invoicing page for what billing covers.

No multi-entity GL consolidation

Thermal runs beside your accounting system, never inside it. Subcontractor cost and compliance live here; the general ledger and any multi-entity consolidation stay exactly where they are, because that's a deliberate boundary. Check the integrations page for what moves today.

If a capability isn't on this page, assume it isn't built. We'd rather lose a deal on a missing feature than win one on a sentence that turns out to be aspirational.

What subcontractors touch.

A sub sits between the office and the job — these are the records it flows through.

Reads from

Writes to

Sits beside

Questions a procurement lead asks.

The ones that come up when certificates live in someone's email inbox.

How is COI compliance status determined?

It's computed, not manually flagged — Thermal checks for a carrier, at least one policy number, a coverage limit, and the required endorsements, with effective and expiry dates that cover today. If any of that is missing or expired, the sub shows out of compliance with the specific reason on file, so nobody has to call the broker to find out why.

Can a subcontractor see other subs' jobs or compliance records?

No — vendor portal access is scoped to the signed-in subcontractor's or supplier's own account at the contractor organization it's signed into. It also doesn't expose customer billing details, internal pricebook data, margin data, or contractor-side cost controls. A sub sees its own jobs and nothing else in the shop.

Does the vendor portal cover suppliers too, or just subcontractors?

Both — one portal surface covers subcontractors (labor, dispatched work orders) and suppliers (parts, purchase orders), each scoped to its own data. The same login flow, the same compliance view, two very different kinds of work.

What happens to a sub's history if it gets blocked?

Blocking stops new work from being assignable to that sub — it doesn't delete the record or its past job history. Unblocking makes it assignable again, and unblock re-checks current compliance first.

Does Thermal handle union or certified payroll for subcontractors?

No — that's a deliberate boundary, not a gap. Burdened cost rates, cross-local dues routing, and certified-payroll reporting stay out of scope; Thermal manages sub compliance, dispatch, and invoicing, not payroll compliance.

Does Thermal do AIA billing or retainage tracking?

No. G702/G703 progress billing and retainage tracking are commercial-construction-accounting territory Thermal doesn't build toward — a sub's invoice here is job-level, reviewed and approved, not a construction draw schedule.

Stop chasing certificates of insurance over email.

Bring the sub whose COI you last had to chase and watch the computed status, the queue, and the self-serve portal close it out on the call.