Timesheets Prototype Flow

Back to prototype

Actors

Key Principles

Status Model

Dispute stages: Open, Client proposed update, Client rejected.

Tags (Flags)

Tags are informational and can stack; they do not block payroll.

Sequence Diagram

sequenceDiagram autonumber participant System participant Client participant Worker participant Payroll Note over System: Week ends Sunday System->>System: Generate Suggested hours on Monday 00:00 System->>Client: Show Suggested timesheets in "To review" alt Client submits in time Client->>System: Submit for payroll (by deadline) System->>Worker: Timesheet set to Awaiting review else Auto-submit (deadline passed) System->>System: Auto-submit Suggested hours System->>Worker: Timesheet set to Awaiting review end par Payroll batch Payroll->>Payroll: Process weekly batch (Thu 15:00) and Worker review Worker->>System: Confirm reviewed System->>System: Status becomes Approved end alt Worker disputes Worker->>System: Submit dispute with note System->>Client: Dispute appears in Issues System->>System: Status Disputed (Open) alt Client proposes update Client->>System: Update timesheet System->>Worker: Update proposed System->>System: Dispute stage = Client proposed update alt Worker accepts update Worker->>System: Accept update System->>System: Status Approved, Dispute closed System->>Payroll: If after batch, queue correction else Worker still incorrect Worker->>System: Still incorrect (new details) System->>Client: Dispute reopened System->>System: Dispute stage = Open end else Client rejects dispute Client->>System: Reject dispute + message System->>Worker: Rejection notice System->>System: Dispute stage = Client rejected alt Worker accepts decision Worker->>System: Accept decision System->>System: Status Approved, Dispute closed else Worker resubmits dispute Worker->>System: Resubmit dispute with updated details System->>Client: Dispute reopened System->>System: Dispute stage = Open end end end Note over Client,Payroll: Corrections apply after payroll if dispute settled late.

Flow (Verbal)

After a workweek ends, the system generates Suggested hours based on the offer. The client reviews these in the “To review” tab and submits them for payroll before the deadline. If the client misses the deadline, the system auto-submits. In both cases, the timesheet moves to Awaiting review for the worker.

The worker can confirm they reviewed the timesheet (which marks it Approved) or open a dispute. A dispute places the timesheet in the client Issues tab with stage Open.

The client can resolve a dispute by proposing an update (editing the timesheet) or by rejecting the dispute with an explanation. If an update is proposed, the worker can accept the update (closing the dispute) or resubmit with new details. If the dispute is rejected, the worker can accept the decision (closing the dispute) or resubmit with updated details. This keeps resolution between client and worker and allows repeated clarification until resolved.

Payroll runs on the weekly cutoff regardless of review status. If a dispute is resolved after payroll has run, the system marks a correction to be applied in the next batch. Paid timesheets show the paid tag and include a payslip link in the worker view. When the client corrects a timesheet, the worker is informed and the corrected days are highlighted in their week view.

Corrections can only be applied while the financial year is open. If the financial year is closed, corrections require a separate finance process and are no longer handled automatically in the next payroll batch.

Behavior Summary