Skip to Content

MRP Time Tracking Advanced

The Problem with Standard Odoo Time Tracking
Standard mrp_workorder records time for one person at a time — whoever presses Play. In real manufacturing, this means:
A whole team works together, but only one employee's time is recorded.
The supervisor presses Play: the time goes on the supervisor, not the workers.
Creating a backorder loses the team — it must be re-entered on every new work order manually.
There is no way to enforce at the BOM level that a team must be present before a work order can start.

Validating without pressing Play leaves no time record at all.

0.00 € 0.00 €

  • versione
 Per maggiori info sui nostri moduli non esitare a contattarci
versione: 18

MRP Time Tracking Advanced

The Problem with Standard Odoo Time Tracking

Standard mrp_workorder records time for one person at a time — whoever presses Play. In real manufacturing, this means:

  • A whole team works together, but only one employee's time is recorded.
  • The supervisor presses Play: the time goes on the supervisor, not the workers.
  • Creating a backorder loses the team — it must be re-entered on every new work order manually.
  • There is no way to enforce at the BOM level that a team must be present before a work order can start.
  • Validating without pressing Play leaves no time record at all.

MRP Time Tracking Advanced solves all of the above, making team-based time tracking accurate, automatic, and enforceable.

▶ Play button — track the whole team at once

When a work order has employees in the Team field, pressing Play opens a time-tracking entry for every team member simultaneously — not just the user who clicked the button.

  • The triggering user is never added automatically — only the explicitly listed employees are tracked.
  • Workcenter access restrictions are respected; employees not allowed on the workcenter are skipped.
  • Idempotent: no duplicate entries if a timer is already running for an employee.
  • If the Team field is empty, standard Odoo behaviour applies (session owner is tracked).
  • Shop floor: Play and Pause on the shop floor preserve the original per-employee scan-in/scan-out behaviour.

▮▮ Pause button — stop everyone at once

Pressing Pause from the MO form closes all open time entries at once, regardless of who pressed the button. No more open timers left running when the shift ends.

👥 Team column with role-based editing

The Team field is displayed as a dedicated column on the Work Orders tab of the MO form.

User group Visibility Editing
Any user Visible (read-only) No
Manufacturing / Administrator Visible Yes

Selection is restricted to employees allowed on the workcenter (or all employees when no restriction is configured).

⚙ Real-time team changes while running

While a work order is in progress, changes to the Team field take effect immediately:

  • Adding an employee: a new time entry is opened for them right away.
  • Removing an employee: their open time entry is closed at the current time.

🔒 Team Required — enforce from the BOM

Each BOM operation can be flagged as Team Required. When the flag is active:

  • The work order cannot be started (Play button blocked) without at least one employee in the Team field.
  • The work order cannot be finished without a team, blocking MO validation as well.
  • The flag is visible and editable directly on the Operations tab of the BOM form and on the individual operation form.

This enforces the rule at the process definition level — operators cannot accidentally run a work order without recording who performed it.

🔄 Backorder — automatic team copy and auto-start

When a backorder is created, the Team is automatically copied from each original work order to the corresponding backorder work order, and time tracking is started immediately for all copied employees.

  • Works even if Play was never pressed on the original work order.
  • Time entries are backdated to the exact moment the original work order's last entry ended — no gaps in the timeline.
  • Auto-start only occurs when the original work order was actively in progress; paused or never-started work orders do not trigger an auto-start on the backorder.
  • Triggered by every code path that creates a backorder (web UI, shop floor, direct ORM call).

📋 Auto time entry when Play was never pressed

If a work order had a team assigned but Play was never pressed, validating the production still creates a closed time entry per employee with duration equal to the work order's expected duration. Production records are always complete.

⌛ Per-employee duration display

The Real Duration field shows duration per employee, not total cumulative labour time. If three employees each worked 60 minutes, the field shows 60 — not 180. The field can be edited manually and the module distributes the delta across all team members automatically.