Documentation / Technician Management / Technician Clocking System

Technician Clocking System

Technician Clocking System

The Technician Clocking System allows technicians to record time spent on jobs for both job costing and wages/payroll.

Accessing the Clocking System

Technicians access the clocking system via the Technician Portal:

  • Navigate to: /technician/login
  • Login with technician credentials
  • Access clocking screen from dashboard

Clocking Requirements

Before a technician can clock on to a job, these requirements must be met:

1. Job Must Be Loaded

  • Labour line status must be B (Booked) - loaded in workshop loading
  • Job status must be "in_progress" or equivalent booked status

2. Vehicle Must Be Checked In

  • Vehicle must be checked in before clocking
  • Line changes from grey to yellow when checked in
  • Check: dms_jobs.checked_in_date IS NOT NULL

3. Job Status Check

  • Load status must not be Complete, Awaiting parts, or Awaiting authority
  • Job must be in a state that allows work to begin

4. Technician Skill Match

  • Technician must have required skill for the job
  • Skills stored in dms_technicians.skills_json field

5. Future Jobs

  • Parameter to allow/block clocking to future dated jobs
  • Check: dms_jobs.expected_completion_date > NOW() if parameter blocks future

Clocking On to Jobs

Step 1: View Available Jobs

  • View assigned jobs (filtered by technician)
  • Or search by job number
  • See job details and requirements

Step 2: Clock On

  1. Select job/labour line
  2. Click "Clock On"
  3. System records clock on time
  4. Labour line status changes to "in_progress"
  5. Time record created in dms_time_records table

Step 3: Work on Job

  • Technician performs work
  • Can view job details from clocking screen
  • Update job status if needed

Step 4: Clock Off

  1. When work completed, click "Clock Off"
  2. System records clock off time
  3. Calculate hours: (clock_off_time - clock_on_time) / 3600
  4. Update labour line: actual_hours, technician_id, status = 'complete'
  5. Status changes to C (Complete) when clocked off

Time Recording

All clocked times are recorded:

  • Clock on time (date and time)
  • Clock off time (date and time)
  • Total hours worked per clock session
  • Linked to specific job/labour line
  • Stored in dms_time_records table

Automatic Population

When clocking off, the system automatically:

  • Populates time to labour line (actual_hours)
  • Populates technician name to labour line (technician_id)
  • Updates labour line status to C (Complete)

Time Records for Wages

All time records are stored for wages/payroll:

  • Complete time logging per technician
  • Track productive time (on jobs)
  • Track non-productive time (breaks, training, etc.)
  • Calculate daily, weekly, monthly summaries
  • Export time data for payroll processing