β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
Navigate to HRM > Timesheets in the sidebar.
Click Create Timesheet.
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.
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
Open the employee's detail page.
Go to the Timesheets tab.
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:
From the Timesheets list or an employee's detail page, click Log Time.
Fill in the entry details (date, task, times, etc.).
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.
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
Open a timesheet (click on it from the list).
In the Time Entries section, click Add Entry.
Fill in the entry form:
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.
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
On the timesheet detail page, find the entry in the Time Entries table.
Click the actions menu (three dots) on the entry row.
Select Edit.
Modify the fields and click Save.
Deleting an Entry
Click the actions menu on the entry row.
Select Delete and confirm.
The timesheet totals are recalculated after every addition, edit, or deletion.
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:
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
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
Ensure all time entries are complete and accurate.
Click the Submit Timesheet action (available inline on the list or detail page).
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
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
From the Timesheets list, switch to the Submitted view to see timesheets awaiting approval.
Click the Approve Timesheet action on the timesheet.
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
From the Timesheets list, find the submitted timesheet.
Click the Reject Timesheet action.
Enter a rejection reason (required) explaining what needs to be corrected.
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:
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:
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