Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Productivity
  3. Smart Dashboard v 19.0
  4. Sales Conditions FAQ

Smart Dashboard

by Erpoxa https://erpoxa.com/
Odoo

$ 39.31

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 9272
Technical Name erpoxa_smart_dashboard
LicenseOPL-1
Websitehttps://erpoxa.com/
  • Description
  • Manifest
  • License
For Odoo 19 · v1.5.1

Smart Dashboard

Power BI-grade business intelligence — built into Odoo. Zero external dependencies. Zero monthly fees. Zero SQL.

26 widget types · cross-filtering · Edit Interactions · conditional formatting · AI Create + Chat + Insight · KPI alerts · 3-step no-code wizard · 21 pre-built templates · mobile responsive · PDF export.

🚀 Try the Live Demo

login: admin · password: admin

Smart Dashboard — Business Overview dashboard

One dashboard tying together $1.7M revenue, 117 leads, 94 customers and 23 products — built in 3 minutes with the wizard.

26
Widget types
21
Pre-built templates
3
AI features built-in
0
External libraries shipped
3-step
No-code wizard
🎨

No-code, 3 steps

Name → Starting point → Open. No SQL, no formulas, no "custom views".

📊

26 widget types

KPIs, every chart type, plus advanced viz: heatmap, treemap, waterfall, calendar.

🤖

AI everywhere

Create dashboards from a sentence. Chat with your data. Per-tile auto-summary.

⚡

Power BI parity

Cross-filter, drill-through, Edit Interactions, conditional formatting, bookmarks.

Complete user guide below

Everything explained, in order

This page walks you through Smart Dashboard from first-install to advanced AI features — in the exact order you'll use it.

Part 1

Setup

Install · configure AI · open the app

Part 2

Build

Create dashboard · add widgets · arrange

Part 3

Interact

Cross-filter · Edit Interactions · alerts

Part 4

Reference

26 widgets · templates · use cases

Part 1 of 4

⚙ Setup & configuration

Install the module · configure the AI key (optional) · open the Smart Dashboards app

1.1 Install Smart Dashboard

From the Odoo Apps page, search "Smart Dashboard" → click Install. The module pulls only Odoo's bundled base · web · mail — no external Python packages, no JavaScript libraries shipped. Install completes in seconds.

📌 What gets installed: two security groups (Smart Dashboard / User, Smart Dashboard / Designer) · one menu in the navbar · one cron job for KPI alerts · one cron job for email subscriptions (hidden from the menu by default). No data, no users — your existing Odoo is untouched.

1.2 Configure AI (optional, 30 seconds)

Smart Dashboard works fully without any setup. The AI features (Create / Chat / Insight) light up the moment you paste an OpenAI-compatible API key. Bring your own — OpenAI, Azure OpenAI, OpenRouter, or any self-hosted LLM.

1

Open Configuration → Settings

In the Smart Dashboards top navbar, click Configuration → Settings. The menu only appears for users in the Designer or Admin group — regular users won't see it.

Top navbar
API key field
2

Paste your API key

Scroll to AI-Assisted Dashboards. Three fields:

  • AI API key — paste it here. Stored encrypted in ir.config_parameter as smart_dashboard.ai_api_key. Masked once saved.
  • AI model — default gpt-4o-mini. Swap for gpt-4o for higher quality.
  • AI base URL — change only for Azure / OpenRouter / self-hosted LLM.
3

Save — AI features light up

Click Save at the top-left. The ✨ Create with AI menu, the dashboard's AI chat panel, and the per-tile AI insight action become available instantly.

Settings page

Compatible providers (any OpenAI-compatible REST endpoint)

🟢
OpenAI

api.openai.com/v1

🔷
Azure OpenAI

Your Azure deployment URL

🌐
OpenRouter

100+ models · pay-per-use

🏠
Self-hosted

Ollama · LM Studio · vLLM

🔒 Privacy: The key never leaves your Odoo. Nothing is sent to Erpoxa or any third party. Only the requests you explicitly trigger (AI insight click, AI chat message, Create with AI) make outbound calls — and only to the endpoint you configured.

1.3 Open the app — your dashboard library

