Skip to main content

Timesheets

Timesheets aggregate time logs into reviewable, approvable periods for payroll and billing.

Timesheet Lifecycle​

Timesheet Statuses​

StatusDescriptionWho Can Change
DRAFTAuto-created, not submittedEmployee
PENDINGSubmitted for reviewEmployee (submit)
IN_REVIEWUnder manager reviewManager
APPROVEDApproved for payrollManager
DENIEDRejected, needs revisionManager

Timesheet Views​

Weekly View​

Displays time logs grouped by day of the week:

DayProject AProject BTotal
Mon4h3h7h
Tue5h2h7h
Wed3h4h7h
Thu6h2h8h
Fri4h3h7h
Total22h14h36h

Calendar View​

Monthly calendar showing daily totals with color-coded indicators.

Report View​

Aggregated data with filtering by employee, project, client, and date range.

Approval Workflow​

For Employees​

  1. Track time throughout the week
  2. Review daily logs for accuracy
  3. Submit timesheet at end of period
  4. Receive notification of approval/denial
  5. If denied, revise and resubmit

For Managers​

  1. Receive notification of pending timesheets
  2. Review employee time logs
  3. Check screenshots and activity levels
  4. Approve or deny with comments
  5. Bulk approve multiple timesheets

Timesheet Data Model​

interface ITimesheet {
id: string;
startedAt: Date;
stoppedAt: Date;
duration: number; // Total seconds
keyboard: number; // Total keyboard events
mouse: number; // Total mouse events
overall: number; // Overall activity percentage
status: TimesheetStatus;
approvedById?: string; // Manager who approved
approvedAt?: Date;

// Relations
employeeId: string;
organizationId: string;
tenantId: string;
timeLogs: ITimeLog[];
}

Permissions​

ActionRequired Permission
View own timesheetsTIME_TRACKER
Submit timesheetsTIME_TRACKER
Approve timesheetsCAN_APPROVE_TIMESHEET
Edit time entriesTIMESHEET_EDIT
View all timesheetsAdmin role