Business Intelligence
Dashboard Builder
A live business-intelligence workspace for Odoo Community. Drag tiles onto a snapping grid, group any model in the database, and click straight through to the records behind any figure.
Over 20 original chart and widget types, a real world map, a pivot matrix, cross-model joins, safe read-only SQL, snapshots and alerts, and an optional bring-your-own-key AI. Built from the ground up in OWL with original SVG charts, so nothing loads from a CDN and there is nothing to subscribe to.
Free, no paid dependencies. Installs alongside your existing apps.
Why this dashboard
A real BI workspace on Community, not a chart arranger.
Every chart figure is produced with a grouped database read pushed to Postgres (a KPI tile adds a small trend read), so a board over a million-row ledger opens as fast as one over a handful of records. Figures from an Odoo model respect your record rules and multi-company access, because the aggregation runs as the person looking at it. And because the whole engine, including the charts, is written from scratch in OWL and SVG, there is no third-party charting bundle to license and nothing to pull from a content delivery network.
Over 20 widget types, one engine
Bar, column, horizontal bar, line, area, pie, doughnut, radar, polar, radial, rose, funnel, pyramid, scatter, bullet, heat map, gauge, KPI tiles, a pivot matrix, a decomposition tree, a sync slicer and rich text. Each is a small registered strategy, drawn as original SVG.
A real choropleth world map
Group by a country field and each country is shaded by the measure itself, with a gradient legend and click-through. It is an original projected SVG map, not pins on a borrowed tile layer, and it falls back to a ranked coloured list for any non-country dimension.
Cross-filter and multi-level drill
Click a mark and every widget re-scopes to it, or drill a chart a level deeper with a breadcrumb to climb back. A sync slicer drops a value chip that filters the whole board, and any figure opens the exact records behind it.
The full catalogue
Over twenty chart and widget types, all drawn from scratch.
One engine, every chartBar, column, horizontal and stacked bars, line, area, pie, doughnut, radar, polar area, radial bar, a Nightingale rose, funnel, pyramid, scatter, bullet, heat map, gauge, KPI tiles, a pivot matrix, a decomposition tree, a slicer and rich text. No charting library, no CDN, every one original SVG.
See it in action
Countries shaded by the measure, not by pins.
Choropleth mapEvery country is coloured by its own value with a gradient scale, hover read-out and click-through drill. The geometry is a pre-projected SVG asset, so nothing loads from an external map service.
Bring your own data
From any Odoo model, two models joined, a spreadsheet, or read-only SQL.
Group any Odoo model
Pick a model, a group-by field and a measure. Count, sum, average, min, max, distinct count, or a calculated formula over other measures.
Cross-model joins
Compare two models on a shared key, such as orders versus invoices, merged in Python so both sides stay rule-safe. No raw SQL join to write.
CSV and Excel files
Upload a CSV or Excel file and chart its columns directly. It is parsed to a light column list, never turned into a new database table, so a re-upload just refreshes.
Safe SQL, vaulted secrets
A single read-only SELECT, forced through a rolled-back savepoint with a statement timeout, restricted to administrators, with any credential kept in a vault.
Combo charts with a second axisDraw one measure as bars and another as a line on its own right-hand scale, so a value and a rate read together on one chart.
A true pivot matrixCross-tab any two dimensions with row, column and grand totals computed database side, a heat shade per cell, and click-through on any cell. Every total is exact for any aggregate, including averages.
Author with a live preview
Pick a type, pick a model, watch it draw itself.
A builder that explains itselfEvery field carries a plain example, a live preview redraws as you go, and a one-line summary reads back what you built. Data, display, actions, advanced and description tabs, a field quick-pick, drag-and-drop wells, conditional colour rules and a live record count, all in one panel.
Snapshots, alerts and a digest
Record each widget's headline value on a schedule to build history, raise a threshold alert that arms and re-arms cleanly, and email the whole board as a PDF to a chosen list on a cadence.
Optional bring-your-own-key AI
Plain-language read-outs of the board are computed offline, always, no key needed. Add your own OpenAI or Anthropic key and it rewrites those verified figures into a short narrative, calling your endpoint directly. Off by default, and never a vendor proxy.
Templates for six verticals
Start from a ready-made pack for Contacts, CRM and Sales, Accounting, Warehouse, Point of Sale or HR. Each stays inert until its base app is present, so the one module carries every vertical without depending on any of them.
Presentation mode and exports
Play the board as a full-screen slideshow one widget at a time, or export it as vector PDF, Excel, CSV, a PNG of any chart, or the full board spec as JSON.
A builder made for people
A tabbed builder with a live preview, drag-and-drop field wells, conditional colour rules, per-widget date ranges, sort and limit, and a full-text search over the model's fields. Delete asks first; discard reverts.
Accessible, right-to-left, translated
A screen-reader data table and keyboard drill sit behind every chart, the layout mirrors cleanly in right-to-left locales, and the interface ships with translations across nineteen languages.
Show it on the big screen
Press Play and the board presents itself.
A real slideshow, and a kioskSpotlight each widget in turn with play, pause and manual steps, or leave it auto-rotating on a wall display. It opens over whatever you were doing and closes right back to it.
Built right
Fast, safe and self-contained by design.
Grouped in the database
Aggregation is pushed to the database with bounded grouped reads, never a full recordset loaded into Python and folded in a loop. A board over a large ledger stays quick, and no single read can run unbounded.
Record-rule and company safe
Every figure is aggregated as the person viewing it, so record rules and multi-company scope always apply. There is no bypass switch, and each dashboard can be scoped to its own owner, groups or shared users.
Original OWL and SVG, no CDN
The grid, the charts and the map are all built from scratch, with no third-party charting bundle and nothing loaded from a content delivery network. It depends only on the web framework, so it installs everywhere.
Everything included
Free. No editions, no add-ons, no paid dependencies.
Honest boundaries
What it does, and what it does not.
The optional AI is a rewrite layer over figures the board already computed. It does not generate or run SQL, and it never sends your records, credentials or database name anywhere; it needs your own model key to do anything at all, and stays off until you add one.
The file source reads CSV and Excel columns for charting; it is not a two-way sync back to your files. Reading Excel needs the openpyxl library on your server, while CSV needs nothing extra.
The template packs target Sales, CRM, Accounting, Warehouse, Point of Sale and HR models by name and stay inert until the matching Odoo app is installed. This module itself depends only on the web framework.
One codebase, four releases
Runs on Odoo 16, 17, 18 and 19 Community.
Free, with no paid dependencies to pull in behind it. Install it, open the Dashboards menu, and a live welcome board is already waiting.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 11666 |
| Technical Name |
eh_board |
| License | OPL-1 |
| Website | https://www.erpheritage.com.au/ |
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