βŒ›Timesheets

Timesheets allow employees and managers to track working hours on a weekly basis. Each timesheet covers a specific week and contains individual time entries that record what was worked on, for how long, and whether the time is billable or overtime. Timesheets follow an approval workflow β€” they are created as drafts, submitted for review, and then approved or rejected by a manager.

Creating Timesheets

A timesheet represents a single week of work for one employee. It is defined by a week start date and week end date, and all time entries within it must fall within that range.

From the Timesheets List

  1. Navigate to HRM > Timesheets in the sidebar.

  2. Click Create Timesheet.

  3. Fill in the form:

    • Employee β€” Select the employee this timesheet belongs to.

    • Week Start Date β€” The Monday (or first day) of the week.

    • Week End Date β€” The Sunday (or last day) of the week. Must be on or after the start date.

    • Status β€” Defaults to Draft. Administrators can set this directly; employees cannot.

    • Notes β€” Optional notes about the week.

  4. Click Create.

The timesheet is created with zero hours. You then add individual time entries to log the actual work.

From an Employee's Detail Page

  1. Open the employee's detail page.

  2. Go to the Timesheets tab.

  3. Click Create Timesheet and fill in the week dates and notes.

Using the Log Time Action

The Log Time action provides a shortcut that creates a timesheet and a time entry in one step:

  1. From the Timesheets list or an employee's detail page, click Log Time.

  2. Fill in the entry details (date, task, times, etc.).

  3. The system automatically finds or creates a draft timesheet for the week containing the selected date, then adds the entry to it.

This is the fastest way to record time β€” you do not need to create the timesheet first.

circle-info

Each employee can only have one timesheet per week. If a timesheet already exists for that employee and week, the Log Time action adds the entry to the existing timesheet rather than creating a duplicate.

Employee Portal

When an employee logs in through the Employee Portal:

  • The Employee field is hidden β€” the system automatically assigns the timesheet to the logged-in employee.

  • The Status field is hidden β€” timesheets always start as Draft.

  • Employees can create timesheets and log time entries for their own records.

Logging Time Entries

Time entries are the individual line items within a timesheet. Each entry records a specific block of work.

Adding an Entry from the Timesheet Detail Page

  1. Open a timesheet (click on it from the list).

  2. In the Time Entries section, click Add Entry.

  3. Fill in the entry form:

Field
Required
Description

Date

Yes

The date the work was performed. Defaults to today.

Task Name

No

A brief name for the task (e.g., "API integration", "Bug fix #123").

Project

No

Link the entry to a project, if applicable.

Description

No

Detailed description of the work performed.

Start Time

Yes

When you started working on this task.

End Time

Yes

When you finished. Must be after start time.

Billable

No

Whether this time can be billed to a client. Defaults to checked.

Overtime

No

Whether this is overtime work. Defaults to unchecked.

Notes

No

Additional notes or comments.

  1. Click Create.

The Hours are calculated automatically from the start and end times. After adding an entry, the timesheet's total hours, billable hours, and overtime hours are recalculated.

Editing an Entry

  1. On the timesheet detail page, find the entry in the Time Entries table.

  2. Click the actions menu (three dots) on the entry row.

  3. Select Edit.

  4. Modify the fields and click Save.

Deleting an Entry

  1. Click the actions menu on the entry row.

  2. Select Delete and confirm.

The timesheet totals are recalculated after every addition, edit, or deletion.

circle-exclamation

Time Entries Table

The entries table on the timesheet detail page shows:

Column
Description

Date

The date of the entry

Task Name

Task name and description preview

Project

Associated project name (if any)

Hours

Total hours with start/end time shown below

Billable

Check or cross icon

Overtime

Check or cross icon

Actions

Edit and delete options (only in Draft status)

Entries are sorted by date and start time in ascending order.

Submit / Approve / Reject Workflow

Timesheets follow a four-status workflow that controls what actions are available at each stage.

Workflow Diagram

Status Definitions

Status
Badge
Description

Draft

Grey

Timesheet is being prepared. Entries can be added, edited, or deleted.

Submitted

Yellow

Timesheet has been sent for approval. Entries are locked.

Approved

Green

A manager has approved the timesheet. No further changes possible.

Rejected

Red

A manager has rejected the timesheet with a reason.

