Pular para o conteúdo principal

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.

informação

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:
FieldRequiredDescription
DateYesThe date the work was performed. Defaults to today.
Task NameNoA brief name for the task (e.g., "API integration", "Bug fix #123").
ProjectNoLink the entry to a project, if applicable.
DescriptionNoDetailed description of the work performed.
Start TimeYesWhen you started working on this task.
End TimeYesWhen you finished. Must be after start time.
BillableNoWhether this time can be billed to a client. Defaults to checked.
OvertimeNoWhether this is overtime work. Defaults to unchecked.
NotesNoAdditional 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.

aviso

Time entries can only be added, edited, or deleted when the timesheet is in Draft status. Once a timesheet is submitted, its entries are locked.

Time Entries Table

The entries table on the timesheet detail page shows:

ColumnDescription
DateThe date of the entry
Task NameTask name and description preview
ProjectAssociated project name (if any)
HoursTotal hours with start/end time shown below
BillableCheck or cross icon
OvertimeCheck or cross icon
ActionsEdit 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

Draft  ->  Submitted  ->  Approved
-> Rejected -> (edit & resubmit as new)

Status Definitions

StatusBadgeDescription
DraftGreyTimesheet is being prepared. Entries can be added, edited, or deleted.
SubmittedYellowTimesheet has been sent for approval. Entries are locked.
ApprovedGreenA manager has approved the timesheet. No further changes possible.
RejectedRedA 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
informação

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 FieldCalculation
Total HoursSum of hours from all entries
Billable HoursSum of hours from entries where Billable is checked
Overtime HoursSum 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:

ViewDescription
All TimesheetsShows all timesheets regardless of status
DraftShows only draft timesheets
SubmittedShows timesheets awaiting approval
ApprovedShows 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