POWER BI INTEGRATION
Connect Power BI to Odoo
Bring the useful data from Odoo into one clear Power BI model. Celsius BI builds the connection, checks the definitions and delivers a dashboard your team can actually use.

WHAT THE API CAN PROVIDE
Useful data, with a clear definition.
The public API can expose business data from Odoo, provided your account and permissions allow it. We do not copy everything blindly. We select the fields needed for decisions and retain technical keys so figures can be traced back.
The exact coverage is confirmed during an inventory. That prevents a dashboard promising data your edition, configuration or role does not make available.
Relationships, sales and invoicing
Depending on installed apps, contacts, quotations, sales orders, invoices and their lines can be available.
Products and inventory
Product records and inventory movements can be exposed when those modules and fields are active in your environment.
Projects and time
When project and timesheet modules are used, projects, tasks and time entries can become part of the model.
Custom fields and processes
Odoo environments are often customised. Custom fields may be relevant too, but must be inventoried for each database.
FOR AN SME
Dashboards that answer everyday questions.
Useful reporting starts with a decision, not a chart. Together we define which question the owner, commercial team or operations team needs answered and which source fields support it.
Depending on how you use Odoo, a Power BI dashboard could cover:
- Revenue and order value by period, customer or product
- Sales progression from quotation to order and invoice
- Inventory development and availability where supported by the inventory module
- Project progress, time spent and remaining work
- Lead time from order through delivery to invoice
We define every KPI, including filters, dates and exceptions. This keeps a monthly total in the management report equal to the detail behind it.
HOW CELSIUS BI BUILDS IT
Not a loose export, but a maintainable data flow.
We retrieve data through the available API, store it in a controlled data layer and transform it into a model for Power BI. Checks catch missing pages, changed fields and unexpected totals before they become management information.
This combines data engineering with dashboarding. Our approach stays practical: start with a clear question, show working results early and document what goes live.
Reliable extraction
Authentication, pagination and refresh logic are handled outside the report. Power BI receives prepared tables instead of repeatedly solving the API connection itself.
One consistent model
Technical records become understandable dimensions and facts. Dates, statuses and relationships are normalised so measures remain reusable.
Reporting with context
The dashboard includes definitions, sensible filters and drill-downs. Users can move from a headline KPI to the underlying records without competing spreadsheets.
WHAT IT TAKES
From introduction to handover in five clear steps.
The scope depends on your questions and the condition of the source data. The sequence stays recognisable.
- 01
Introduction
We discuss decisions, current reports, users and pain points. The result is a limited first scope with clear success criteria.
- 02
API access
You arrange an account or app with the required read permissions. We verify authentication, available objects and practical limits without requesting broader access than needed.
- 03
Data model
We retrieve sample and historical data, map relationships and define measures. Reconciliation with Odoo is part of this step.
- 04
Dashboard
We build the first useful pages, review them with real users and refine navigation, filters and explanations.
- 05
Handover
Refresh, monitoring, definitions and ownership are documented. Your team receives an explanation and agreements for maintenance and future changes.
COMMON PITFALLS
The connection is only as good as its controls.
Odoo is not a fixed standard database: apps, versions, permissions and custom fields differ by organisation. External API access is only available with an Odoo Custom plan, not One App Free or Standard. Odoo is phasing out older RPC integrations, so new work should use the current API available for your version. We document field choices and test changes after upgrades.
Historical data deserves a separate decision. Some APIs mainly expose current state, while a useful trend requires snapshots or retained changes. We test totals against the source and record known exclusions. If a field is unreliable, we say so rather than hiding the issue in a visual.
Maintenance is part of the design too. API keys can expire, permissions can change and a supplier can alter fields or versions. We therefore document which checks run with each refresh, who receives an alert and how recovery works. We also make a deliberate choice between full and incremental refreshes. This limits load on the source and allows a failed run to catch up without retrieving all history again. Finally, we test recognisable periods and exceptions: a credit invoice, deleted record, empty value or changed status. Those cases determine whether users trust the dashboard when everyday practice differs from the ideal process.
PRACTICAL QUESTIONS
Clear answers about
Power BI and Odoo.
Does this work with every Odoo plan?
No. Odoo documents external API access for the Custom plan, not One App Free or Standard. We check this before designing the integration.
Which data from Odoo can be used?
That depends on the API, your subscription, enabled modules and granted permissions. We start with a field inventory and retrieve only what the agreed dashboard needs.
Does Power BI connect directly to Odoo?
For a quick test that may be possible, but a maintained data layer is usually safer. It handles pagination, history, checks and refresh failures before data reaches Power BI.
How often can the dashboard refresh?
We choose a schedule that fits the business need and the API limits. Not every KPI needs live data; a controlled daily or intraday refresh is often more reliable.
Who owns the model and dashboard?
We document the data flow, definitions and refresh process and agree the handover. You know what is running and what is needed to maintain or extend it.
A GOOD CONVERSATION IS THE FIRST STEP.
Where are you
getting stuck?
Tell me which insights you need and how you currently use Odoo. We will quickly establish what is feasible and what a sensible first step looks like.