Submitting a Timesheet

  1. Ensure all time entries are complete and accurate.

  2. Click the Submit Timesheet action (available inline on the list or detail page).

  3. The timesheet status changes from Draft to Submitted.

Before submission, the system recalculates all totals (total hours, billable hours, overtime hours) from the entries to ensure they are accurate.

Who can submit:

  • The employee who created the timesheet (with "Edit Own Timesheets" permission)

  • Users with the "Submit Timesheets" permission

circle-info

Only timesheets in Draft status can be submitted. The Submit action will not appear on timesheets that are already submitted, approved, or rejected.

Approving a Timesheet

  1. From the Timesheets list, switch to the Submitted view to see timesheets awaiting approval.

  2. Click the Approve Timesheet action on the timesheet.

  3. The timesheet is marked as Approved. The approver's name and approval timestamp are recorded.

Who can approve:

  • Users with the "Approve Timesheets" permission (typically managers or HR staff)

Rejecting a Timesheet

  1. From the Timesheets list, find the submitted timesheet.

  2. Click the Reject Timesheet action.

  3. Enter a rejection reason (required) explaining what needs to be corrected.

  4. Click confirm. The timesheet is marked as Rejected.

The rejection reason is visible to the employee on the timesheet detail page and in the Timesheets tab on their employee profile.

Who can reject:

  • Users with the "Approve Timesheets" permission (the same permission governs both approve and reject)

Bulk Actions

Submit, Approve, and Reject actions support bulk operations. Select multiple timesheets from the list and apply the action to all of them at once. The system processes only the timesheets that are in the correct status β€” for example, bulk Submit only affects Draft timesheets and skips any that are already submitted.

Timesheet Reminders

The system can automatically send email reminders to employees who have not submitted their timesheets for the current week. This is powered by the hrm:send-timesheet-reminders scheduled command, which:

  • Checks all active employees for pending timesheet days in the current week

  • Sends a notification to employees who have unsubmitted days

  • The reminder includes the number of pending days and the week ending date

Billable & Overtime Hours

Each time entry can be flagged as billable, overtime, or both. These flags are tracked at the entry level and aggregated on the timesheet.

Billable Hours

Billable hours represent time that can be charged to a client or project. When creating or editing a time entry:

  • The Billable checkbox is enabled by default.

  • Uncheck it for internal work, meetings, or other non-billable activities.

The timesheet's Billable Hours field shows the sum of hours from all entries marked as billable.

Overtime Hours

Overtime hours represent work performed outside of normal working hours. When creating or editing a time entry:

  • The Overtime checkbox is unchecked by default.

  • Check it to flag the entry as overtime work.

The timesheet's Overtime Hours field shows the sum of hours from all entries marked as overtime.

How Totals Are Calculated

Timesheet totals are recalculated automatically whenever entries are added, updated, or deleted:

Timesheet Field
Calculation

Total Hours

Sum of hours from all entries

Billable Hours

Sum of hours from entries where Billable is checked

Overtime Hours

Sum of hours from entries where Overtime is checked

These totals are also recalculated when a timesheet is submitted, ensuring the summary is accurate before it reaches the approver.

Project Tracking

Time entries can optionally be linked to a Project. This allows you to:

  • Track how many hours are spent on each project

  • See a breakdown of billable vs. non-billable time per project

  • Link timesheet data to project budgets and reporting

Viewing Hours from an Employee's Profile

On an employee's detail page, the Timesheets tab displays all timesheets as cards showing:

  • Week date range and status badge

  • Total hours, billable hours, and overtime hours

  • Notes and rejection reason (if rejected)

  • Inline actions (Submit, Approve, Reject, Delete) based on the timesheet's status and user permissions

Use the status filter dropdown and search box to find specific timesheets.

Filtering and Saved Views

The Timesheets list page includes four pre-built views:

View
Description

All Timesheets

Shows all timesheets regardless of status

Draft

Shows only draft timesheets

Submitted

Shows timesheets awaiting approval

Approved

Shows approved timesheets

Additional filters are available in the filter panel:

  • Status β€” Filter by Draft, Submitted, Approved, or Rejected

  • Week Start Date β€” Filter by date range

  • Week End Date β€” Filter by date range

  • Total Hours β€” Filter by hours worked

  • Billable Hours β€” Filter by billable hours

Last updated