Click Smart Dashboards in the navbar and you land here: a kanban grid of every dashboard you've created, with widget count, public/private state, refresh interval, owner, and last edit.

Dashboard library kanban
🎨
Colour-coded headers

Sales = green, HR = purple, finance = teal. Match the dashboard to its team at a glance.

⚙️
Quick-action gear

Rename, share with groups, change refresh interval, delete — without opening the dashboard.

⭐
Star & favourite

Pin daily favourites to the top of the kanban so you never hunt for them.

⚡
Live refresh badge

"Live 120 s" tells you how often each dashboard refreshes. Configurable per dashboard.

Part 2 of 4

🏗 Build your first dashboard

Create the dashboard · add widgets one by one · arrange the layout

2.1 Create a dashboard — 3 steps

Click ✨ New Dashboard in the navbar. The stepper takes you from blank to finished in under a minute.

1

Name it

One input. Pick something descriptive — your team sees this in the menu, the kanban tile, the email subscription subject, and any PDF you export.

Step 1 — name
Step 2 — pick a start
2

Pick how to start

  • 📦 Template — fastest. Pre-built for common roles (CEO, Sales, HR, Finance, …). Installs immediately.
  • ✨ Generate with AI — describe what you want in plain English. AI reads your Odoo model and builds the widgets.
  • ⬜ Start blank — empty canvas. Add tiles via the 6-step Add Widget wizard.
3

Pick template & open

If you chose a template, you'll see the catalog. Each card shows widget count + category. Templates whose required Odoo apps aren't installed are dimmed and disabled — no half-broken dashboards.

Click Create & open. Done.

Step 3 — pick template

2.2 Add a widget — 6 guided steps

Click the toolbar's + Add widget button. The wizard walks you through category → model → fields → intent → visualisation → preview. AI suggests the best widget type from your intent — you don't need to know the difference between a bar and a polar-area chart.

1Category

Pick a business area (Sales · Purchase · CRM · Inventory · Accounting · HR · Custom). Only categories whose apps are installed appear.

Step 1
2Model

Pick the Odoo model to read. The recommended choice is starred. Each shows its technical name (sale.order) for clarity.

Step 2
3Fields

The wizard groups available fields by kind: numeric (measure), date (filter), group-by. Just for context — no input needed yet.

Step 3
4Intent

Type what you want to see in plain English ("Monthly revenue by salesperson") or pick a preset. AI uses this to choose the widget type.

Step 4
5Visualisation

AI proposes the best-fit widget (KPI, bar, treemap, heatmap, …). Override with one click if you'd prefer something else.

Step 5
6Preview & save

Live preview of the actual tile on your real data. Tweak the name, save — and it lands on your dashboard.

Step 6

2.3 Arrange the layout — drag & resize

Click Edit on the toolbar. Dashed borders appear, resize handles light up in the corner. Drag any tile by its header, resize from the bottom-right. Click Done to lock the layout. Works on touch devices too.

Edit mode with drag handles
Per-tile action menu

2.4 Per-tile actions

Every tile has a kebab menu (⋮) at the top-right with 8 actions:

  • Download CSV — raw aggregated data for Excel
  • Download PNG — chart image for slides/reports
  • Refresh — bypass cache, hit Odoo immediately
  • ✨ AI insight — auto-summary of the tile
  • ↔ Edit interactions — per-source filter rules
  • Edit — reopen the widget wizard
  • Duplicate — clone with one click
  • Delete — remove the tile
Part 3 of 4

⚡ Interact & analyse

Cross-filter · Edit Interactions · conditional formatting · bookmarks · alerts

3.1 Cross-filtering — click any segment

Click a bar, segment or slice — every other tile on the same Odoo model instantly re-renders with that filter applied. A pill at the top of the dashboard shows what's filtered; one click clears it.

Cross-filter pill
⌨ Shift + click

Drills straight to the Odoo records list for that segment — useful for "show me the actual orders behind this bar".

⌨ Click another bar

Adds a second filter. Combines with the global Period filter and any custom filters you've set.

3.2 Edit Interactions — Power BI's flagship feature

Want one chart to filter some tiles but not others? Open the chart's kebab → ↔ Edit interactions → click Affected / Ignored on each target. Configuration persists per source tile.

