Odoo Dashboards: Building Real-Time Visibility
How to create Odoo dashboards without code. Compare built-in views, Spreadsheet Dashboards, and BI tools. Step-by-step setup for Community and Enterprise editions.
- Odoo dashboards exist in three types: built-in views (free, single-module), Spreadsheet Dashboards (Enterprise no-code, multi-module), and third-party BI tools (advanced, cross-system).
- Community Edition uses graph views and pivot tables instead of dashboards; Enterprise 17+ offers Spreadsheet Dashboards, a no-code way to combine data from multiple modules.
- Spreadsheet Dashboards take 15-30 minutes to set up and require no SQL or JavaScript knowledge, making them the modern standard for Odoo analytics.
- Third-party BI tools like Metabase cost $500-$5,000/year and work best for cross-system analytics or advanced forecasting; skip them if you need only Odoo data.
- Dashboard performance depends on your hosting: managed Odoo keeps dashboards under 5 seconds; self-hosted often means slowdowns under peak load.
An Odoo dashboard shows you real-time data from your ERP modules: sales pipelines, inventory levels, accounting summaries. They exist in three flavors: built-in views (free, basic), Spreadsheet Dashboards (Enterprise, no-code), and third-party BI tools (advanced analytics). Most teams start with built-in dashboards, then upgrade if they need cross-system analytics.
What Is an Odoo Dashboard? (Why They Matter)
An Odoo dashboard is a real-time KPI tracker for a single app (Sales, Inventory, Accounting) or custom model. It displays tiles, charts, and filters that your team clicks daily. Unlike a report, a dashboard is interactive--drill down to see details or change filters without leaving the page.
The difference matters. A report is a snapshot: you run it, download it, it's static. A dashboard is a window into live data. Your sales manager opens the CRM dashboard each morning, filters by region, and sees which deals are stalled. Refreshes are automatic. No waiting for batch reports.
Odoo dashboards pull data from a single module or custom model, not across all modules. If you want a unified view--sales plus inventory plus accounting on one screen--you need either Spreadsheet Dashboards (Enterprise) or a third-party BI tool like Metabase. That distinction is worth understanding upfront, because many teams assume "Odoo dashboards equals total company view" and then find built-in dashboards too narrow.
The value is in daily use. Teams that treat dashboards as nice-to-have extras rarely see ROI. Teams that embed them in workflows--your sales manager checking the pipeline dashboard before calls, your inventory lead monitoring stock levels--see faster decision-making. A dashboard eliminates the "can someone pull a report?" email chain.
Three Types of Odoo Dashboards (and When to Use Each)
Odoo offers three paths to dashboards, and the right one depends on your edition, team skill, and analytics depth.
Built-in App Dashboards are the default. Every Odoo module (Sales, CRM, Inventory, Accounting) comes with a dashboard tile area. You can add custom fields, charts, and gauges without coding. Community Edition and Enterprise Edition both get this. Cost: zero extra. Time to value: 30 minutes.
The limitation: built-in dashboards show data from one module only. Your CRM dashboard cannot automatically pull inventory stock levels. You can link to other modules, but it is clunky. Built-in dashboards are also constrained in design--no custom styling, limited chart types, no AI-driven insights.
Spreadsheet Dashboards (new in Odoo 17 Enterprise) solve the single-module problem. You create a dashboard by combining multiple pivot tables from different modules into one Spreadsheet view. No code. No XML. You select the data, click "Create Spreadsheet Dashboard," and you get a drag-and-drop canvas where you arrange charts, filters, and KPI tiles. This is the modern Odoo approach for Enterprise teams and is simpler than custom development.
Spreadsheet Dashboards live in the Spreadsheet app (also Enterprise-only) and sync with your data in real time. You can share dashboards with specific users or groups. Mobile access works. The downside: Enterprise-only, and requires Odoo 17 or later. If you are on Odoo 14 or 16, not an option.
Third-Party BI Tools (Metabase, Looker, Dashboard Ninja, Sisense) connect directly to your Odoo database and build dashboards outside Odoo. Pros: unlimited chart types, cross-system analytics (Odoo plus Shopify plus your CRM), AI-driven insights, no Odoo version lock-in. Cons: extra cost ($500-$5,000/year depending on tool), another tool to manage, separate login for users, data sync latency (usually near real-time, but not instant).
| Feature | Built-in Dashboards | Spreadsheet Dashboards | Third-Party BI (Metabase) |
|---|---|---|---|
| Cost | Free | Included (Enterprise) | $500-$5,000/year |
| Multi-module | No | Yes | Yes |
| No-code setup | Yes | Yes | Partial (queries need SQL) |
| Mobile | Limited | Yes | Yes |
| AI insights | No | No | Yes (some tools) |
| Learning curve | Low | Low | Medium-High |
| Best for | Single-module tracking (CRM, Inventory) | Multi-module KPI views | Advanced forecasting, cross-system analytics |
Decision rule: Start with built-in dashboards if you are tracking one module (sales pipeline, inventory stock). Upgrade to Spreadsheet Dashboards if you need to combine data from 2+ modules and you are on Enterprise 17+. Move to a BI tool if you need AI-driven insights, cross-system analytics, or you are managing hundreds of dashboards across departments.
Community Edition: Graph Views and Pivot Tables
Community Edition does not have built-in dashboards in the traditional sense. Instead, you use graph views and pivot tables, which are chart types available in the list view. They do not update quite as fast as Enterprise dashboards, but they are close enough for most workflows.
Here is how to create a graph view in the Sales module (same process works for any module). Open the Sales app and navigate to Orders or Opportunities (any list view). Click the dropdown next to the search bar that says "List." Select "Graph" from the menu. In the graph options, select your X-axis (e.g., Stage, Date) and Y-axis (e.g., Amount, Count). Choose your chart type: Bar, Line, or Pie. Save the view by clicking the star icon and naming it (e.g., "Pipeline by Stage"). The graph view is now pinned to your sidebar, and team members can access it directly.
That is a functional dashboard in under five minutes. Your sales manager can open the Pipeline by Stage graph, see which deals are in each stage, and drill into a bar to see individual opportunities.
Pivot tables are similar. Open any list view, click the Graph dropdown, select "Pivot," and drag fields into Rows, Columns, and Values. You get a cross-tab view (e.g., sales by region and quarter) that updates live as records change.
The limitation is that Community Edition graph views do not persist filters the way Spreadsheet Dashboards do. If you close the view and reopen it, your filters reset. For a 5-person team, not a blocker. For a sales org with 50+ reps, this becomes painful. Community Edition dashboards also lack the visual polish of Enterprise--no tiles, no gauges, no mini charts on a single screen. You are clicking between graph views and list views. Still valuable, but not the "all-in-one dashboard" experience.
If you are on Community Edition and need a unified dashboard across modules, your best option is a third-party BI tool. Many BI platforms (Metabase, Redash) offer Community licenses or free tiers that make the cost accessible for smaller teams.
Enterprise Edition: Spreadsheet Dashboards (No-Code)
Enterprise Edition on Odoo 17 and later includes Spreadsheet Dashboards, which is the modern path to data visualization. Instead of clicking between graph views, you build a single dashboard canvas with multiple charts, filters, and KPI tiles.
Here is how to create a Spreadsheet Dashboard. Open the Spreadsheet app in Enterprise (or navigate to a pivot table in your module--CRM, Sales, Inventory). Once you have a pivot table set up, click the "Create Spreadsheet Dashboard" button. A new dashboard opens in the Spreadsheet editor. Your pivot table is now a chart on the canvas. Drag additional pivot tables from the list on the left into the dashboard. Arrange them by dragging and resizing. Add filters at the top (by salesman, date range, region, etc.). Add KPI tiles (miniature metric boxes) by selecting a table and clicking "Add Tile." Save and share the dashboard with specific users or groups.
That entire process takes 15-30 minutes for a basic multi-module dashboard. No XML, no JavaScript, no developer needed. Spreadsheet Dashboards also live in a shareable workspace, so your whole team sees the same version. When you update a filter or add a chart, everyone sees it immediately. Offline sync is not supported (the Spreadsheet app requires a connection), but for most teams, that is not a constraint.
The trade-off is that Spreadsheet Dashboards are limited to Odoo data. You cannot connect a Metabase chart to a Spreadsheet Dashboard to get external data (Shopify, Google Analytics) on the same screen. For that, stick with third-party BI.
Enterprise Edition also has the benefit of reliability. When you host Odoo on a managed platform like Opsily, you get uptime guarantees and support for troubleshooting dashboard performance. Self-hosting Odoo often means dashboard slowdowns during peak usage because your server cannot handle the query load. If your team relies on dashboards daily, managed Odoo hosting removes that risk and ensures your dashboards load in under 5 seconds.
Custom Dashboards for Developers
If Spreadsheet Dashboards and BI tools do not fit your needs, you can build fully custom dashboards using Odoo's client action framework. This requires JavaScript, XML, and ORM knowledge. You define a custom model, write a JavaScript component to fetch and render data, and deploy it as a module.
The short version is: it is a 2-4 day project for an intermediate developer. The payoff is total control over design and logic.
Most teams do not need custom dashboards. Spreadsheet Dashboards cover 90% of use cases. But if you are a larger organization with hundreds of daily dashboard users and you need bespoke logic (dynamic forecasting, complex drilldowns), custom development is sometimes worth the cost.
This is also the path if you are running Odoo on an older version (Odoo 14, 16) and you cannot upgrade to Spreadsheet Dashboards. In that case, custom dashboards might make sense as a bridge until you upgrade your Odoo instance.
Third-Party BI Tools: When and Why
Metabase, Looker, Dashboard Ninja, and Sisense all connect directly to your Odoo database. They sit outside your Odoo interface and pull data via SQL queries. When should you use one?
Use a BI tool if: You need cross-system analytics--your Odoo data plus Shopify sales plus Google Analytics on one dashboard. You want AI-driven insights (some modern BI tools offer AI-powered recommendations). You are managing dozens of dashboards across multiple departments and need advanced governance. Your team is already familiar with the BI tool (e.g., you use Looker for other data sources). Your Odoo instance is under heavy load and needs a separate analytics engine.
Skip a BI tool if: Your dashboards are single-module (CRM, Inventory, Sales only). You are on Odoo Enterprise 17+ (Spreadsheet Dashboards are simpler and cheaper). Your budget is under $2,000/year. Most BI tools cost $500-$5,000 annually, plus setup time. Your team lacks SQL knowledge. Metabase and others let you build dashboards via a UI, but some customization requires SQL.
The setup is straightforward: you create a read-only database user in your Odoo environment, point the BI tool to your Odoo database, and start building. Metabase can auto-detect Odoo tables and fields, which saves hours of schema mapping.
The downside is data latency. BI tools usually sync data every 5-15 minutes, not in real-time. For sales dashboards that change by the hour, that is fine. For inventory dashboards (stock is changing constantly), you may want instant updates, which makes Spreadsheet Dashboards better.
Cost is also real. Metabase runs $1,000/year for a self-hosted instance (you manage the server) or $300+/user/month for their cloud offering. For a 20-person company with light BI usage, Spreadsheet Dashboards are almost always cheaper.
Best Practices and Common Pitfalls
Start simple. A dashboard with 20 filters and 15 charts overwhelms users. Pick three KPIs per dashboard. If your sales team needs to track pipeline, deal age, and win rate, give them those three metrics. No more.
Assign owner access control. A dashboard showing salary information should only be visible to HR and finance leads. Use Odoo's user groups to restrict who sees which dashboards. Spreadsheet Dashboards and built-in dashboards both support role-based access.
Watch for performance. A dashboard with too many charts or a chart querying 100,000+ records will slow down. If a dashboard takes more than 5 seconds to load, split it into multiple dashboards or add time-period filters to reduce the data set.
Mobile first. Your inventory manager is on the warehouse floor on a mobile phone. If your dashboard does not fit a phone screen, it will not be used. Test all dashboards on mobile before rolling them out. Spreadsheet Dashboards handle mobile better than built-in dashboards.
Refresh your dashboards quarterly. As your business changes, dashboard metrics become stale. Your Q1 sales target is not useful in Q4. Review each dashboard with its owner every three months and update filters, metrics, or charts.
Avoid filter explosion. Filters are useful, but 10 cascading filters on one dashboard discourages use. Stick to 2-3 filters (date, department, status). If a user needs 10 filters, they probably need a report, not a dashboard.
Document your data. If a sales figure on your dashboard differs from the accounting system, that is confusing. Document which modules feed which dashboards and why numbers might differ (e.g., CRM records pending opportunities, Accounting shows invoiced sales).
Frequently Asked Questions
Can you create dashboards in Odoo Community Edition?
Yes, using graph views and pivot tables. Community Edition does not have built-in dashboard tiles, but you can create chart views in any list and save them. Spreadsheet Dashboards are Enterprise-only.
What is the difference between a dashboard and a report?
A dashboard is interactive, real-time, and focused on KPIs. A report is static, usually emailed, and often includes raw data. Dashboards are for daily use; reports are for compliance or archival.
Do Spreadsheet Dashboards work offline?
No. Spreadsheet Dashboards require an internet connection and an active Odoo session. If your team works offline, stick with built-in dashboards or third-party BI with offline sync.
Can I share dashboards with external users (customers, vendors)?
Enterprise dashboards can be shared with team members. Sharing with external users requires custom development or a third-party BI tool. Metabase, for example, supports public dashboard links.
Does creating a dashboard require coding?
No. Built-in dashboards and Spreadsheet Dashboards are no-code. Custom dashboards and some BI tool customization require SQL or JavaScript.
How do I integrate Metabase with Odoo?
Create a read-only database user in Odoo, provide Metabase with the connection details, and Metabase auto-discovers your tables. It takes 10-15 minutes to set up. Then you query Odoo data as you would any SQL database.
What is the performance impact of complex dashboards?
A dashboard with multiple charts querying large tables (100,000+ records) can slow your Odoo instance. Use time-period filters and indexed fields to keep query time under 5 seconds.
Is Dashboard Ninja better than Metabase for Odoo?
Dashboard Ninja is Odoo-native (lives inside Odoo). Metabase is external. If you want everything in Odoo, Dashboard Ninja is simpler. If you want multi-source analytics, Metabase wins. Both cost roughly the same.
The Bottom Line
Odoo dashboards are essential for teams that act on data daily. Built-in dashboards work for single-module tracking. Spreadsheet Dashboards work for multi-module views in Enterprise. Third-party BI tools work for advanced analytics and cross-system integration.
Start with what you have: built-in dashboards or graph views if you are on Community, Spreadsheet Dashboards if you are on Enterprise 17+. Upgrade to a BI tool only if you need features beyond Odoo. The wrong path wastes money and user adoption time.
A key insight many teams miss: dashboard reliability depends on hosting. If your Odoo instance runs on an underpowered server, dashboards slow down and users stop using them. Managed hosting ensures your dashboards load in under 5 seconds, even under peak load. For teams relying on daily dashboards, that is worth the cost. Explore Opsily's Odoo hosting options to ensure your dashboards stay fast.