Skip to main content

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.

Sidebar → Workforce Admin → Bulk Timesheet Entry

URL: /timesheets/bulk-entry

Overview

Bulk Timesheet Entry — job selector, date range, and crew entry grid

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:

  1. Foreman arrives back from the job site (or enters time on site via tablet).
  2. Opens Bulk Timesheet Entry and selects the date and job.
  3. Adds each crew member as a row.
  4. Enters regular hours, overtime hours, and cost code for each worker.
  5. The system auto-calculates travel allowance, board, and parking based on each worker's union hall and the job site location.
  6. Foreman clicks Save to submit all entries at once.
  7. Office staff reviews and approves via the Timesheet Matrix.

Entry Grid Columns

ColumnDescription
WorkerSelect from the user list — filtered by department or crew
JobThe job being worked (pre-selected or per-row)
DateThe workday
Start TimeShift start (optional — for clock-in tracking)
End TimeShift end (optional)
Regular HoursStandard time hours
Overtime HoursOT hours
Double-TimeDT hours (Sundays, holidays)
Cost CodeAllocate hours to a specific cost code on the job
NotesOptional notes about the work performed

Automatic Calculations

When a row is completed, the system automatically calculates:

CalculationHow It Works
Wage costWorker's trade level × employment agreement rate × hours
OT premiumApplied per agreement rules (1.5× or 2×)
Travel zoneDistance from worker's union hall to job site
Travel allowanceZone-based daily amount from travel rate card
BoardApplied if worker is in a board-eligible zone
ParkingApplied if worker is in a parking-eligible zone
Total costSum of wages + OT + travel + board + parking
tip

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 CodeDescriptionHoursRateCost
01-100Pipe Insulation — Hot6.0$64.20$385.20
01-200Pipe Insulation — Cold2.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

ActionEffect
Save as DraftEntries are saved but not submitted — the foreman can return and edit
SubmitEntries are submitted for approval — appear in the Timesheet Matrix