Edit Interactions

📌 How to use: Open a chart's kebab menu (⋮) → ↔ Edit interactions. Click the green Affected badge on any tile to flip it to red Ignored. Click Done. Whenever this source tile is clicked, ignored tiles won't re-render.

3.3 Conditional formatting — at-a-glance status

Set kpi_alert_high and kpi_warn_low on any KPI. The tile paints itself red / amber / green automatically — and re-evaluates after every cross-filter.

Conditional formatting

📌 How to configure: Edit any KPI tile → "Conditional formatting (optional)" section → set alert high for the alarm threshold (e.g. 30,000), warn low for the danger floor (e.g. 5,000). Tick invert for "lower is better" metrics like response time.

Bookmarks dropdown

3.4 Bookmarks — save your filter combinations

Got a filter combo you check every Monday? Save it as a bookmark. Restore the exact state — period + cross-filters + custom filters — with one click.

How to use: Toolbar → Views → + Save current view. Give it a name. Reopen the panel anytime to switch.

3.5 KPI Alerts — get an email when a number matters

A cron job evaluates every alert every 30 minutes. When a KPI crosses your threshold — revenue dips, leads above a target, sudden % changes — recipients get an email immediately.

KPI Alerts list
📈 Value greater than

Useful for "leads in pipeline above 100", "overtime hours above 200".

📉 Value less than

Useful for "revenue below $200k", "stock level below safety threshold".

⚡ % change

Catches sudden swings — "30% revenue drop in one period".

📌 How to create: Top menu → 🔔 Alerts → New. Pick a widget (any KPI / Bullet / Progress tile), pick a condition, set the threshold, add recipients. Save — done.

3.6 Auto-refresh — dashboards stay current

Every dashboard has a configurable refresh interval (default: 120 seconds). The client schedules a silent re-fetch in the background, the server returns only what's changed since the last fetch, and the UI swaps the new values in without flashing. Manual refresh is one click on the toolbar; per-tile refresh is one click on the tile kebab.

🔄 Per-dashboard interval

Set auto_refresh_seconds on each dashboard. Range 30 s – 1 hour. Quietly cancels itself when the tab is hidden.

⚡ Smart cache invalidation

The two-layer cache keys on the underlying model's max write_date. Add a sale order and the affected widgets refresh on next poll — no stale data.

⏸ Pause on inactivity

When the browser tab is hidden, polling pauses automatically. Resumes on focus. Saves server CPU on tabs no one is watching.

Part 4 of 4

📚 Widget catalog & reference

All 26 widgets · advanced visualisations · AI features · templates · use cases · comparison

4.1 The 26 widget types — every shape your data wants

Each widget tells a different story. Below: every type with a real-data screenshot, when to use it, and how to configure it.

📊 Numbers (single-value tiles)

KPI
KPI Tile

Big number. One aggregate value with optional delta vs. previous period and conditional formatting.

Best for: headline metrics, scorecards, summaries.

Configure: model + measure (sum/avg/count) + optional target + compare-period.

Bullet
Bullet / Progress

Value vs. target. Horizontal bar that fills as you approach the goal.

Best for: sales targets, campaign goals, OKRs.

Configure: set kpi_target.

Progress ring
Progress Ring

Donut showing % of target. Same as bullet but circular.

Best for: compact target tracking on KPI strip.

Gauge
Gauge

Speedometer. Min/max bracket with a needle indicator.

Best for: capacity-bound metrics (server load, fulfilment).

Configure: gauge_min and gauge_max.

📈 Standard charts

Bar
Bar chart

Compare categories. Vertical bars; great for ranking.

Best for: revenue by rep, orders by status, items by category.

Stacked bar
Stacked bar

Two dimensions at once. X-axis primary, each bar split by secondary group.

Best for: revenue by month, split by product category.

Horizontal bar
Horizontal bar

Long category names. Same as bar but rotated — labels readable.

Best for: customer rankings, country lists.

Line
Line chart

Trend over time. Smooth line through data points.

Best for: monthly orders, weekly leads, daily traffic.

Stepped line
Stepped line

Discrete trend. Right-angle steps emphasise "constant between samples".

