BambooForge Backend Theme
Let every user make Odoo their own on Odoo 19 Community — a one-click dark mode, a personal accent color, drag-to-reorder apps and pinned favorites, on top of a modern, fully responsive backend with a fuzzy-search apps menu. Enterprise-grade personalization, without Enterprise.
A live walkthrough inside Odoo 19 Community
One screen recording from a real Odoo 19 Community install: toggle dark mode, drag an app to reorder the grid, pin a favorite to the top, and search — all in a single pass.
Personalization Community never had
In stock Odoo Community everyone is stuck with the same fixed light theme, the same color, and the same app order. BambooForge Backend Theme hands personalization back to each user — dark mode, a personal accent color, a drag-to-reorder app grid and pinned favorites — saved per account, with zero admin work. On top of that sits a modern, fully responsive backend with a fuzzy-search apps menu.
Four ways to make Odoo yours
The headline features — each saved on the user's own account, no recompiling, no admin involved.
Dark mode, per user
A true backend dark theme with a one-click toggle in the systray. Choose Light, Dark or Auto — Auto follows your operating system and flips with it. Every user's choice is remembered.
Personal accent color
Pick from 6 ready-made palettes or any custom color. Buttons, links, active menus and toggles recolor live across the whole backend — no SCSS, no restart, no admin.
Drag-to-reorder apps
Rearrange the home apps grid by drag & drop, exactly like Odoo Enterprise. Your order is saved to your account and restored on every login.
Pin favorite apps
Star the apps you open all day and they float to the top of the grid. One click to pin, one to unpin — personal to each user.
And a refined, responsive backend
The personalization sits on top of focused refinements to the things you touch every day.
Grid apps menu + fuzzy search
A full-screen card grid with fuzzy search powered by bundled Fuse.js — keyboard nav (arrows / Home / End), highlighted matches and an h hotkey.
Sticky control panel & list headers
The control-panel header and footer plus list column titles stay pinned on scroll (debounced), so actions and column names never scroll away.
Mobile-first responsive layout
Bootstrap sm/md/lg breakpoints — composer, forms and menus adapt to phone and tablet, with an iOS viewport-height fix.
Command palette, tuned for touch
A full-height mobile layout with a sticky search and footer, plus an exit button on small screens — the palette finally works on a phone.
Roomier forms & lists
Wider form rendering, icon-only buttons on mobile, bigger checkboxes, wrapped many2one items, and friendly save / discard / create hotkeys (s/d/c).
File viewer & chatter polish
Maximize / minimize synced to chatter width, a responsive composer grid and an attachment scroll fix — the chatter behaves on every screen size.
From a live install
Captured from a running Odoo 19 Community — not mockups.
Built for daily use
Everything below ships in the box. The last rows are what this theme deliberately does not do.
| Capability | Status |
|---|---|
| Per-user dark mode (Light / Dark / Auto) | ✔ Included |
| Personal accent color — 6 presets + custom | ✔ Included |
| Drag-to-reorder home apps | ✔ Included |
| Pin / favorite apps to the top | ✔ Included |
| Grid apps menu with Fuse.js fuzzy search | ✔ Included |
| Keyboard navigation & hotkeys | ✔ Included |
| Sticky control panel & list headers | ✔ Included |
| Responsive forms, lists & command palette | ✔ Included |
| File-viewer & responsive chatter polish | ✔ Included |
| Per-user — every setting saved on the account | ✔ Included |
| Clean, reversible uninstall · full OPL-1 source | ✔ Included |
| Enterprise Edition | Community-only — excludes web_enterprise |
Up and running in minutes
Install, log in, and the new grid menu, search and responsive layout appear instantly.
Install
Open Apps and install the theme — no extra Python dependencies.
Log in
The new grid menu and app search appear instantly on first load.
Work
Enjoy sticky headers, responsive forms and fuzzy search as you go.
Make it yours
Toggle dark mode from the systray, pick your accent color in Preferences, then drag & pin your apps.
What's in the box
In the box
- Per-user dark mode (Light / Dark / Auto).
- Personal accent color — 6 presets + custom.
- Drag-to-reorder & pin home apps.
- Grid apps menu with bundled
Fuse.jssearch. - Fully responsive — phone, tablet, desktop.
- Clean reversible uninstall · full OPL-1 source.
Good to know
- Community Edition only — excludes
web_enterprise, not for Enterprise. - Every appearance setting is per user, saved on the account — set it once, it follows you.
- No admin step: users self-serve from the systray and Preferences.
- Install via Apps → search “BambooForge Backend Theme”.
Frequently asked
Is dark mode per user or global?
Per user. Each person toggles Light, Dark or Auto from the systray and the choice is saved on their own account — one user going dark doesn't change anyone else.
Can each user pick their own accent color?
Yes. From their Preferences they choose one of six palettes or any custom color, and the backend recolors live — no recompiling and no administrator involvement.
Does the app order / pinning carry across devices?
Yes. The app order and pinned favorites are stored on the user record, so they follow the user on any browser or device after login.
Does it work on Enterprise?
No — this theme is for Odoo Community only. It excludes web_enterprise and is not designed to run on Enterprise Edition.
Will it slow Odoo down?
No. The dark theme and accent are pure CSS toggled by a tiny service; Fuse.js is ~24 KB loaded once; scroll handlers are debounced.
What happens when I uninstall?
All patches revert cleanly and Odoo returns to the stock look — every change is a reversible patch, with no database residue.
Give Odoo Community a modern, mobile-first backend
BambooForge Labs · Odoo 19.0 Community · OPL-1 · source included
Buy & deploy today →More from BambooForge Labs — one vendor, the same standard: tested, documented, supported.
BambooForge Backend Theme: Modern & Responsive Odoo CE UI
A modern, fully responsive backend theme for Odoo 19 Community that lets every user make Odoo their own — a one-click dark mode, a personal accent color, a full-screen app grid with fuzzy search, plus drag-to-reorder and pinned favorite apps. It is a polished fork of OCA web_responsive with a per-user appearance engine on top.
This page is the complete manual. If you follow it top to bottom you can install the theme, enable it, set every option, and fix the common issues without contacting support.
Overview
The theme restyles the Odoo 19 backend (the internal web client) and adds the personalization features usually reserved for Enterprise:
- Dark mode (per user) — a true backend dark theme. Each user chooses Light, Dark, or Auto (follow system), and the choice is saved on their own account.
- Personal accent color — pick one of six ready-made palettes or any custom hex. Buttons, links, active menus, tabs, toggles and the selected status-bar stage all recolor live, with no recompiling and no administrator involved.
- Full-screen app grid with fuzzy search — a card grid of apps with a Fuse.js fuzzy search across apps and deep menus, full keyboard navigation and hotkeys.
- Drag-to-reorder apps — rearrange the home apps grid by drag & drop; the order is remembered per user.
- Pinned favorite apps — star the apps you use most and they float to the top of the grid.
- Fully responsive layout — a mobile-first layout for phone, tablet and desktop, a touch-tuned command palette and chatter, sticky control panel and list headers, roomier forms and a polished file viewer.
Every appearance choice is stored on the user's own record (res.users) and is exposed to the web client at login, so the theme is applied before the first paint — there is no flash of the old style on reload.
Requirements
| Item | Detail |
|---|---|
| Odoo | 19.0 Community Edition. The module declares excludes: web_enterprise, so it does not install alongside the Enterprise web client. |
| Scope | This is a backend theme: it restyles the internal web client only. It is not a website/eCommerce theme and does not change the public website. |
| Dependencies | The Odoo web and mail modules (both part of a standard install). No extra Python libraries are required. |
| Access | Any internal user can set their own appearance. No special group is needed. |
| Browser | A current evergreen browser (Chrome, Firefox, Edge, Safari). Dark mode uses the CSS prefers-color-scheme media query for the Auto option. |
Installation
- Copy bambooforge_backend_theme into your Odoo addons path.
- Restart the Odoo service.
- Open Apps, click Update Apps List, search for bambooforge_backend_theme and press Activate / Install. The web and mail dependencies install automatically.
The theme applies automatically the moment it is installed: it is loaded as part of the backend asset bundle (web.assets_backend), so there is no switch to flip to "turn the theme on". On your next page load the backend already uses the new layout. From there, each user personalizes their own appearance (next section).
There is nothing to configure on a second platform — this is a self-contained Odoo theme with no companion app and no external service.
Options & personalization
Every option below is per user — your choice never changes anyone else's screen.
Where you set them
There are two places, plus a one-click systray shortcut:
Preferences (the avatar menu, top-right ▸ Preferences). This is the main place. Three fields are added right under your Timezone:
- Backend Appearance — Light / Dark / Auto (follow system).
- Accent Preset — one of six palettes, or Custom.
- Accent Color — the live hex color picker (used when the preset is Custom, or to fine-tune any preset).
Settings ▸ Users ▸ (a user) — an administrator sees the same three fields on any user's form and can set a starting appearance for them.
The systray dark-mode toggle — a sun / moon button in the top bar that flips between Light and Dark instantly and saves the choice to your account.
Dark mode
Backend Appearance has three values:
| Value | Behavior |
|---|---|
| Light | The default. Standard light backend. |
| Dark | A true dark theme (dark backgrounds, light text) scoped so the light theme is never touched. |
| Auto (follow system) | Follows your operating system's light/dark setting and flips live when the OS setting changes. |
The systray sun / moon button is the fast path: it toggles Light ⇄ Dark and persists the choice immediately — no need to open Preferences.
Accent color
The Accent Preset field offers six ready-made palettes plus Custom:
| Preset | Hex | Notes |
|---|---|---|
| Seagreen | #1A7D4C | The default accent. |
| Ocean | #1F6FEB | A clear blue. |
| Violet | #7B3FE4 | A purple accent. |
| Sunset | #E8590C | A warm orange. |
| Ruby | #C2255C | A pink/red accent. |
| Graphite | #3A4047 | A neutral, low-key gray. |
| Custom | any hex | Keeps whatever color you set in Accent Color. |
Picking a preset fills the Accent Color hex automatically; choosing Custom leaves the hex as-is so you can dial in any brand color with the picker. The accent drives the highlight color of buttons, links, active menus, notebook tabs, checkboxes, switches, the focused search box and the selected status-bar stage. Recoloring happens live — the bundle is compiled once and the color is applied at runtime as a CSS variable, so there is no SCSS recompile and no administrator step.
While you drag the color picker, the whole backend previews the color live; it is saved to your account only when you save the Preferences form.
Usage
Reorder and pin apps
- Drag to reorder — with the apps grid open, drag any card to a new position. The new order is saved to your account and used every time you open the grid. A newly installed app that has no saved position simply appears at the end.
- Pin a favorite — hover a card and click its star to pin it. Pinned apps float to the top of the grid (keeping their relative order); click the star again to unpin.
Both the personal order and the pinned set are stored on your own user record, so they follow you across devices and sessions.
On mobile
The layout is mobile-first: the navigation collapses for small screens, the control panel and list headers stay sticky as you scroll, and the command palette and chatter are tuned for touch. Dark mode and your accent apply on mobile exactly as on desktop.
Customization
For administrators who want to influence defaults:
- Default appearance for new users — the out-of-the-box defaults are Light appearance and the Seagreen accent. To start a user somewhere else, open Settings ▸ Users ▸ (the user) and set Backend Appearance, Accent Preset and Accent Color on their form.
- A company brand color — set the Accent Preset to Custom and enter your brand hex in Accent Color on each user (or as part of your user-provisioning template). Because the accent is a runtime CSS variable, no SCSS edit is needed for a brand color.
- Deeper SCSS changes — the dark palette and the accent surfaces live in static/src/scss/bf_dark.scss and static/src/scss/bf_accent.scss, and the full OPL-1 source ships with the module, so a developer can adjust the SCSS and rebuild the assets if a deeper restyle is required. The shipped behavior needs no such edit.
Note: appearance is intentionally per user. There is no single global on/off switch — the theme is always active once installed, and each user controls their own look.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| The theme does not look applied after install | The backend asset bundle is cached. Hard-refresh the browser (Ctrl/Cmd+Shift+R), then, if needed, regenerate assets: Settings ▸ (developer mode) ▸ Technical ▸ Regenerate Assets Bundles, or restart Odoo with --dev=assets while testing. |
| Dark mode does not stick after reload | The toggle saves to your own user record. If you are an impersonated/demo session or a public user, the write may be blocked — sign in as your real internal user. Also confirm your browser is not clearing localStorage on exit (used only to avoid a flash; the saved preference still lives on your account). |
| Auto mode never switches to dark | Auto follows the operating system. Set your OS/browser to dark and ensure the browser supports prefers-color-scheme; otherwise pick Dark explicitly. |
| The module will not install ("excludes web_enterprise") | This is a Community backend theme and excludes the Enterprise web client. On an Enterprise database it will not install; use it on Community Edition. |
| Conflicts with another backend theme | Two backend themes that both restyle the web client will fight over the same components. Install only one backend theme at a time; uninstall the other, then regenerate assets. |
| The accent color does not change | The accent is saved when you save the Preferences form (the picker only previews while dragging). Save the form; if it still looks unchanged, hard-refresh to clear the asset cache. A Custom preset uses exactly the hex in Accent Color. |
| Mobile layout looks broken / zoomed | A stale cached bundle from before install. Hard-refresh on the device and confirm the page is not pinned-zoomed; the layout is responsive once fresh assets load. |
| A drag reorder or pin did not save | Reordering and pinning write to your own user record. If you are in a read-only or impersonated session the write is rejected — use your real internal user and retry. |
Frequently asked questions
Which Odoo versions does it support? Odoo 19.0 Community Edition. It excludes the Enterprise web client by design.
Is this a website theme? No. It restyles the backend (internal web client) only. The public website is unchanged.
Do I have to switch the theme on after installing? No. It applies automatically as part of the backend assets. Each user then personalizes their own dark mode and accent.
Is each user's choice private? Yes. Appearance, accent, app order and pinned apps are all stored per user, so your settings never change anyone else's screen.
Which accent colors are available? Six presets — Seagreen (default), Ocean, Violet, Sunset, Ruby, Graphite — plus a Custom hex you can set with the color picker.
Where do I turn on dark mode? Either the sun / moon button in the systray (instant toggle) or Preferences ▸ Backend Appearance, where you can also choose Auto (follow system).
Can an admin set a company-wide brand color or default? An admin can set each user's starting appearance and accent on Settings ▸ Users. There is no single forced global color, because appearance is per user by design; for a brand color, set Custom + your hex on the users (or your provisioning template).
Does it work on phones and tablets? Yes. The layout is mobile-first, with a touch-tuned command palette and chatter, and dark mode plus accent apply on mobile too.
What happens when I uninstall it? Uninstall is clean and reversible — the backend returns to standard Odoo styling.
What support and refund policy do I get? Every request is answered within 24 hours. If you report a bug within 2 months of purchase and it is not resolved within 15 days, you are entitled to a full money-back refund.
Limits
- Community backend only. The theme targets Odoo 19 Community and excludes the Enterprise web client; it does not run side-by-side with Enterprise.
- Backend, not website. It restyles the internal web client; it is not a website or eCommerce theme and does not change the public-facing site.
- Personalization is per user. There is no single global theme switch or forced company-wide color; defaults are set per user.
- One backend theme at a time. Run only one backend theme; multiple themes that restyle the same web client will conflict.
Support & updates
- Support: bambooforge.labs@gmail.com — answered within 24 hours, setup help included.
- Refund: report a bug within 2 months of purchase; if it is not resolved within 15 days, you get a full refund.
- Full OPL-1 source is included. Updates track the supported Odoo 19 Community line.
Upgrading & version compatibility
This build targets Odoo 19.0. Each Odoo major series (17.0, 18.0, 19.0) has its own dedicated build of this module — always install the build that matches your Odoo version. Mixing a build with a different Odoo series is not supported.
Patch upgrades (same series, e.g. 19.0.1.0.0 → later)
Back up your database and filestore first.
Replace the module folder with the newer build.
Restart Odoo with the module updated:
./odoo-bin -c your.conf -u bambooforge_backend_theme -d your_db
Odoo applies any schema/data changes automatically. Your existing records and configuration are preserved.
Cross-version migration (e.g. Odoo 17 → 18)
Upgrading Odoo itself is a database migration handled by Odoo's standard upgrade tooling. When you migrate the database to the next Odoo series, install the matching build of this module for that series. Data created by this module carries over with the database migration.
Uninstallation
You can remove this module at any time from Apps → (this module) → Uninstall, or from the command line. Uninstalling is clean and reversible by reinstalling — but note what is and is not deleted.
What is removed
- The fields, views and analysis definitions this module added.
- The menus, actions, views and reports this module installed.
What is preserved
- Your standard Odoo data (partners, products, sales, invoices, inventory moves) is not deleted — this module only reads and annotates it; the underlying records stay.
- Attachments and chatter messages on standard records are kept.
As always, take a database backup before uninstalling in production.
Changelog
19.0.1.1.0
Current release for Odoo 19.0. This build includes:
- Dark mode, per-user accent colors, drag-to-reorder apps & pinned favorites.
- A modern, fully responsive backend theme for Odoo 19 Community.
Feature additions and fixes ship as new builds on the Odoo Apps store; this page and the module's version reflect the current published release. Always keep the build matched to your Odoo series (see Upgrading & version compatibility).
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