IP Address & Time-Based Login Restrictions for Odoo 19 – Office-Only Sign-In and Working Hours
Let people sign in only from your office or VPN addresses and only at working hours, per user or user group. Covers the login page, the API and open sessions, with a lock-out guard and an off switch.
Staff reuse passwords, share them, and type them on any computer. IP Address & Time-Based Login Restrictions adds two limits most companies already want: sign in only from your office or VPN addresses, and only during working hours, with different rules for different teams.
Rules per user or user group
Apply a rule to user groups, to named users, or to everybody
Exceptions for chosen users or groups; administrators are exempt by default so they can always fix a wrong rule
A person must satisfy every rule that applies to them
Addresses and hours
IP addresses: single, CIDR networks, ranges, wildcards and IPv6, with comments
Time windows: days, hours, night shifts that run past midnight, and a time zone for each window
Your own message on the login page, with the person's address in it
Enforced everywhere
The login page and the web client session
JSON-RPC and XML-RPC, including calls that send the user id and password (or an API key) every time
Open sessions: when the window closes, the next click signs the person out
Every refusal is logged, kept 90 days, and counted on the rule
Built not to lock you out
A lock-out guard refuses to save a rule that would block you right now
Test a Login shows what a given user, address and time would get, without signing anybody in
“Your address now” shows what Odoo sees for you, which is the first thing to check behind a proxy
An environment switch turns every rule off if the worst happens
Honest about the limits
It is one more layer, not a replacement for a firewall, a VPN or two-factor authentication. Behind a reverse proxy, enable Odoo's proxy mode so that real client addresses are seen. The documentation explains it step by step.
Documented and tested
Illustrated documentation in English and Arabic, an Arabic translation of the module and 34 automated tests, including the real login page.
What's included
taqnix_login_restrictions.zip: the Odoo 19 module (with Arabic translation)
Illustrated documentation in English and Arabic (HTML and PDF)
Automated tests, licence file (OPL-1) and changelog
Requirements
Odoo 19.0. If Odoo runs behind a reverse proxy, enable proxy mode so that real client addresses are seen.
What's in the download
The files in the archive you can download after you buy.
Rules per user or user group, with exceptions and administrators exempt by default
Allowed IP addresses (single, CIDR, range, wildcard, IPv6) and time windows (days, hours, night shifts, time zone per window)
Enforced at the login page, JSON-RPC, XML-RPC, calls with uid and password, and open sessions
Log of blocked sign-ins, Test a Login tool, lock-out guard, environment off switch
Custom refusal message, Arabic translation, automated tests including the real login page
Frequently asked questions
Does it block people who know the password?+
Yes. The check happens after the password is verified: a person who breaks a rule gets your message instead of being signed in. A wrong password still says “Wrong login/password”.
Which address formats can I use?+
A single address, a network such as 10.0.0.0/8, a range 192.168.1.10-192.168.1.50, a wildcard 192.168.1.*, and IPv6 addresses or networks. Text after # is a comment.
Does it work behind Nginx or a load balancer?+
Yes, once Odoo runs in proxy mode and the proxy sends X-Forwarded-For. The field “Your address now” on a rule shows what Odoo sees, so you can check before you rely on it.
Can I lock myself out?+
Odoo refuses to save a rule that would block you right now, administrators are exempt unless you say otherwise, and an environment switch turns every rule off.
Are API and XML-RPC logins covered?+
Yes: the login page, session logins, authenticate calls, and calls that send the user id and password or an API key every time. Open sessions can be ended when the window closes.
Can different teams have different hours?+
Yes. Make one rule per team, each with its own groups, addresses and time windows, and a time zone per window. A person must satisfy every rule that applies to them.
Is there a record of blocked sign-ins?+
Yes. Every refusal is logged with the login, the address, the reason and the rule, kept for 90 days. Each rule also counts the last 30 days.
Does it support Arabic?+
Yes. The module ships an Arabic translation, and the documentation is available in Arabic with right-to-left layout.
More from TAQNIX
ModuleNew
Customer Outstanding Balances Widget for Odoo 19 – Overdue Amount Banner on the Sales Order, Both Directions
See what a customer owes you, what is overdue and what you owe them, in a banner at the top of the sales order. Red when the delay is serious. Live from your accounting, Arabic included.
Digital File Sales & Secure Token Downloader for Odoo 19 – Personal Time-Limited Links with Download Counter
Sell PDFs, templates and any file from Odoo. When the sales order is confirmed the customer gets a personal download link by email, valid for N days and N downloads, with a full download log.
Advanced POS Receipt & Invoice Customizer for Odoo 19 – 5 Styles Each, Amount in Words, Barcode
Choose the look of your invoices, quotations and Point of Sale receipts in the company settings: five styles each, accent colour, amount in words (Arabic too), signature boxes, order barcode and small print.
Bulk Excel Attendance Importer for Odoo 19 – Excel and CSV, Checked Before Import, One-Click Undo
Import attendance from Excel or CSV in four steps: upload, map the columns, check every row, import. Night shifts, time zones, Arabic digits, and a one-click undo of the whole import.
Customer Outstanding Balances Widget for Odoo 19 – Overdue Amount Banner on the Sales Order, Both Directions
See what a customer owes you, what is overdue and what you owe them, in a banner at the top of the sales order. Red when the delay is serious. Live from your accounting, Arabic included.
Digital File Sales & Secure Token Downloader for Odoo 19 – Personal Time-Limited Links with Download Counter
Sell PDFs, templates and any file from Odoo. When the sales order is confirmed the customer gets a personal download link by email, valid for N days and N downloads, with a full download log.
Advanced POS Receipt & Invoice Customizer for Odoo 19 – 5 Styles Each, Amount in Words, Barcode
Choose the look of your invoices, quotations and Point of Sale receipts in the company settings: five styles each, accent colour, amount in words (Arabic too), signature boxes, order barcode and small print.
Bulk Excel Attendance Importer for Odoo 19 – Excel and CSV, Checked Before Import, One-Click Undo
Import attendance from Excel or CSV in four steps: upload, map the columns, check every row, import. Night shifts, time zones, Arabic digits, and a one-click undo of the whole import.