Best for: headcount, subscribers, contract count.

Area
Area chart

Filled trend. Visual emphasis on magnitude. Includes optional forecast.

Best for: cumulative revenue, stock value over time.

Pie
Pie chart

Share of total. Each slice is one category's contribution.

Best for: order status split, payment-method breakdown.

Doughnut
Doughnut chart

Pie with a hole. Same purpose; centre lets you show the total.

Best for: companies vs. individuals, channel split.

Polar area
Polar area chart

Radial slices. Each segment has the same angle; the radius is the value.

Best for: visual comparison across 4-10 categories.

Radar
Radar chart

Multi-attribute "shape". Each spoke is a category; polygon shows the profile.

Best for: employee skills, product mix, customer segments.

Scatter
Scatter chart

2D correlation. Each record at its (x, y) values to reveal clusters and outliers.

Best for: revenue vs. discount, lead score vs. conversion.

Bubble
Bubble chart

Scatter with a third dimension. Bubble size encodes another value.

Best for: deal value (size) by lead score (x) and age (y).

Mixed
Mixed (bar + line)

Two metrics, one chart. Bars + a line on twin Y-axes.

Best for: revenue (bars) + order count (line).

Funnel
Funnel

Drop-off across stages. Each bar narrows as records progress.

Best for: lead → opportunity → quotation → sale.

📋 Tables & lists

Table
Pivot / Table

Numbers, not pictures. Group by rows × split by columns.

Best for: finance reports, audit trails.

Top-N
Top-N list

Leaderboard with bars. Top N by your chosen measure; each row has an inline progress bar.

Best for: top customers, top products.

Records
Records list

Real Odoo records. Click a row to open the record in Odoo.

Best for: recent orders, leads needing follow-up.

HTML
Rich-text panel

Narration tile. Embed instructions, notes, links.

Best for: "About this dashboard" intros, contact info.

🆕 Advanced visualisations — things you usually need a separate BI tool for

Heatmap
🔥 Heatmap (matrix)

2D grid where colour intensity = value. Spot patterns instantly.

Configure: set both primary AND secondary group_by fields.

Example: orders by status × month.

Treemap
🌲 Treemap

Rectangles sized by value. The biggest contributors take the biggest area.

Configure: standard group_by + measure. Optional limit.

Example: revenue by customer.

Calendar heatmap
📅 Calendar heatmap

One year, GitHub-style. 53 weeks × 7 weekdays, each cell colour-coded by daily activity.

Configure: set group_by_field to a date or datetime column.

Example: daily order activity, ticket volume.

Waterfall
💧 Waterfall

Sequential contributions to a total. Each bar starts where the previous one ended.

Configure: typical sum + group_by_date.

Example: monthly revenue building to YTD.

4.2 AI features — three places AI helps you

Optional. Bring your own API key (see 1.2 Configure AI). Disable any of the three independently if you don't want them. Smart Dashboard works fully without any AI configured.

✨

Create with AI

Describe what you want to track. The AI reads your installed Odoo apps + data model and proposes a complete dashboard.

Trigger: top menu → ✨ Create with AI

💬

Chat with the dashboard

Open the AI panel and ask any question about the current view. The AI reads live tile data and answers.

Trigger: dashboard toolbar → AI chat

💡

Per-tile AI insight

Right-click any tile → ✨ AI insight. Get a 1-paragraph summary with notable outliers called out.

Trigger: tile kebab (⋮) → ✨ AI insight

✨ Create with AI — example briefs

"Sales overview for this quarter: revenue, AOV, top customers, monthly trend, recent orders."
"HR dashboard: headcount, leaves by month, attendance heatmap, top departments."
"Marketing performance: campaign ROI by channel, lead conversion funnel, monthly spend vs. budget."
"Inventory health: stock value, low-stock products, top movements."

4.3 21 templates — pre-built for every team

CEO Overview · Sales Performance · CRM Pipeline · HR Pulse · Finance · Marketing Funnel · Customer Insights · Inventory · Purchase · Project · Manufacturing · Helpdesk · POS · Expenses · Mailings · Events · Fleet · Maintenance · Contacts · Business Overview · All Widgets Showcase.

