Bulk Timesheet Entry
Bulk Timesheet Entry lets foremen and administrators enter time for multiple workers on a single screen — a critical workflow for ICI contractors where foremen report crew time at the end of each day. Instead of each worker submitting individually, the foreman enters hours for the entire crew in one pass.
Navigation
Sidebar → Workforce Admin → Bulk Timesheet Entry
URL: /timesheets/bulk-entry
Overview

The bulk entry screen presents a spreadsheet-style grid where each row is a worker and columns capture the timesheet details for a single day.
Workflow: Foreman Crew Time Entry
The most common use case for bulk entry:
- Foreman arrives back from the job site (or enters time on site via tablet).
- Opens Bulk Timesheet Entry and selects the date and job.
- Adds each crew member as a row.
- Enters regular hours, overtime hours, and cost code for each worker.
- The system auto-calculates travel allowance, board, and parking based on each worker's union hall and the job site location.
- Foreman clicks Save to submit all entries at once.
- Office staff reviews and approves via the Timesheet Matrix.
Entry Grid Columns
| Column | Description |
|---|---|
| Worker | Select from the user list — filtered by department or crew |
| Job | The job being worked (pre-selected or per-row) |
| Date | The workday |
| Start Time | Shift start (optional — for clock-in tracking) |
| End Time | Shift end (optional) |
| Regular Hours | Standard time hours |
| Overtime Hours | OT hours |
| Double-Time | DT hours (Sundays, holidays) |
| Cost Code | Allocate hours to a specific cost code on the job |
| Notes | Optional notes about the work performed |
Automatic Calculations
When a row is completed, the system automatically calculates:
| Calculation | How It Works |
|---|---|
| Wage cost | Worker's trade level × employment agreement rate × hours |
| OT premium | Applied per agreement rules (1.5× or 2×) |
| Travel zone | Distance from worker's union hall to job site |
| Travel allowance | Zone-based daily amount from travel rate card |
| Board | Applied if worker is in a board-eligible zone |
| Parking | Applied if worker is in a parking-eligible zone |
| Total cost | Sum of wages + OT + travel + board + parking |
Each worker's calculations use their individual employment agreement and union hall — so a crew with workers from different halls and different agreements will each get the correct rates automatically.
Adding Workers Efficiently
By Crew / User Group
Select a User Group to populate the grid with all crew members at once. For example, selecting "Crew A — Pipe Insulation" adds the foreman, 3 journeymen, and 2 apprentices as separate rows — ready for hour entry.
Multiple Jobs in One Session
Workers who split their day between two jobs can be entered as two rows — same worker, different jobs, different hours. The system handles the cost allocation correctly.
Cost Code Allocation
Each row can be assigned a cost code from the job's Schedule of Values. This drives job costing:
| Cost Code | Description | Hours | Rate | Cost |
|---|---|---|---|---|
| 01-100 | Pipe Insulation — Hot | 6.0 | $64.20 | $385.20 |
| 01-200 | Pipe Insulation — Cold | 2.0 | $64.20 | $128.40 |
When timesheets with cost codes are approved, the labour costs post to the job's financial summary under the correct cost code — enabling real-time earned-vs-burned tracking.
Save vs. Submit
| Action | Effect |
|---|---|
| Save as Draft | Entries are saved but not submitted — the foreman can return and edit |
| Submit | Entries are submitted for approval — appear in the Timesheet Matrix |
Related Pages
- Timesheet Matrix — Review and approve submitted timesheets
- User Groups & Crews — Pre-built crew lists for fast bulk entry
- Employment Agreements — Wage rates used in calculations
- Travel Rate Cards — Travel zone allowances