The Intelligent Home Screen for Odoo
A Premium Launch Experience for Every Odoo User
Siso Smart Hub is a replacement for the default application launch menu — the Odoo "home screen" — which is otherwise only available in paid Odoo license tiers. A key advantage is that users of the Community Edition can deploy and take full advantage of The Hub at no additional platform cost.
After installing Siso Smart Hub, users are greeted by a new home button and a visually attractive home screen where they can more easily find and navigate their installed apps. A deliberate design choice is that app icons are organized alphabetically, making it faster to find the right application at a glance.
The Hub ships with a pleasant default wallpaper, and users can replace it with an image of their own choosing at any time. Administrators have the option to set a single wallpaper for all users and can lock the setting to prevent individual customization.
Prominently featured at the top of The Hub is a Smart Search box that is instantly focused whenever The Hub is opened. Smart Search supports both straightforward app and menu searches as well as sophisticated keyword-based searches across any model in Odoo — making it fast and easy to locate records like products, contacts, quotations, and more without navigating through menus. Smart Search also incorporates search symbology for wildcards, multi-field matching, and exact lookups.
Beyond icons, each app's text label in The Hub opens a direct menu shortcut: for example, the Inventory app's label reveals menu items such as "Products → Products," allowing users to navigate straight to a view without opening the app and clicking through its menu hierarchy.
Users can pin any menu item to the personal My Tools container on the left side of The Hub, building a curated collection of frequently used views. My Tools are also accessible from anywhere in Odoo by hovering over the Smart Hub icon in the top-left corner for a moment — so users never have to return to The Hub just to reach their pinned shortcuts.
As a small quality-of-life improvement, Siso Smart Hub also applies a subtle yellow background to input fields across Odoo, making active form fields easier to identify at a glance.
Part 1 of this document covers the features available to all users. Part 2 covers administration, installation, and the various customization options available to system administrators.
Essential features and navigation for all Siso Smart Hub users.
The Smart Search box at the top of The Hub is automatically focused upon opening. It supports both simple app lookups and complex data queries.
:) to find specific menu items across all apps (e.g., :produ).P:).
ESC at any time to clear the search input.
Press ESC at any time to clear the Smart Search input and return to the full app view.
The My Tools panel on the left is your personal workspace for pinning shortcuts to any Odoo view. Items are grouped by their parent application, alphabetised within each group, and the panel fills the full height of the Hub so nothing is ever cut off.
CTRL and Right-Click the menu item.
You do not need to return to the Hub to pin a shortcut. While navigating any Odoo page, hold CTRL and Right-Click any item in the native top-navigation menu (app sections, subsections) to pin it directly to My Tools — the same confirmation dialog appears.
To remove an item from My Tools, hold CTRL and Right-Click the item inside the My Tools panel. Items already in My Tools are unpinned; menu items not yet pinned are pinned.
When My Tools grows long, click any group header to collapse or expand that group. The chevron indicator shows the current state. Your preferences are saved per browser so they persist across sessions.
My Tools is accessible from anywhere in Odoo. Simply hover over the Smart Hub icon in the top toolbar to instantly reveal your pinned shortcuts without opening the Hub.
Personalize your workspace by changing The Hub's wallpaper. Click the Background button in the bottom-right corner of the Hub to open the background panel. The button is hidden for regular users when an administrator has locked wallpaper changes; administrators always see it.
When logged in as a superuser, the background panel includes an additional admin section with company-wide controls:
.ico files are recommended for best browser compatibility. Click Clear favicon to restore the Odoo default. The tab icon updates immediately — no page reload required.You can designate any app or menu item as your default home screen. This screen will open automatically whenever you access Odoo.
Hold CTRL + ALT and Right-Click any icon or menu item in The Hub to set it as your default home screen.
Configuration and management options for system administrators.
Siso Smart Hub is available on the Odoo App Store. Installation takes under two minutes with no server restart required.
If installing from a downloaded archive rather than directly from the App Store: place the siso_smart_hub directory in your Odoo addons path, restart the Odoo service, then navigate to Apps → Update Apps List before searching and activating.
Once activated, the Smart Hub logo
will replace the default Odoo menu icon, indicating the system is ready for use.
Superusers can manage all Siso Smart Suite modules under Settings → Technical. Siso-specific configurations are grouped in their own section near the bottom of the menu.
When a new version is available on the App Store, Odoo will indicate that an upgrade is ready on the module card.
Replace the siso_smart_hub files in your addons directory with the new version, then click Upgrade in the Apps list. A database backup beforehand is always recommended for self-hosted environments.
By default, all apps are organized under a group labeled "Other." While this label is fixed, you can create custom groups to better organize your workflow.
Navigate to Settings → Technical → SmartHub: App Categories to manage your groups. Here, you can create, edit, or delete labels that will be used to categorize your applications in the next step of the configuration process.
Creating logical groups (e.g., "Sales," "Logistics," "System") significantly improves the user experience by reducing the time spent searching for related applications.
After defining your groups, use the SmartHub: App Settings menu under Technical to assign applications to them. The App Manager provides a centralized interface for customizing how each app appears in The Hub.
Once saved, all configuration changes take immediate effect for all users across the system.
Smart Search allows administrators to create powerful keyword-based search shortcuts. While basic setup is straightforward, advanced configurations may require familiarity with Odoo's underlying model structure.
To begin, navigate to Settings → Technical → SmartHub: Smart Search. By default, the list is empty; click New to create your first keyword search.
Consider a search for products using the prefix "P" (case-insensitive). This configuration can be set to query the "Barcode," "Internal Reference," and "Name" columns, returning the "Display Name" and "Sales Price" to the user.
Advanced operators for refining your Smart Search queries.
When keyword search rules are defined, you can use special characters to help narrow your results. To initiate a keyword search, type the keyword followed by a colon (e.g., P:) and then your search term.
The following operators allow for powerful, pinpoint location of records within your defined search scopes:
| Character | Name | Function | Example |
|---|---|---|---|
* | Asterisk | Wildcard Search: Simplifies searching within a target value by matching any sequence of characters. | P:Tr*ission |
% | Percent | Multi-Field Search: Allows searching across multiple fields simultaneously (e.g., name and reference). | P:Tr*ission%0452 |
! | Exclamation | Explicit Match: Returns only records that exactly match the provided value (useful for barcodes or IDs). | P:0452140! |
Comprehensive guide for transforming raw field values into user-friendly formats.
Format patterns are optional strings entered in the Format column of the Display Fields table inside a Smart Search configuration. When a pattern is present, the raw field value is transformed before it is rendered in the search-results grid. When no pattern is given, the system falls back to the field's natural string representation (display_name for relational fields, plain str() for everything else).
An empty or False field value always renders as an empty cell, regardless of the pattern applied.
All three types are formatted using Python's strftime format codes. The full input value is passed to strftime(pattern), so any valid strftime string works. Any literal text written between codes — including punctuation, spaces, and words — is passed through unchanged.
| Code | Meaning | Example output |
|---|---|---|
%d | Day of month, zero-padded | 01 – 31 |
%e | Day of month, space-padded | 1 – 31 |
%m | Month number, zero-padded | 01 – 12 |
%b | Abbreviated month name | Jan, Feb … |
%B | Full month name | January, February … |
%y | 2-digit year | 25, 26 |
%Y | 4-digit year | 2025, 2026 |
%H | Hour (24-hour), zero-padded | 00 – 23 |
%I | Hour (12-hour), zero-padded | 01 – 12 |
%M | Minute, zero-padded | 00 – 59 |
%S | Second, zero-padded | 00 – 59 |
%p | AM / PM | AM, PM |
%A | Full weekday name | Monday, Tuesday … |
%a | Abbreviated weekday name | Mon, Tue … |
%j | Day of year | 001 – 366 |
%W | Week number (Mon-first) | 00 – 53 |
%Z | Timezone name (if present) | UTC, CET |
%% | Literal % character | % |
| Pattern | Input value | Output |
|---|---|---|
%d.%m.%Y | 2026-04-29 | 29.04.2026 |
%d/%m/%Y | 2026-04-29 | 29/04/2026 |
%Y-%m-%d | 2026-04-29 | 2026-04-29 |
%d. %B %Y | 2026-04-29 | 29. April 2026 |
%d %b %y | 2026-04-29 | 29 Apr 26 |
%H:%M | 09:05:00 | 09:05 |
%H:%M:%S | 09:05:32 | 09:05:32 |
%I:%M %p | 14:30:00 | 02:30 PM |
%d.%m.%Y %H:%M | 2026-04-29 09:05:00 | 29.04.2026 09:05 |
%A, %d. %B %Y | 2026-04-29 | Wednesday, 29. April 2026 |
%d, %m, %Y, etc.) are meaningful; time codes produce 00 or empty values.All three numeric types share the same pattern syntax, which extends Python's built-in Format Specification Mini-Language with optional prefix, suffix, and separator overrides:
[prefix]{<python_spec>[|thousands_sep[|decimal_sep]]}[suffix]
| Part | Required | Description |
|---|---|---|
prefix | No | Arbitrary text placed before the number (e.g. kr , $) |
{ … } | Yes | Delimiters wrapping the specification |
python_spec | Yes | Python format spec (see table below) |
|thousands_sep | No | Replace the default , thousands separator with this string |
|decimal_sep | No | Replace the default . decimal separator with this string |
suffix | No | Arbitrary text placed after the number (e.g. NOK, %) |
| Spec | Meaning | Example output (input 1234.5678) |
|---|---|---|
f | Fixed-point, 6 decimal places | 1234.567800 |
.2f | Fixed-point, 2 decimal places | 1234.57 |
.0f | Fixed-point, no decimals (rounds) | 1235 |
,.2f | Thousands-grouped, 2 decimals | 1,234.57 |
,.0f | Thousands-grouped, no decimals | 1,235 |
d | Integer, no decimals, no grouping | 1234 (integer / monetary only) |
,d | Thousands-grouped integer | 1,234 (integer only) |
.2e | Scientific notation, 2 sig. digits | 1.23e+03 |
.4g | General notation (drops trailing zeros) | 1234.6 |
+.2f | Force sign prefix | +1234.57 |
08.2f | Zero-padded to width 8 | 01234.57 |
The two separator overrides are order-sensitive: if you want to override only the decimal separator you must still supply the |thousands_sep position (leave it empty to keep the default ,).
|thou — overrides thousands separator, keeps . as decimal mark.|thou|dec — overrides both separators.||dec — overrides only the decimal separator and removes the thousands grouping character entirely.Basic formatting (no separator override)
| Pattern | Input | Output |
|---|---|---|
{,.2f} | 1234.5 | 1,234.50 |
{,.0f} | 1234.5 | 1,235 |
{.2f} | 1234.5 | 1234.50 |
{.0f} | 1234.5 | 1235 |
{+,.2f} | 1234.5 | +1,234.50 |
{,.2e} | 1234500 | 1.23e+06 |
Prefix and suffix
| Pattern | Input | Output |
|---|---|---|
$ {,.2f} | 1234.5 | $ 1,234.50 |
{,.2f} USD | 1234.5 | 1,234.50 USD |
({.0f}) | 1234.5 | (1235) |
≈ {,.1f} | 1234.5 | ≈ 1,234.5 |
Separator overrides — European conventions
| Pattern | Input | Output | Thousands | Decimal |
|---|---|---|---|---|
{,.2f| |,} | 1234.5 | 1 234,50 | space | , |
{,.2f|.|,} | 1234.5 | 1.234,50 | . | , |
{,.2f||,} | 1234.5 | 1234,50 | (none) | , |
{,.2f|,|.} | 1234.5 | 1,234.50 | , | . (default) |
Combined prefix, separator override and suffix
| Pattern | Input | Output |
|---|---|---|
kr {,.2f| |,} | 1234.5 | kr 1 234,50 |
{,.2f| |,} NOK | 1234.5 | 1 234,50 NOK |
kr {,.2f| |,} NOK | 1234.5 | kr 1 234,50 NOK |
$ {,.2f} | 9876543.2 | $ 9,876,543.20 |
€ {,.2f|.|,} | 9876543.2 | € 9.876.543,20 |
Integer fields
| Pattern | Input | Output |
|---|---|---|
{d} | 1234 | 1234 |
{,d} | 1234 | 1,234 |
{,d| } | 1234 | 1 234 |
{08d} | 42 | 00000042 |
{.0f} | 1234 | 1234 (same as d for integers) |
Percentage and other derived units
| Pattern | Input | Output |
|---|---|---|
{.1f} % | 0.856 | 0.9 % |
{.0f}° | 37.6 | 38° |
python_spec must not contain } or | characters; these are reserved as delimiters.{…} block is present, the entire pattern string is used as a bare Python format spec (i.e. format(value, pattern)). This covers simple cases like .2f without prefix or suffix..2f) are accepted and apply rounding, but d is the canonical integer spec.str(value) so results remain visible even with a malformed pattern.