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_jsonfield
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
- Select job/labour line
- Click "Clock On"
- System records clock on time
- Labour line status changes to "in_progress"
- Time record created in
dms_time_recordstable
Step 3: Work on Job
- Technician performs work
- Can view job details from clocking screen
- Update job status if needed
Step 4: Clock Off
- When work completed, click "Clock Off"
- System records clock off time
- Calculate hours:
(clock_off_time - clock_on_time) / 3600 - Update labour line:
actual_hours,technician_id,status = 'complete' - 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_recordstable
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