Odoo 19Tools$97.49

Session Control

Log users out after an idle time you set per group, and see and end the sessions that are open right now

The video below shows Session Control running on a real Odoo 19 database. Want it driven against your own data, or a question answered first? Ask and we will set up a session.

Odoo has one inactivity limit for the whole database - the sessions.max_inactivity_seconds system parameter, a week unless somebody sets it. The admin, the accountant and the warehouse terminal all get the same number, which is the wrong answer to give an auditor asking why the terminal is still logged in at midnight.

Minutes per group. A shared terminal gets ten; somebody at their own desk with a screen lock gets an hour.

What is actually open, read from where Odoo keeps it. Your own session is marked and has no End button.

What it does

Idle, not lifetime

The clock runs from the last request, not from login, and any request counts - so a dashboard left open on a screen that polls does not pass for somebody sitting at it.

The shortest rule wins

A user in several groups gets the tightest of their timeouts. Belonging to a lenient group does not buy a way out of a short one, which is the reading anybody auditing this will expect.

The open list is the truth

There is no table of logged-in users in Odoo - it writes one file per session - so this reads them where they are. It is what is open now, not a log of logins that may or may not still be live. Sessions belonging to other databases on the same server are left out of it.

A floor of five minutes

Below that, people are logged out in the middle of filling in a form and lose what they typed - and the software gets blamed rather than whoever chose the number. Shorter values are refused.

What it does not do

The last-seen stamp is written at most once a minute per session, not on every request - a write per request across a whole database to store a timestamp would cost more than the feature is worth. So a timeout can overrun by up to a minute. The check also runs inside a guard that swallows its own errors, because code on every request that can raise is code that can take a database offline.

Screenshots

Session Control in Odoo — screenshot rules
Session Control in Odoo — screenshot sessions

Requirements

  • Odoo 19.0, Community or Enterprise.
  • Odoo.sh or On-Premise only. Third-party apps cannot be installed on Odoo Online (SaaS) databases — check your hosting before buying.
  • Odoo 19 Community or Enterprise, no other module needed. The superuser is never logged out, so crons and upgrades keep working. It does not restrict where people log in from and it is not a login history.
  • Module mh_session_control, version 19.0.1.0.15, licensed OPL-1.

Related apps

← All Odoo apps