Login Location Restriction for Odoo | IP Whitelist and OTP Login
by DevIntelle Consulting Service Pvt.Ltd https://www.devintellecs.com$ 29.12
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 5099 |
| Technical Name |
dev_login_location_restriction |
| License | LGPL-3 |
| Website | https://www.devintellecs.com |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 5099 |
| Technical Name |
dev_login_location_restriction |
| License | LGPL-3 |
| Website | https://www.devintellecs.com |
| Versions | 17.0 18.0 19.0 |
Login Location Restriction in Odoo
Login Location Restriction Odoo App lets you decide where,
when, and how people sign in to your Odoo. Build simple allow or
deny rules by country, city, single IP address, or whole network
range, and aim each rule at everyone, selected users, or user
groups. Add time windows so accounts only work during business
hours and days.
When someone signs in from a place the system has not seen
before, a six-digit code sent by email confirms it is really
them, and verified locations are remembered. Repeated failed
passwords block the address or the account until a cooldown
passes, which stops automated guessing cold. Traveling staff get
dated temporary passes instead of weakened rules.
Every attempt is logged with its location, device, and outcome,
and a live dashboard shows successes, blocks, and trends. Made
for administrators and any business that takes access to its
Odoo data seriously.
MODULE FEATURES
Location-Based Login Rules
Allow or deny logins by country, city, single IP address, or IP range. Apply each rule to everyone, chosen users, or user groups.
Login Hours and Weekdays
Add time windows to any rule so people sign in only on permitted days and hours, respecting each user's timezone.
Email Code on New Locations
A six-digit code goes to the user's email when they sign in from a new IP, city, or country. Verified places are remembered.
Brute Force Protection
Repeated failed logins block the IP address or the account for a cooldown you define. Unblock manually at any time.
Temporary Access Passes
Give a traveling employee a dated pass that bypasses location checks, with a recorded reason, usage count, and automatic expiry.
Complete Login History
Every attempt is logged with its IP, location, device, browser, and outcome, then cleaned up automatically after your retention period.
Security Dashboard
Counters, trend lines, and a status breakdown show successes, blocks, and failures over 7, 30, or 90 days, with recent blocks at hand.
Country and IP Statistics
Ready-made lists rank login activity and block rates by country and by IP address, so risky sources stand out quickly.
Per-User Security Profiles
Each user gets their own switches: restriction on or off, full bypass, allowed countries and IP addresses, and personal code verification.
Email Security Alerts
Users and an administrator address can receive an email whenever a login is blocked or an account hits the failure limit.
Choice of Location Services
Detect login locations through a free online service, a local database, or a keyed provider, whichever fits your setup.
Configuring Location-Based Restriction Rules
Decide exactly where your Odoo can be opened from, and who each rule applies to.
Anatomy of a Rule
A guided look at the rule form: name the rule, set its order and its allow or deny type, pick the location criteria, choose who it covers, and optionally add a time window.
Rule by Country
Pick Country as the criteria and tag the countries this rule allows or denies; here the rule covers all users at once.
Rule by City
Type a city name, such as New York City, to allow or deny logins from that one city.
Rule by IP Address
Pin a rule to one exact address, handy for a fixed office line or a single server.
Rule by IP Range
Cover a whole network in one rule by entering the start and end of the address range.
Rule for Specific Users
Switch Apply To from everyone to selected people, like Marc and Mitchell here, or to entire user groups.
Add a Time Window
Tick Time-Based Restriction and the rule also checks the clock: set the from and to times and the allowed days, such as Friday only.
New Location OTP Verification Flow
When someone signs in from a place the system has not seen before, a one-time email code confirms it is really them.
Step One, Normal Login
The user signs in with email and password as usual; nothing changes when the location is already known.
Wrong Code Handling
A wrong entry shows how many attempts remain and when the code can be resent, along with where the attempt came from, here Chennai, India.
Enter the Emailed Code
The verification page accepts the six-digit code, names the detected sign-in location, and counts down the seconds before the code expires.
Straight Back to Work
Once the code checks out, the user lands in Odoo as normal; that location is remembered so the next login skips the question.
Every Code on Record
Administrators see all verification codes with their user, address, place, state such as verified, expired, or failed, attempt count, and expiry time.
Brute Force & Rate Limiting Setup
Password-guessing scripts run out of chances fast: too many failures and the address or account is put on hold.
Attacker Hits the Wall
Once the failure limit is reached, the login page answers every further try with a clear too-many-attempts message.
Manage Active Blocks
Current blocks list the blocked IP or account, the failed attempt count, when the block started, and the time left until automatic release; an Unblock button restores access right away.
Temporary Access Grants & Overrides
A colleague travels next week? Hand them a dated pass instead of loosening your security rules.
A Pass with Clear Limits
Each numbered pass names the user, its start and end time, an optional location limit, and the reason it was given. Activate it when ready, revoke it at any moment, and watch its usage count.
Audit Logging & Retention
Every sign-in attempt leaves a trace you can search and filter, kept exactly as long as your policy requires.
All Attempts in One List
Each line records the date, the login used, the IP address, country and city, the outcome such as success, blocked by rate limit, or pending verification, plus the browser and device type.
Security Analytics & KPI Dashboard
One screen tells you how login security is doing: who got in, who was stopped, and where attempts come from.
Real-Time Security Overview
Eight counters cover total attempts, successes, blocks, failed passwords, blocked IPs and accounts, verification requests, and active passes. A trend line and a status breakdown sit above tables of logins by country and recent blocks, with 7, 30, and 90 day views.
Statistics by Country
Each country's attempts are split into successful, blocked, and failed, with a block rate bar that makes risky origins easy to spot.
Statistics by IP Address
The same breakdown per IP address, including its country and city and whether that address is blocked right now.
Slice Login Data Your Way
Login history opens in regular Odoo charts as well. Stack outcomes by date, switch measures, and apply filters such as This Week.
Configuration Settings
All the dials live on one settings page, so tightening or relaxing your login policy takes a minute.
Global Security Settings
Switch each layer on or off and tune it: the default action when no rule matches, administrator bypass, the location lookup service, code expiry and attempts, failure limits and cooldowns, alert emails, and retention periods.
Settings on the User Card
Each user's form adds a Login Security tab with their own restriction switch, full bypass, last login details, failure counter, personal code verification, and allowed countries and IP addresses.
Version 1.0 | Released on : 05th June 2026
-
Is this app compatible with Odoo Enterprise?
- Yes, our app works with Odoo Enterprise as well as Community.
-
If need of customization in this app, How can i contact
?
- Please contact us on odoo@devintellecs.com
-
Do i get free support?
- Yes, you will get free support for 90days.
-
Do i get free updates?
- Yes, you will get free updates for lifetime.
-
Do i have to buy this module for each version ?
- Yes, you have to buy this module for each version.
Support
Why Us?
Devintelle Odoo Services
Please log in to comment on this module