Templates whose required Odoo apps aren't installed are dimmed automatically — install on any DB without surprise crashes.

Template browser

4.4 Built for every business team

Whichever team you're on, there's a pre-built template that fits — and dozens of widgets you can mix to build your own.

👔 CEO / Executive

High-level visibility, zero noise

Headline numbers for the board meeting: revenue vs. target, AR aging, top customers, monthly trend. One screen, no scrolling.

Start with: CEO Overview · 8 widgets

💼 Sales

Pipeline you can actually act on

Sales-rep leaderboard, win-rate funnel, top customers, pipeline by stage. Cross-filter to any rep and the whole dashboard pivots.

Start with: Sales Performance+ · 10 widgets

👥 HR / People

Headcount, leaves, attendance

Employees by department, leaves by month, attendance heatmap, top departments. Installs in one click.

Start with: HR Pulse · 4 widgets

💰 Finance

P&L, cash flow, AR aging

Revenue waterfall by month, expense breakdown, top vendors, cash flow trend. Compare-period KPIs catch dips fast.

Start with: Finance Overview · 9 widgets

📣 Marketing

Campaign ROI & funnel performance

Lead → opportunity → won funnel, campaign spend vs. budget, top-converting sources, monthly trend.

Start with: Marketing Funnel · 10 widgets

📦 Operations

Inventory, purchasing & manufacturing

Stock value, low-stock alerts, top movements, PO status, manufacturing throughput, helpdesk team load.

Start with: Inventory Health · Helpdesk Performance

4.5 vs. the alternatives

Why people pick Smart Dashboard over Odoo's built-in Spreadsheets, third-party BI tools, or building it themselves.

Feature Smart Dashboard Odoo Spreadsheets Power BI / Tableau
No-code wizard✓ 3-stepLimited✗ Drag-and-build
26 widget types✓ All in-app~6 chart types✓ Many
Heatmap / Treemap / Waterfall✓ Built-in✗✓ (paid plugins for some)
Cross-filtering across tiles✓ Click any segment✗✓
Edit Interactions✓ Built-in✗✓ (Power BI)
AI: prompt → dashboard✓ Optional✗Copilot (paid add-on)
AI: chat with the dashboard✓ Optional✗Q&A (limited)
Conditional formatting✓ red/amber/green + invertCell rules only✓
KPI threshold email alerts✓ Built-in cron✗Power Automate
Works on any Odoo model✓ Yes✓ YesNeeds ETL
Mobile responsive✓ NativeRead-onlySeparate mobile app
External infrastructure✓ None — runs in Odoo✓ Runs in OdooSeparate server + license

4.6 Mobile-first — works on every screen

Below 800 px, tiles auto-stack into a single column. Tile menus stay tappable. Filters become full-width. No "responsive" excuses — it actually works.

Mobile KPIs

📊 KPI strip

Big numbers + conditional formatting

Mobile charts

📈 Charts & tables

Bar, line, area — all single-column

Mobile advanced

🔥 Advanced widgets

Heatmap, treemap — full quality

Mobile tile menu

⋮ Tile menu

Always visible on touch — no hover needed

Mobile filter

🔍 Period filter

Full-width dropdown for thumbs

Mobile library

📚 Dashboard library

Browse and pick from your phone

🖨 Export to PDF

Click Export in the dashboard toolbar → browser's print dialog opens → choose "Save as PDF". A print stylesheet hides the toolbar, filters and AI chat panel so the output is a clean, board-ready report. No backend rendering, no headless browser, no extra dependency.

4.7 Performance & scale — fast on real-world datasets

Smart Dashboard is built on Odoo's native aggregation engine. It never loads records into Python objects — only the aggregated numbers that the chart needs. Combined with a two-layer cache, dashboards stay responsive even on databases with millions of records.

⚡ Query layer

  • Native read_group for every aggregate — pushed down to PostgreSQL as a single GROUP BY
  • No record loading — Python never instantiates browse records
  • Indexes respected — uses your existing PG indexes on date and FK columns
  • Single round-trip per widget — no N+1 queries
  • Concurrent widget loads — the dashboard fetches multiple widgets in parallel

