| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 484 |
| Technical Name |
hdk_power_bi_connector |
| License | OPL-1 |
| Website | https://www.hamdek.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 484 |
| Technical Name |
hdk_power_bi_connector |
| License | OPL-1 |
| Website | https://www.hamdek.com |
Hamdek Power BI Connector
Define Odoo models and fields, apply domain and date filters, and export data as XLSX for Microsoft Power BI. Generate files on demand or on a schedule; Power BI pulls the file via a secret-code–protected URL.
Connect Odoo to Power BI
This module lets you configure BI Data connectors in Odoo (Settings → Technical → Power BI Connector). For each connector you choose a model, select fields, set optional domain and date filters, then Generate XLSX. Power BI (or any client) can request the file via /web/binary/get_xlsx using the connector’s secret code.
Model & Fields
Pick any Odoo model (e.g. sale.order, res.partner) and the fields that become columns in the Excel export.
Domain & Date Filters
Restrict data with domain expressions and predefined date ranges (today, this week/month, last N days, etc.).
Scheduled Refresh
Each connector can have a cron job to refresh the XLSX at a configurable interval (minutes, hours, days, weeks, months).
Key Features
Generate XLSX
One-click Generate XLSX builds the Excel file from the selected model, fields, domain, and date filter. File is stored on the connector record.
Secret Code Access
Generate a Secret Code per connector. Power BI sends this code in the request to /web/binary/get_xlsx to download the current file.
Requires base & mail
Depends on base and mail. For menu access, enable Developer mode (Settings → Technical → Power BI Connector → BI Data).
How to Get Started
- Install Hamdek Power BI Connector and enable Developer mode if needed.
- Go to Settings → Technical → Power BI Connector → BI Data and create a new connector.
- Select a Model, add at least one field in the Model Fields tab, then click Generate XLSX.
- Click Generate Secret Code and use this code in Power BI when requesting the file from /web/binary/get_xlsx.
- Optionally set Schedule Action (interval and active) to refresh the file automatically.
How to Get Data in Power BI (or other BI) via URL
Odoo does not upload data to Power BI. Instead, Power BI (or any BI tool) calls your Odoo URL and downloads the XLSX when it refreshes. Use the endpoint and secret code from your BI Data connector.
Endpoint
POST request to (replace with your Odoo base URL):
https://YOUR_ODOO_URL/web/binary/get_xlsx
Request body
Send the connector’s Secret Code in the body as JSON:
{"data": ["YOUR_SECRET_CODE"]}
Power BI Desktop (Get data via Python)
- Get data → Other → Python script → Connect.
- Install Python with
pip install requests pandas openpyxland set the Python path in Power BI (File → Options → Python scripting). - Paste the script below, replace
YOUR_ODOO_URLandYOUR_SECRET_CODE, then click OK. Power BI will load the table.
import io, requests, pandas as pd
url = "https://YOUR_ODOO_URL/web/binary/get_xlsx"
r = requests.post(url, json={"data": ["YOUR_SECRET_CODE"]})
r.raise_for_status()
dataset = pd.read_excel(io.BytesIO(r.content))
Test with curl (Linux / terminal)
Download the XLSX to a file to verify the URL and secret code:
curl -X POST "https://YOUR_ODOO_URL/web/binary/get_xlsx" \
-H "Content-Type: application/json" \
-d '{"data": ["YOUR_SECRET_CODE"]}' \
-o export.xlsx
Workflow
Follow the steps below to use the module.
BI Data list
In Settings → Technical → Power BI Connector → BI Data you see the list of connectors (name, model, file updated on). Create or open a record to configure model, fields, domain, and date filters.
Connector form – Model, Fields, Generate XLSX
On the connector form, select the model, set domain and date filter if needed, then choose fields in the Model Fields tab. Click Generate XLSX to create or update the file. Use Generate Secret Code for the download URL.
Schedule Action
The Schedule Action tab shows the cron job for this connector. Configure Execute Every (interval) and Active to refresh the XLSX automatically.
Support & Contact
sales@hamdek.com
www.hamdek.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