Introduction to Job Statuses
The Status on the Job page is designed to give a more specific explanation of the condition of the Timesheets that make up the Job vs the status value held in the database and often displayed in reporting, and is therefore computed on every page load from the status of each individual shift within the job, the job's payment type, and the linked invoice. That is why for example a job with no invoice can read Invoice Rollup.
This guide is intended to provide clarity regarding the various Job status codes that are displayed in the Flex Work UI, and an explanation of the metrics created to bring attention to which Jobs and Timesheets still require action.
Job Statuses Explained
The Job Status value held in the database:
pending_approval (0)
open (1)
closed_automatically (2)
closed_by_manager (3)
canceled (4)
closing (5)
Canceled and Pending Approval statuses are shown as is when viewing the job in the Flex Work UI. Every other job, open or closed, gets a computed status as explained above.
Computed Job Status Definitions
Evaluated top to bottom; first matching row wins. Order matters — a job that satisfies two rows shows only the higher one.
| Shown as | Condition | Real meaning & action | Owner |
1 | Canceled | Job is in status 4 – where all lines have been canceled | No action required | — |
2 | Pending Approval | Job is in status 0 – pending approval to proceed | Approve job where job approval workflow is in place | Approval workflow owner |
3 | Booked | Job in future, no Stripe charge | No action required | — |
|
|
|
|
|
4 | Authorized | Credit card authorized, not charged (n/a for invoice only organizations) | No action required | — |
5 | Unfulfilled | Job started/finished and workers_assigned = 0 | No workers assigned or worked. Close or cancel job | Ops |
6 | X* Pending | One or more filled shifts on a job are still in an accepted, en_route, nearby, on_site, confirmed or working status | Worker never clocked in or out to calculate hours worked. Agency submit hours or Ops/Manager edit hours on open shifts. | Worker or Ops or Manager |
7 | Gigs Closed | All booking-group shifts are closed_by_worker (6) or business_reported (-5) | Workers closed their gigs. Manager still has to close/approve the job | Manager |
8 | Job Closed | All accepted shifts are closed_by_manager (7), completed_final_approval (8), or a no-call-no-show | Job is closed and approved, all shifts are resolved. Waiting on billing | Finance |
9 | Contested | Past job with a shift in business_contesting (-4) or business_contested_time = contested_by_worker (3) | An hours dispute is open. Reviewer must resolve. | Ops reviewer |
10 | All Working | Job is live and all workers assigned are in working status. | Job is in progress. No action required UNLESS the job should now be closed and workers failed to clock out. If that is the case, action must be taken to clock out workers and edit hours as needed to reflect the correct times. | — |
11 | Invoice Rollup / Approved / Sent / Ready / Paid | payment_type = invoice and every accepted shift is in business_paid (9) (or closed no-show). Then split by the linked invoice. | Work is complete and the job is now in the billing stage. NOTE: because Flex Work VMS clients typically use the Agency Consolidated Invoice path, jobs do not automatically progress beyond Invoice Rollup to reflect where they are Invoice Approved / Sent / Ready / Paid. | Finance |
12 | Paid | All accepted shifts are in business_paid or worker_paid status | Job is complete. No action required. | — |
13 | Job Closed (fallback) | None of the conditions defined above were met. | Catch-all bucket, the status does not accurately reflect the current state. Any job in this condition that requires action will be defined in one or more of the Action Required Conditions. | Client manager or Ops |
