Work Orders & Subcontracts

Handing part of a project to a subcontractor: a work order with the contract amount, retention percentage and dates; a scope of the lines they are actually doing and at what rate; claims raised against that scope with retention held and advance recovered; and retention released once the work is accepted.

Switch: Settings > Site Work > Work Orders & Subcontracts. Permissions: Work Orders to register one and write its scope, Bill Projects to take a claim, Release Retention to let retention go.

Where it appears

Construction shell: Work Orders in Site Operations (pick a project, then its orders), and the Subcontracts tab on the project page. Opening an order shows its own page - scope, claims and advance. Contractors are a contact type of their own.

The scope, and why it is separate

A work order's contract amount says what the whole job is worth. Its scope says which BOQ lines this contractor is doing and at what rate they are being paid - which is rarely the rate the client is being charged, and that difference is where a contractor's margin lives. Without it, a claim could only ever be "some of the contract amount"; with it, a claim is measured work at an agreed rate, the same way the client's bill is.

Flow

flowchart TD
    A[Project] --> W[New work order: contractor · contract amount
retention % · start · end] W --> S[(Work order open)] S --> SC[Scope: which BOQ lines · quantity · their rate] S --> ADV[Advance paid to the contractor] ADV --> AV[(Payment Out · recovered from later claims)] SC --> B[Claim draft: measured work against the scope
less what has already been claimed] B --> CL[(Claim: gross · retention held · advance recovered · net payable)] CL --> PI[Post: purchase invoice on the contractor's ledger] PI --> PO[Payment Out to the contractor] S -->|work accepted| RR[Retention release: everything still held, pre-filled] RR --> T2[(Payment Out: retention)] PI & T2 --> V[BOQ variance: subcontract cost against budget] S -->|billed covers the contract| C[Completed — closing stays a human act,
after retention is returned]
The claim posts as a purchase voucher tagged with the project, so the contractor's statement and the site's cost both see it.

Screens

Retention is stored on each claim as a fact, not re-derived from a percentage at read time — which is what lets the Retention Ageing and Contractor Running Account reports reconcile against what was really withheld.

Setting it up

flowchart LR
    A[Settings > Site Work
Work Orders on] --> B[Add contractors as contacts] B --> C[Write the first work order
amount · retention · dates] C --> D[Set its scope: lines and rates] D --> E[Print it for signature on site] E --> F[Take claims against the scope] F --> G[Release retention once work is accepted]
Switch it on, put the contractors and the scope behind it in place, then claim — in that order, or the first claim will have nothing to measure against.
Switching off with open work orders warns at save. A work order carrying a posted advance or claim cannot be deleted at all.