💾 Cache architecture

  • Layer 1: per-widget LRU — in-process, ~2,000 entries, TTL configurable per widget
  • Layer 2: data-version key — auto-invalidated when underlying records change
  • Sharded by user — each user's row-level security applied before caching
  • Domain-aware — cross-filters and Period filter are part of the cache key
  • Manual override — per-tile "Refresh" bypasses both layers

📊 Real-world numbers: On a database with 1M+ sale.order records, a 12-tile dashboard typically loads in under 800 ms cold (no cache), and instantly when cached. Cross-filter clicks complete in 150-300 ms on a typical Odoo deployment.

4.8 Security & permissions — Odoo-native ACLs

Two security groups ship out of the box. Standard Odoo access rights, record rules and multi-company filters all apply. AI features never bypass them.

Action User Designer Admin
View public dashboards✓✓✓
Filter, bookmark, cross-filter✓✓✓
Use AI chat / per-tile insight✓✓✓
Export CSV / PNG / PDF✓✓✓
Create / edit / delete dashboards✗✓✓
Add / edit widgets, drag-resize✗✓✓
Install templates✗✓✓
Create / edit KPI alerts✓ (own)✓✓
Configure AI key / settings✗✗✓
Use developer-mode features✗✗✓

🔒 Row-level security: Every aggregation respects Odoo record rules and multi-company filters. A salesperson sees only their own sales in a "Revenue by salesperson" chart; a manager sees the team. The cache is sharded per user, so caches never leak.

4.9 Multi-company, i18n & accessibility

Built for global Odoo deployments. Multi-company aware, fully translatable, keyboard-navigable, and accessible.

🏢 Multi-company

  • Per-company AI configuration — each company can use its own API key
  • Standard company_id domain on every model — chart data respects the active company filter
  • Dashboards can be assigned to specific companies or made shared
  • Cross-company aggregations work when the user has access to multiple companies

🌐 Internationalisation

  • Every UI string translatable via standard Odoo i18n (.po files)
  • Number formatting via Intl.NumberFormat — respects user locale
  • Date axis labels in the user's language
  • Currency formatting on KPI tiles via user's preferred currency
  • RTL languages (Arabic, Hebrew) — layout flips correctly

♿ Accessibility

  • All buttons keyboard-focusable with visible focus rings
  • Semantic HTML — headings, lists, tables for screen readers
  • Chart tooltips also surfaced as text on hover / focus
  • Sufficient colour contrast (WCAG AA) in both light and dark themes
  • Tile menus operable without a pointer device

🌙 Light / dark theme

  • Automatically follows Odoo's user theme (light / dark / auto)
  • All 26 widgets re-skin cleanly in dark mode
  • Chart palettes adjusted for both themes
  • Per-dashboard custom accent colour overrides theme accents

4.10 Customisation — themes, palettes & brand colours

Every dashboard and widget can be styled to match your brand without touching code.

🎨 5 chart palettes

Pick a palette per widget:

  • Vivid — default, bright colours
  • Ocean — cool blues / teals
  • Sunset — warm oranges / yellows
  • Forest — greens / earth tones
  • Mono — black / grey / white
🌈 Per-dashboard accent

Each dashboard has its own accent colour applied to:

  • Kanban card header strip
  • KPI tile primary number colour
  • Progress bars and rings
  • Header left border
  • Cross-filter pill accent
🖌 Per-tile icon + colour

Each tile lets you pick:

  • FontAwesome icon (any in the catalogue)
  • Header icon colour
  • KPI value colour
  • Override the dashboard's palette per tile

4.11 Keyboard shortcuts — work faster

For power users who navigate without a mouse.

Action Shortcut
Drill into records (from a chart bar)Shift + click
Add second cross-filter (instead of replacing)Ctrl + click
Print / export to PDFCtrl + P
Refresh all widgetsCtrl + R (browser refresh)
Submit AI chat messageEnter
Newline in AI chat inputShift + Enter
Next step in Add Widget wizardEnter in any input
Close dialog / cancelEsc
⚙ For developers

4.12 Extend with custom widgets & data sources

Smart Dashboard is built as a standard Odoo module. Every model is documented, every JS component is registered cleanly, and the data layer respects ORM conventions. Easy to extend in your own addon.

