| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 2112 |
| Technical Name |
smart_tabs |
| License | OPL-1 |
| Versions | 17.0 18.0 19.0 |
SmartTabs – Open Any Page in Its Own Tab, Instantly
Add a familiar browser-style tab bar to the Odoo backend.
Open any page in its own tab — switch instantly, never lose your context.
|
∞
Open Tabs
|
17
Languages
|
0
Config Required
|
O(1)
Tab Lookup
|
How It Looks
Multiple browser-style tabs open simultaneously in the Odoo 18 backend
Live Demo
Animated demo of SmartTabs – Open Any Page in Its Own Tab, Instantly |
A quick walkthrough of the tab bar in action:
|
Key Features
|
🗂
Browser-Style Tab Bar
A familiar Chrome/Edge-style tab strip at the top of the backend. Every action opens in its own tab. Switch between Sales, Inventory, CRM and more without losing your place.
|
🚫
Smart Anti-Duplicate
Clicking the same menu item again activates the existing tab instead of opening a duplicate. Keeps the tab bar clean and efficient.
|
📄
Record-Level Isolation
Different records open in separate tabs. SO/0001 and SO/0002 each get their own tab — work on multiple records simultaneously.
|
|
|
🎯
Active Tab Indicator
A gradient top-bar and elevated style clearly highlight the current tab. Hover triggers a smooth underline animation for instant visual feedback.
|
↔️
Scrollable Tab Strip
Prev/Next arrow buttons and a dropdown overflow menu appear automatically when tabs exceed the viewport width. Smooth scroll with mouse wheel support.
|
🐛
Debug Context Isolation
Each tab maintains its own developer/debug mode state. Switching tabs never mixes debug contexts — ideal for developers.
|
|
|
✕
Flexible Close Options
Right-click or use the dropdown: close one tab, close all other tabs, or close all tabs at once. Full keyboard-friendly workflow.
|
⚡
High Performance
Map-based caching gives O(1) tab lookup. Per-tab controller stacks replace the single global stack — no performance degradation as tabs grow.
|
↩️
Back to List Button
A styled pill-shaped "← Back to List" button always appears in form views next to the pager. Even after a browser refresh, it stays visible and navigates back to the list view seamlessly.
|
🔤
Breadcrumb Enhancement
Cleaner breadcrumb styling inside each tab. The legacy left-side back button is replaced by the right-side pill button for a more harmonious control panel layout.
|
vs. Default Odoo Navigation
| Feature | Default Odoo | SmartTabs – Open Any Page in Its Own Tab, Instantly |
|---|---|---|
| Multi-page navigation | Back/Forward only | ✔ Persistent tabs |
| Open same menu twice | Resets current view | ✔ Re-activates existing tab |
| Work on multiple records | ✗ One at a time | ✔ Each record = own tab |
| Tab overflow handling | ✗ | ✔ Scroll + dropdown |
| Back to list in form view | Breadcrumb only (lost on refresh) | ✔ Always-visible pill button |
| Debug context per page | Global (shared) | ✔ Isolated per tab |
| Configuration required | — | ✔ None — works on install |
How It Works
|
1
Install the module
The tab bar appears immediately at the top of the backend — no settings, no restarts.
|
2
Navigate normally
Every menu click or action opens a new tab. Tabs auto-scroll when they overflow the screen width.
|
3
Switch freely
Click any tab to switch context instantly. Close when done — or keep them all open as long as you need.
|
Technical Details
|
🦉
OWL 2.x Components
Built entirely with Odoo's official OWL framework. No external JS dependencies.
|
🗺
Per-Tab State Map
Each tab owns its controller stack. Replaces the single global stack with an isolated per-tab Map structure.
|
🎨
CSS Variables
Tab colors follow Odoo's CSS custom properties — seamlessly adapts to any theme including dark mode.
|
🔧
Upgrade-Friendly
All Odoo-specific modifications are clearly marked with
[MULTI-TAB] comments for easy diffing on upgrades. |
Translations Included
🇺🇸 English | 🇨🇳 Chinese (Simplified) | 🇹🇼 Chinese (Traditional) | 🇩🇪 German | 🇫🇷 French | 🇪🇸 Spanish | 🇯🇵 Japanese | 🇰🇷 Korean | 🇻🇳 Vietnamese | 🇳🇱 Dutch | 🇮🇹 Italian | 🇵🇱 Polish | 🇧🇷 Portuguese (Brazil) | 🇷🇺 Russian | 🇸🇦 Arabic | 🇹🇭 Thai | 🇹🇷 Turkish | 🇮🇩 Indonesian
FAQ
action_service.js are clearly marked with [MULTI-TAB] comments. On upgrade, diff the file against the new Odoo original and reapply only those sections.Ready to work like a browser power user?
One module. Zero config. Browser tabs in Odoo — instantly.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module