Skip to Content

Working Time Monitor

65.10 65.10

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions
Compatible with Odoo 18.0 · 19.0
OPL-1 license · Odoo 18.0 & 19.0
Working Time Monitor for Odoo — preview banner

Working Time Monitor

Monitor average 48-hour weeks, opt-outs and rest-break compliance (UK WTR 1998)

Breaches of the UK Working Time Regulations 1998 usually go unseen until they become a tribunal or HSE problem. This module logs weekly working hours per employee, computes each person's average over a configurable rolling reference period (17 weeks by default) and flags anyone over the 48-hour average who lacks a valid signed opt-out. It also checks the 11-hour daily rest, 24-hour weekly rest and 20-minute break rules per week, raises de-duplicated breach records with an acknowledge and resolve workflow, and runs a scheduled weekly scan so compliance stays current without anyone remembering to. It suits HR and compliance teams in shift-heavy sectors like logistics, healthcare and manufacturing.

Key Features

Rolling 48-hour average per employee

The hr.employee _compute_wtd_average method averages worked_hours from the gb.wtd.week.log records inside the configurable reference window (17 weeks by default) and exposes wtd_average_hours, wtd_weeks_counted and a wtd_status of ok, warning, breach or waived directly on the employee record.

Weekly working-hours logs

gb.wtd.week.log captures worked_hours, night_hours, break minutes, longest shift and observed daily and weekly rest per employee per week, with a uniqueness constraint on employee and week_start. normalise_week_start snaps any date to that week's Monday.

Rest and break compliance checks

Each week log's _compute_compliance tests the daily rest against min_daily_rest_hours (11), weekly rest against min_weekly_rest_hours (24) and the 20-minute break when the longest shift exceeds break_threshold_hours (6), setting per-rule flags and an overall fully_compliant flag.

48-hour opt-out agreements

gb.wtd.optout records signed opt-outs with date_signed, effective_from, an attached signed document and a notice-period withdrawal. _compute_state derives active, withdrawing or expired, and is_valid_on(date) decides whether a given date is covered so over-48 hours can be lawfully waived.

Automated compliance scan and breaches

run_wtd_scan evaluates the 48-hour average, night-work average and per-week rest and break rules, calling _raise_breach to create gb.wtd.breach records with type, severity and measured-vs-threshold values. It dedupes open breaches for the same type and period so the same issue is not raised twice.

Breach workflow

Each gb.wtd.breach carries a breach_type (avg_48, avg_warning, daily_rest, weekly_rest, break, night), severity and an open / acknowledged / resolved / waived state with action_acknowledge, action_resolve and action_reopen. Over-48 breaches covered by a valid opt-out are auto-created as waived.

Scheduled weekly scan and per-company policy

The cron_wtd_scan scheduled action runs weekly, recomputing averages and running the scan across all employees so alerts stay current without manual runs. gb.wtd.config holds the per-company WTR policy: reference weeks, max average and warning hours, rest hours, break thresholds and the night-work limit.

Use Cases

HR manager monitoring which employees are trending over the 48-hour average before it becomes a breach.
Compliance officer in logistics or healthcare evidencing Working Time Regulations adherence to an auditor.
Operations lead recording signed 48-hour opt-outs and tracking their withdrawal notice periods.
Shift supervisor checking daily and weekly rest and break compliance for night workers.
HR team relying on the weekly scan to surface rest-break and average-hours breaches automatically.
People director configuring the company WTR policy thresholds to match its workforce agreements.

Screenshots

Working Time Monitor — Compliance Breaches in Odoo

Compliance Breaches

Working Time Monitor — Wtd Configuration in Odoo

Wtd Configuration

Working Time Monitor — Optout Agreements in Odoo

Optout Agreements

Working Time Monitor — Weekly Hours Logs in Odoo

Weekly Hours Logs

Why Choose This Module

Breaches of the UK Working Time Regulations 1998 usually go unseen until they become a problem. This module computes each employee's average weekly working hours over a rolling reference period, flags anyone over the 48-hour average without a valid opt-out, and tracks daily and weekly rest and break compliance — turning a legal-risk blind spot into a managed dashboard.

Specifications

  • Compatible: Odoo 18.0 / 19.0
  • License: OPL-1
  • Languages: English
  • Author: Pokutsoft
  • Dependencies: hr
  • Support: support@pokutsoft.com

Update date: 2026-07-02