ProductHow it worksSecurityPricingFAQSign inStart free trial
VALUE Built for Odoo 13 to 20 · Community and Enterprise

Stop waiting on reports. Start deciding today.

OIntelligence turns Odoo into the place your team gets its numbers — no export, no ticket to IT, no two-day wait. Every figure is computed live, as the person asking, so what used to take days now takes minutes.

Nothing is charged until the trial ends. Cancel any time before.

View this dashboard as
Dashboards Dymaxel US · Dymaxel UAELM
Sales overview / This year
Jan 1 – Dec 31, 2026 Sales team: All Cached · 4 ms
Revenue sale.report
$2,418,900
▲ 18.2% vs last year
Confirmed orders
1,284
▲ 9.6%
Average order
$1,884
▲ 7.8%
Unpaid invoices
$186,300
▼ 41 overdue
Revenue by month Click a bar to open the orders
JanFebMarAprMayJunJulAugSepOctNovDec
Top salespeople
SalespersonRevenue
All teams visible under Layla's rights
Same dashboard, new viewerRecomputed with sale.order record rules for Omar.
0 rows

of your business data are sent to our service. Ever.

3–5 ms

to serve a cached widget, whatever the data volume.

Odoo 13 to 20

Community and Enterprise, self-hosted, Docker or Odoo.sh.

14 days

free trial with every feature. Nothing charged until it ends.

Why it matters

Most Odoo dashboards
skip your security.

Raw SQL dashboards read tables directly, so a salesperson who may only see their own orders can see everyone's totals through a shared chart. OIntelligence reads through Odoo's ORM, as the viewer, every time.

SQL over raw tables

Fast to build, wrong for half your team

  • Record rules and multi-company are bypassed, so one dashboard can't safely serve every role.
  • You end up cloning dashboards per team and filtering by hand.
  • Restricted users still scan the whole table, so their widgets are slower.
-- what a restricted rep's widget runs SELECT date_trunc('month', date_order), SUM(amount_total) FROM sale_order GROUP BY 1; -- 1,000,000 lines, all of them
OIntelligence

Computed as the viewer, inside Odoo

  • Every read goes through the ORM with the viewer's record rules and allowed companies.
  • Share one dashboard with the whole company. Each person sees the totals they're allowed to see.
  • The rule's own filter makes restricted widgets fast: 44 ms instead of 677 ms in our test.
# the same widget, the way the module reads it env['sale.report'].with_user(viewer) .formatted_read_group(domain, ['date:month'], ['price_total:sum']) # 16,085 lines this rep may read # Odoo 19 API shown
Product tour

From an Odoo model
to a live dashboard.

Pick a model, choose fields with Odoo's own field and domain editors, drop widgets on a 12-column canvas and share it. No SQL, no exports, no developer tickets.

Datasets without a line of code

Choose any Odoo model you can read and tick the fields you need, including related paths like the customer's country. Filters use Odoo's own domain editor, so they behave exactly like the rest of Odoo.

  • Odoo's field selector and domain editor, not a look-alike
  • Company-currency measures from Odoo's reporting models
  • Datasets on models a viewer can't read show "access restricted", not an error
Dataset · Sales analysis
Order datedateDate
Salespersonuser_idMany2one
Customer › Countrypartner_id.country_idMany2one
Totalprice_totalMonetary
MarginmarginMonetary
Domain
Status is in Sales Order, DoneCompany is in allowed companiesTeam is set

See it working

A Sales overview dashboard in Odoo: revenue, order count and average order tiles, a bar chart of revenue by month, a bar chart of the top customers, and a table of recent confirmed orders.
A dashboard in Odoo, from the Sales overview template: tiles, charts and a table over your own sales data.
The same Sales overview dashboard opened by a salesperson: fewer orders and lower revenue than the administrator sees, and only their own customers in the charts and table.
The same dashboard for a salesperson, who sees less than the administrator: each person gets totals over the records they may read.
The dashboard builder inside Odoo, editing the Revenue by month widget with its data settings and a preview.
The builder, inside Odoo: pick a dataset, choose a widget and preview it.

What changes once a team is live

80%

less time spent chasing ad-hoc exports, reported by teams partway through their trial.

<5 min

from opening the builder to a dashboard the whole team can see.

0

IT tickets for “can you pull this for me” once rollout is done.

100%

of your rows computed and kept on your own server, every single read.

Figures reflect patterns reported during the 14-day trial by early adopters, not a guarantee for every database.

Your data stays home

We build the dashboards.
Odoo keeps the data.