🧩 Add a custom widget type

  1. Inherit smart.dashboard.item in your module
  2. Add your widget type to WIDGET_TYPES
  3. Register the OWL component in WIDGET_COMPONENTS
  4. Provide a _compute_<type> method on the data engine

🪝 Hooks & extension points

  • _build_domain — add custom filters server-side
  • _serialize_for_client — add fields to the JSON payload
  • paletteColors() — define your own palette
  • smart_dashboard.template — register your own templates
  • JSON-RPC endpoints — fetch widget data from external apps
📖 Real-world walkthrough

4.13 "How I built my Monday-morning sales dashboard"

A step-by-step example, top to bottom. From clicking "New Dashboard" to having a 12-tile dashboard for the weekly leadership stand-up. ~6 minutes total.

⏱ 0:00 — Open Smart Dashboards → ✨ New Dashboard

Name it "Monday Sales Review". Pick 📦 Use a template. The catalogue opens.

⏱ 0:30 — Pick "Sales Performance+" template

10 widgets land: Total revenue KPI, Pipeline funnel, Revenue by salesperson bar chart, Top 10 customers list, Monthly revenue trend, Quote conversion rate, Recent orders list, plus a few more.

⏱ 1:30 — Add 2 custom widgets

Click + Add widget. Through the 6-step wizard:

  • Heatmap of sales by salesperson × month (3 minutes including layout adjustments)
  • Waterfall showing month-by-month revenue contributions building to YTD (2 minutes)

⏱ 4:30 — Configure conditional formatting on Total revenue

Edit the Total revenue tile → set alert high = 110% of target, warn low = 80% of target. The tile now paints itself green/amber/red automatically each Monday.

⏱ 5:00 — Create an alert

🔔 Alerts → New → "Weekly revenue under 80% of target" → email me + the sales lead. The cron checks every 30 min. We get a Slack-style ping the moment things drift.

⏱ 6:00 — Done. Bookmark the Monday view.

Set Period = "Last 7 days", click Views → + Save current view → name it "Monday standup". Every Monday at 9 AM, one click loads the exact state needed for the meeting.

📌 Total time: ~6 minutes. The dashboard now runs itself. The team gets emails when KPIs cross thresholds. The bookmark restores the exact filter combination for the standup. The AI chat panel handles ad-hoc "why was revenue down in April?" questions during the meeting.

Try it before you commit

Open the live demo, log in as admin, and play with every feature. Cross-filter, build a widget, ask the AI a question. No signup.

🚀 Try the Live Demo

Frequently asked questions

Do I need Power BI or any external service?

No. Everything renders inside Odoo. Charts use Chart.js (bundled with Odoo). Heatmap / treemap / calendar render with pure SVG / HTML / CSS. Zero external libraries shipped.

Does it work on any Odoo model?

Yes. Sales, CRM, HR, accounting, custom — anything with a stored or related field can be measured, grouped or filtered. The 6-step wizard reads the model schema and exposes only fields that make sense.

Is the AI optional?

100% optional. Smart Dashboard works fully without an API key. AI features (Create / Chat / Insight) light up only when a key is configured. No telemetry, no required cloud service.

Can users share their own dashboards?

Yes. Each dashboard has explicit user-group sharing. Bookmarks are per-user. Dashboards can be public or private to a specific group.

What permissions does the install need?

Two groups ship: Smart Dashboard / User (read-only) and Smart Dashboard / Designer (create + edit). Standard Odoo ACLs & record rules apply — AI never bypasses them.

Is it fast on large datasets?

Yes. Queries use Odoo's native read_group — no record loading. A two-layer cache (per-widget + per-data-version) keeps the dashboard snappy and invalidates automatically when underlying records change.

Built & supported by Erpoxa

We build production-grade Odoo apps and answer every customer email personally.

Email
support@erpoxa.com
Website
erpoxa.com
Live demo
apps.erpoxa.com

Smart Dashboard for Odoo 19 · v1.5.1 · © 2026 Erpoxa

Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 9272
Technical Name erpoxa_smart_dashboard
LicenseOPL-1
Websitehttps://erpoxa.com/
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

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with