Maintenance & Calibration
Preventive maintenance plans plus tool / gauge calibration with due alerts
Odoo's Maintenance app keeps equipment running but has no concept of calibration, so manufacturers and labs pursuing ISO 9001 or ISO 17025 end up tracking gauge and instrument calibration in spreadsheets with no tolerance checks or quarantine. This module adds calibration plans on maintenance equipment with interval-based auto next-due dates and a clear ok/soon/overdue/never status, and calibration events that capture the traceable reference standard, as-found and as-left readings, computed deviation and an automatic pass/adjusted/out-of-tolerance result. Out-of-tolerance readings quarantine the equipment and capture an impact note, every event draws a sequential certificate number, and a due cron schedules technician activities ahead of time. It also layers preventive-maintenance plans that generate native maintenance.request records on a cadence, giving one app for both upkeep and calibration traceability.
Key Features
Calibration plans with auto next-due
A gb.calibration.plan links a maintenance.equipment to an interval (days/weeks/months/years), nominal value, tolerance band and unit. _compute_next_due rolls the next due date from the last calibration, and a stored status (ok/soon/overdue/never) makes due visibility immediate across the gauge fleet.
As-found / as-left calibration events
Each gb.calibration.event records the traceable reference standard, calibration date and as_found and as_left readings. _compute_deviation derives the deviation from nominal for both, giving the before-and-after evidence ISO 17025 calibration certificates require.
Automatic pass / adjusted / out-of-tolerance result
_compute_result compares each deviation against the tolerance band: within tolerance both before and after is a pass, only after adjustment is 'adjusted', and otherwise out_of_tolerance. The verdict is computed from the readings rather than left to operator judgement.
Out-of-tolerance quarantine
When a confirmed event is out of tolerance, register_calibration sets calibration_quarantined on the equipment and posts a chatter note, with an impact_note field for disposition. A failing gauge is flagged and removed from use for traceability rather than silently continuing.
Certificate numbering and confirm gate
Events draw a sequential certificate number from ir.sequence, and action_confirm refuses to confirm without a traceable reference standard, then stamps the plan's last calibration date and posts the result. Every calibration leaves a numbered, defensible record.
Preventive maintenance plans
A gb.maintenance.plan generates native maintenance.request records of type preventive at a configured cadence, linked back via gb_plan_id, with team, technician and expected duration. You schedule recurring upkeep on top of calibration in the same app.
Due and generation crons
_cron_calibration_due schedules a to-do activity for the responsible technician once a plan enters its warn-lead window, and _cron_generate_due creates the next maintenance request when a PM plan falls due. Calibration and PM both run hands-off.
Equipment calibration rollup and register
maintenance.equipment gains a worst-case calibration_status, earliest next_calibration_date and plan count across its active plans, plus an event register of all calibration_date-ordered events. Quality and inspectors see equipment standing and full history at a glance.
Use Cases
Screenshots
Calibration Events
Calibration Plans
Record Calibration
Maintenance Plans
Why Choose This Module
Odoo Maintenance handles equipment upkeep but has no concept of calibration. This module adds the calibration angle it lacks: scheduled preventive maintenance and periodic calibration of tools, gauges and instruments, with clear due / overdue visibility and full traceability for ISO audits.
Specifications
- Compatible: Odoo 18.0 / 19.0
- License: OPL-1
- Languages: English
- Author: Pokutsoft
- Dependencies: maintenance, mail
- Support: support@pokutsoft.com
Update date: 2026-07-02