# Dispatch a job to a subcontractor, from assignment to their bill

> Assign the job to a subcontractor (Biloh checks their agreement, insurance and skills first), send them a work order, and they accept it from the link in their email. Accepting dispatches the job. When they mark it complete from their portal, Biloh raises their bill to you automatically and holds it until the client's invoice is paid. If assignment is refused because the agreement is not signed, send the agreement first.

URL: https://biloh.com.au/docs/how-to/dispatch-a-job-to-a-subcontractor
Category: How-to guides | Audience: operator | Updated: 2026-11-08

**At a glance**

- **Who it's for:** Business owners and the people who run the office
- **What it does:** [Subcontractors who work from their phone](https://biloh.com.au/capabilities/subcontractor-dispatch) · [Insurance and licences checked before every job](https://biloh.com.au/capabilities/contractor-compliance)
- **Tools it uses:** [`assign_job`](https://biloh.com.au/connect#assign_job) · [`propose_send_work_order`](https://biloh.com.au/connect#propose_send_work_order) · [`approve_send_work_order`](https://biloh.com.au/connect#approve_send_work_order) · [`propose_send_contractor_agreement`](https://biloh.com.au/connect#propose_send_contractor_agreement) · [`confirm_pending_operation`](https://biloh.com.au/connect#confirm_pending_operation) · [`approve_send_contractor_agreement`](https://biloh.com.au/connect#approve_send_contractor_agreement) · [`record_completion`](https://biloh.com.au/connect#record_completion) · [`get_payable`](https://biloh.com.au/connect#get_payable)
- **What a person approves:** Your business records are stored in Sydney, Australia.

Getting a job to a subcontractor is four steps: **assign** it, **send the work order**, the
subcontractor **accepts** it, and they **complete** it. Biloh checks the subcontractor can be
sent the work before anything is written, and raises their bill to you the moment the job is done.

You can do every step by asking your assistant. Most of them are also on the **Job Command Sheet**
in the app (open any job's card on the schedule board).

## 1. How do I assign the job?

**In the app:** open the job's card, and on the Job Command Sheet tap **Assign**, then pick the
subcontractor.

**Ask your assistant:** "Assign next Tuesday's window clean at Marina Towers to Reef Clean Co."
It calls `assign_job`.

Before it writes anything, Biloh runs the compliance check. A subcontractor is refused when they:

- have not signed your subcontractor agreement;
- have no verified insurance on file, or it has expired;
- are not set up for this service;
- are on leave or inactive;
- are missing a licence or card the service requires.

A refusal says which one, so you know what to fix. The full list is in
[why a contractor can't be assigned](/docs/concepts/why-a-contractor-cant-be-assigned).

## What do I do when the agreement is not signed?

The refusal reads: *Compliance gate blocked assignment: Contractor has not signed the Subcontractor
Master Agreement.* Nothing was changed.

**In the app:** open the subcontractor's page and tap **Send SMA**. Check the preview, then send.

**Ask your assistant:** "Send Reef Clean Co our subcontractor agreement." It shows you a preview
(`propose_send_contractor_agreement`), stages it when you agree (`confirm_pending_operation`) and
sends it when you say yes (`approve_send_contractor_agreement`).

The subcontractor signs from the link in the email. Once they have signed, assign the job again.

## 2. How do I send the work order?

Ask your assistant: "Send Reef Clean Co the work order for that job." It shows you the work order
and who it goes to (`propose_send_work_order`), and sends it when you say yes
(`approve_send_work_order`). A work order is sent in two steps, not three.

For a regular service, ask for the work order to cover the whole series. One acceptance then
covers every future visit on that line.

Tapping **Dispatch** in the app is different: it marks the job dispatched without a work order, and
Biloh tells you so. Use it only when you have agreed the work some other way.

## 3. What happens when the subcontractor accepts?

They tap **Review Work Order** in the email, read it, and accept. Accepting moves the job to
dispatched — you do nothing. They then see it in their own portal, without what the client pays.

## 4. What happens when they complete it?

They tap **Mark Complete** in their portal, with any photos and notes your settings ask for. If they
did the work but did not press it, open the job and tap **Mark complete** yourself, or ask your
assistant to record it (`record_completion`).

Completing the job does two things by itself:

- it raises the subcontractor's **bill to you** (a payable), at the rate the job carries;
- it drafts the **client's invoice**, when that client is invoiced job by job
  ([when completing a job bills the client](/docs/concepts/when-completing-a-job-bills-the-client)).

The subcontractor's bill waits as pending until the client's invoice for the job is paid; then it
is ready to release. Ask your assistant "show me Reef
Clean Co's bill for that job" (`get_payable`) to see it.

**Biloh never moves money: its tools record payments that already happened, and a pay-now link opens the business's own Stripe checkout for its client.**

## Related

- [Why a contractor can't be assigned to a job](/docs/concepts/why-a-contractor-cant-be-assigned)
- [Dispatching and triaging jobs](/docs/how-to/dispatching-and-triage)
- [Dispatching a job: the tool sequence for AI assistants](/docs/reference/dispatching-a-job-for-agents)
- [When completing a job bills the client](/docs/concepts/when-completing-a-job-bills-the-client)
