ModulesDocketsDocket Supervisor

Docket Supervisor

A docket’s primary supervisor is the person whose diary the docket belongs to and who signs it off. A docket can also carry associated supervisors, who see it alongside the primary.

Who can be a docket’s supervisor

Owner ruling, 2026-09-27:

Who can be set as a docket’s supervisor: Project’s Members with Role SUPERVISOR or SENIOR SUPERVISOR.

A person qualifies on a project when all of these hold:

TestMeaning
On the project’s rosterThey are a member of the project (Config → Members).
Can sign inTheir account is not deactivated or deleted.
Supervisor role thereTheir role on this project is Supervisor or Senior Supervisor.

“Their role on this project” is the role set for them on the project when there is one, otherwise their company-wide role. A Labourer made Supervisor on one project can supervise dockets there; a Supervisor made Labourer on a project cannot supervise dockets on it. Custom roles, including a copy of the Supervisor role, do not qualify: the rule names the two roles.

The same group applies to a plant’s default supervisor, because it is stamped on every docket the plant auto-generates.

Where the rule applies

Every place that picks a supervisor offers exactly this group, and the server refuses anyone else:

WhereWebMobile
New docket (standalone, any type)Primary supervisorStart shift, New plant docket
Materials docket headerPrimary supervisorNew materials docket
Docket Meta panePrimary and associated supervisors—
Docket workbench bulk editSupervisor—
Plant default supervisor (Add Plant, plant form, bulk edit)Supervisor—
CopilotSame checks as the web—
Materials docket import (supervisor column)Must name someone in the group—

A refused save says “Pick a supervisor on this project.”

Move to another diary

A docket sheet has Move to another diary (web). It lists the diaries on the docket’s date and shift, each with its supervisor and status. Picking one moves the docket under that diary and under that diary’s supervisor, and the change is recorded in the docket’s history. Use it when a worker signed on prior to the prestart under a supervisor who never made a prestart or diary. A confirmed docket cannot be moved, and a diary on another date or shift is refused (409 diary-mismatch). Needs the same permission as changing the supervisor (PUT .../dockets/{docketId}/diary).

What is never refused

  • A docket keeps the supervisor it already has. Saving a docket that re-sends its stored supervisor is never refused, even if that person has since left the project or changed role. Only a new or changed supervisor is checked. The same holds for associated supervisors the docket already carries, and for a plant’s stored default supervisor.
  • Existing records are not changed. The rule applies to new picks. No stored supervisor was rewritten when it was introduced.
  • A docket made in a diary takes the diary’s supervisor. In-diary creates, prestart sign-ons and diary duplicates carry the diary’s supervisor; there is nothing to pick.
  • Attaching a worker to an existing subcontractor docket sets no supervisor, so it is never refused for one.

Auto-generated dockets

When a plant’s default supervisor is no longer a supervisor on the project, the next auto-generated docket is still created, but with no supervisor, and the plant raises the Default supervisor removed alert. Pick a new default supervisor to clear it; the next docket carries them.

For developers

  • The rule lives once, in SQL: ListProjectDocketSupervisors in backend/db/queries/docket_supervisor_rule.sql. Every Go writer goes through backend/pkg/docketsupervisor (Check, KeepOrCheck, FirstNew).
  • Pickers read it through the GET read route as GET /v1/orgs/{orgId}/projects/{projectId}/eligible-members?capability=docket_supervisor.
  • Refusals are 400 with code supervisor-not-on-project.

Workers with no rate on a subcontractor docket

A subcontractor docket cannot be submitted while any worker on it has no rate (no classification or rate line) and is not in a crew group. The refusal names the workers and who can fix it: “Ask the head contractor to assign and verify Suresh Varasoo and 4 others, or add them to a crew.”

A worker who signs on before the head contractor has assigned and verified them lands on the docket with no rate. When the head contractor then verifies them, or saves their rate line or classification, the rate is copied onto their rows on draft subcontractor dockets of that project, and those dockets are priced again. Submitted, reviewed, confirmed and exported dockets are never changed. A worker whose rate line is a crew-hour, flat-shift or material line stays unanchored: the crew lead groups them.