Timesheet Matrix
The Timesheet Matrix is the primary view for reviewing, approving, and managing worker timesheets. It displays all submitted timesheets in a grid format — workers on the left, dates across the top — giving administrators a complete picture of hours worked across the organization for any pay period.
Navigation
Sidebar → Workforce Admin → Timesheets
URL: /timesheets
Overview

The matrix view presents a spreadsheet-style grid where:
- Rows — One per worker who has timesheet records in the selected date range, showing their name, avatar, and trade classification (Journeyperson, Foreman, Apprentice, Superintendent)
- Columns — One per day in the date range (Sunday through Saturday)
- Cells — Total hours for that worker on that day, with status indicators
- Totals — The "Worked Hours" column on the right shows the total hours per worker for the period
- Status Summary — The top bar shows aggregate counts: Approved, In Review, and Rejected with percentages
Viewing a Timesheet
1. Select a Date Range
Use the date range selector at the top of the matrix to choose the pay period you want to review. The current range is displayed between left/right navigation arrows (e.g., "2026-03-29 – 2026-04-04").
- Click the left arrow to move back one week
- Click the right arrow to move forward one week
- Click This Week to return to the current week
- Click the calendar icon to select a specific date
2. Click a Cell to Open the Timesheet Slideout
Click on any cell in the matrix to open the timesheet detail slideout panel on the right side of the screen.

The slideout displays the full detail for that worker's timesheet entry:
| Section | Description |
|---|---|
| Worker Name & Date | Worker identity and the specific workday (e.g., "Dave Mitchell — Tue March 31, 2026") |
| Job Breakdown Table | Columns for Job, Submitted hours, 1X (regular), 1.5X (overtime), 2X (double-time), Total, and Zone |
| + Log time to another job | Link to add a second job entry for split-day work |
| Travel Expense | Toggle to include travel allowance (auto-calculated from union hall to job site) |
| Board Expense | Toggle for board/accommodation allowance |
| Parking Expense | Toggle for parking allowance |
| Total Expense | Calculated dollar amount for all expense categories |
| Worker Note | Notes entered by the worker or foreman describing the day's work |
| Admin Note | Internal admin-only notes (not visible to the worker) |
| Leave Time | Table showing any leave entries (Leave Type, Duration, Paid/Unpaid, Status) |
| Timesheet Status | Current approval status with Reject and Approve action buttons |
3. Approve or Reject the Timesheet
From the slideout panel:
- Click Approve to mark the timesheet as approved. Hours lock and flow to payroll export.
- Click Reject to mark the timesheet as rejected. A note explaining the reason is required. The worker receives a notification and can revise and resubmit.
- Click Save to save any changes without changing approval status.
- Click Cancel to close the slideout without saving.
Status Indicators
Each timesheet entry has a status visible both in the matrix cells and in the status summary bar:
| Status | Color | Meaning |
|---|---|---|
| Submitted / In Review | Blue | Worker has submitted, awaiting administrator review |
| Approved | Green | Administrator has approved — ready for payroll |
| Rejected | Red | Administrator has rejected — worker must revise and resubmit |
| Draft | Grey | Saved but not yet submitted |
The status summary bar at the top of the matrix shows: 0 Approved / 0%, 0 In Review / 0%, 0 Rejected / 0% with a colored progress bar for quick visual reference.
Cell Indicators
Within the matrix grid, cells display different indicators:
| Indicator | Meaning |
|---|---|
| Number (e.g., 8) | Total hours for that worker on that day |
| 0 | Timesheet record exists but with no hours logged |
| — (dash) | No timesheet record exists for that day |
| ✕ | Not a scheduled workday (Sunday/Saturday typically) |
| Blue note icon | Timesheet has worker notes attached — hover or click to view |
Filters
Use the filter bar above the matrix to narrow the view:
| Filter | Options | Description |
|---|---|---|
| User | Worker name search | Show timesheets for a specific worker |
| Employee Agreement | Dropdown | Filter by workers under a specific collective bargaining agreement |
| Trade Level | Dropdown | Filter by classification (Journeyman, Apprentice, Foreman, Superintendent) |
| Status | Submitted / Approved / Rejected / All | Filter by timesheet approval status |
| Job | Job name/number search | Show only timesheets for a specific job |
| Project | Project name search | Show only timesheets for a specific project |
Bulk Actions
Bulk Approve
Select multiple timesheets using the checkboxes on each row, then click Approve Selected to approve all at once. This is the standard workflow after a foreman or superintendent has reviewed their crew's time.
Create Timesheet
Click the Create Timesheet button at the top right to manually create a timesheet entry for a worker. This opens a form where you select the worker, date, job, and enter hours.
How Timesheets Connect to Workforce Data
When a timesheet is submitted, the system automatically resolves rates and allowances based on the worker's configuration:
| Data Point | Source | Example |
|---|---|---|
| Base wage rate | Worker's trade level + employment agreement | $45.00/hr (Journeyman under Local 95 CBA) |
| Burdened rate | Agreement contract wage table | $64.20/hr (includes vacation, benefits, pension) |
| OT rules | Employment agreement | 1.5× after 8 hours daily |
| Travel allowance | Worker's union hall + job site + travel rate card | $55.00 (Zone 3 — 85 km from hall) |
| Board allowance | Travel rate card zone | $140.00 (if in board zone) |
| Cost allocation | Selected cost code | Labour posts to the job's financial summary |
Export
Click the export button to download timesheet data for the current view:
| Format | Use Case |
|---|---|
| CSV | Import into payroll software or spreadsheets |
| Sage 50 format | Direct import into Sage 50 payroll |
| Printable timesheet summary for records |
The export includes all visible columns plus calculated fields (wage rates, travel, OT).
What's Next?
- Bulk Timesheet Entry — Enter time for multiple workers at once from a foreman's perspective
- Employment Agreements — Configure the wage tables that drive timesheet calculations
- Travel Rate Cards — Set up zone-based travel allowance configuration
- Trade Classifications — Manage worker levels that determine pay rates