← All help articles

Walkthrough: contractor compliance

getting-started

This is the whole job end to end, for a business that has to prove its contractors are covered before they set foot on a site: insurance, licenses, inductions, a signed agreement, and noticing when any of it lapses. It assumes nothing is set up yet, and it links to the article that covers each step in full.

The shape of the problem

Collecting a certificate is easy. The work is in the three things that come after it:

  • Knowing who is short of what, across everyone, without opening records one at a time.
  • Noticing when something lapses, months after you stopped thinking about it.
  • Proving, later, what you held and when, to a client, an auditor or an insurer.

The setup below is built around those three.

Set up the pieces you will reuse

Build these once and every later intake is faster.

Statuses. Under Statuses, define the states a contractor moves through: Applied, Documents in, Verified, Cleared for site, On hold. Keep the list short. These answer "can this person work on Tuesday", and an automation can set them for you. See Statuses.

Your agreement. Under Terms, write the contractor agreement people have to accept. Each acceptance is pinned to the version accepted, so publishing an update next year never disturbs a signature already given. See Terms and conditions.

Workflows for anything procedural. Under Tasks, build a workflow for each procedure a contractor has to carry out rather than upload: the site induction, the safety briefing. Its step text is inherited live wherever it is used, so correcting a procedure corrects it everywhere. See Workflows and your procedures manual.

Custom contact fields for anything that belongs on the contact record rather than inside one portal: tax ID, trade, insurance certificate. Set them up under Fields. See Custom contact fields.

A request pack once you know what you ask every contractor for. A pack is that list saved once, added to any portal in one click. See Request packs.

Build the portal

Open Portals and make a portal. One portal per intake is the usual shape: a quarter's subcontractors, a site, a trade group. Not one per person.

Then build the request list. For a compliance intake that is typically:

  • Upload requests for the documents: public liability, workers' compensation, trade license, photo ID. Tick Require expiry on anything that lapses. That one tick is what lets WorkZerk warn you before a certificate runs out.
  • A Terms request presenting your agreement, with a typed name or drawn signature if you want one.
  • A Tasks request per procedure, using Add from a workflow. The person ticks each step; you get one line to chase.
  • Text and Choice requests for details you need in writing. Use a Fields request instead for anything that should land on the contact record, and on an Upload, Document type puts the newest certificate on the contact too.

Creating requests for documents and info covers every kind and its options.

Split the list by role

Drivers need a license and vehicle details. Electricians need a trade license nobody else does. Everyone needs the induction.

Put the role-specific asks inside a Section, open Limit who sees this, and tick the people it applies to under Show only for specific people. One portal then serves several trades without showing anybody questions that do not apply to them.

When roles are not known in advance, gate on an answer instead: ask "what are you here as?" as a Choice request first, and show each section only for the matching reply.

Get people in

Add and invite. Add contacts on the portal, or bring a list in under Import, and send each person their link. See Adding contacts and Importing contacts from a CSV.

Self-registration. Click Generate link under Self-registration link on the portal, and people can add themselves from that link or its QR code. Put the QR on the site gate, on the induction slide, or in the email your client sends their subcontractors. See Self-registration.

Let the chasing run itself

In Automations, the reminders are already written. The outstanding requests reminder and invite not opened are switched on from the start; the rest wait for you to turn them on:

  • Outstanding requests reminder, switched on: a nudge 7 days after the invite, and again at 14, while required items are still missing.
  • Document expiring reminder and Document expired reminder, so a certificate warns you before it lapses rather than after somebody is turned away at a gate.
  • Rejected upload reminder, for a file you sent back that nobody replaced.
  • Time to ask again, for documents with no expiry date: a background check, an induction, a policy sign-off. It counts from the day you approved it.
  • Invite not opened (switched on) and Upload not reviewed, which report to you rather than to them.

Then build two rules of your own:

  • Trigger Someone is added, action Send their invite, so adding a contractor and inviting them is one act.
  • Trigger Document approved, action Set their status, so the status moves as paperwork is approved rather than when somebody remembers. It fires on every approval, so point it at an in-between status such as Documents in.

Automations is the reference, and Automation examples for onboarding has these rules step by step.

Review what comes in

Work from Requests daily rather than opening portals one at a time. It shows who still owes you something, what is waiting on your approval, and what is expiring soon, across every portal. See Requests screen for all portals.

Approve or reject every upload. An approval is what a status rule hangs off and what starts the ask-again clock. A rejection sends your reason back to the person. See Reviewing and approving uploads.

Keep it current

  • Expiring soon, on the Requests screen, is the list to work each week. Prompt emails the person for a fresh copy with their link.
  • One document, every portal. When a contractor is on three portals and their insurance renews, see it once. See Tracking a document across portals.
  • Leave a compliance portal open. Closing a portal switches off every link on it, including the link in an expiry reminder, so the person has nowhere to upload the renewal.

Prove it later

  • Reports cover outstanding requests, expiring documents and who accepted which version of your terms. Each exports to CSV, and most print to PDF for someone outside your account.
  • A contact's request history shows one person across every portal: everything you asked and what came back. See Contact request history.
  • The change history answers what an ask used to say and what an answer used to say. See Request and answer change history.
  • Your account export takes the whole record offline when somebody wants everything.

What pays off most

  • Tick Require expiry on everything that lapses. It is the difference between a document store and a system that warns you.
  • Build the workflows and the pack before the portal. They make the second intake fast and keep your induction the same on every site.
  • Let approval drive status. Statuses changed by hand drift within a fortnight.
  • Put the reason in the request description. "The client requires this for site access" cuts the questions you field, and it doubles as the collection notice your privacy policy needs. See What to put in your own privacy policy.

Getting help

If you are setting up a first intake and want a second opinion, email [email protected] with the trades involved and what you have to hold for each.

Still stuck after reading this? Open a help ticket and we'll answer your specific question.