Queries run in your database and results stay there, even while you design in the builder. Our service holds your licence and dashboard definitions, and nothing else. Read exactly what we receive.

Your Odoo server

Everything that matters

Records, totals and record names
Users, e-mails and companies
Every query and every result
Record rules, applied on every read
OIntelligence service

Only what the builder needs

Licence key and instance token
Dashboard definitions
Signed plans the module verifies
Odoo version and installed module names
A plan can't widen access

The module only runs query plans our service signed, and a plan can never show anyone more than they could already read in Odoo.

Keeps working if we're offline

The module checks in once a day. If our service can't be reached, dashboards keep working for a grace period of about four days.

No card data with us

Paddle is the merchant of record. Card details, invoices and tax records stay with Paddle.

Measured, not promised

Security that makes
dashboards faster.

We benchmarked one widget on 1,000,000 sales order lines as two real, non-admin users. Reading through record rules lets PostgreSQL use the rule's own index, so a restricted rep's widget is quicker, not slower.

15×

faster for a restricted rep than SQL over the whole table (44 ms vs 677 ms).

80–200×

faster when a manager-scale widget is served from the cache.

Restricted rep · revenue by month

1M order lines · warm median of 5 runs
SQL over all rows
677 ms
OIntelligence, live
44 ms

Sales manager · same widget

~192,000 visible lines
Computed live
414 ms
From cache
3–5 ms

Test database on our own hardware. Your numbers depend on your server, data and rules.

What the value looks like day to day

Three roles, the same payoff.

Composite quotes built from the outcomes trial teams describe most often, not individual customer data.

Sales manager
“I used to wait two days for IT to rebuild the regional view every Monday. Now I open Odoo and it's already there, filtered to what I'm allowed to see.”
Before: 2 days per requestAfter: open and read, no request filed
Finance lead
“Closing the month used to mean reconciling five exported spreadsheets. The dashboard and the ledger read the same numbers now, so that step is just gone.”
Before: ~3 hrs reconciling exportsAfter: 0 — one source of truth
Odoo administrator
“Every chart request used to land on my desk as a dev ticket. Builders use the same field picker they already know from Odoo, so most of that queue disappeared.”
Before: ~6 dashboard tickets/monthAfter: 0–1, mostly new data sources
Getting started

Subscribe today, dashboards this afternoon.

Sign-up, checkout, your build and your licence are all self-serve. No sales call, no waiting for us.

Start your trial

Sign up with your e-mail and start the 14-day trial at checkout.

/signup

Register your database

Tell us where Odoo runs. We prepare a build of the module just for you.

self-hosted · Odoo.sh

Install the module

Download it, or add it to your Odoo.sh project as a private git submodule.

dxl_ointelligence_saas

Activate and build

Paste your licence key in Settings, install a template and share it.

Settings › OIntelligence
Odoo 13 to 20 CommunityOdoo 13 to 20 EnterpriseSelf-hostedDockerOdoo.shOdoo Online
Pricing

One plan.
Everything included.

Priced per production database, not per user, so the whole company can view dashboards without you counting seats. Test databases are included.

Pro

$49USD / month

per production database

  • Unlimited dashboards, widgets and viewers
  • All starter templates
  • 2 test databases with each production database
  • Community and Enterprise, self-hosted, Docker or Odoo.sh
  • New versions of the module while you're subscribed

Prices exclude tax. Paddle adds any VAT or sales tax at checkout.

How the 14-day trial works

  1. Day
    1
    Start with every feature

    Enter payment details at checkout. Nothing is charged today.

  2. Day
    2–13
    Build and share

    Install templates, build your own dashboards and invite your team.

  3. Day
    14
    Decide

    Keep going and your subscription starts. Cancel before then and you pay nothing.

Need more than one production database? Add another from your account at any time. Each comes with its own 2 test databases.
FAQ

Questions, answered.

Will a salesperson see their colleagues' numbers?

Only if Odoo already lets them read those records. Every figure is computed as the viewing user, with their record rules and companies.

Does my data leave my server?

No. Queries run in your Odoo and results stay there. The Security page lists exactly what the module sends.

Which Odoo versions are supported?

Odoo 13 to 20, Community and Enterprise, self-hosted, Docker or Odoo.sh. Odoo Online is not supported because it doesn't allow third-party modules.

What happens if your service is down?

Dashboards keep working for a grace period of about four days after the last successful daily check-in.

Is it on the Odoo Apps Store?

No. Each customer receives their own build directly from us, by download or through a private git repository for Odoo.sh.

See all questions

Give every person in Odoo the right numbers.

14 days free with every feature. Your data never leaves your server.