Creating the Data Source Name
This section describes how to edit the DSN configuration and then authenticate and connect to Odoo APIs.
DSN Configuration
You can use the Microsoft ODBC Data Source Administrator to edit the DSN configuration. Note that the installation process creates a both a user DSN and a system DSN, as described in Installing the Connector.
Note: The connector stores connection information in the Windows registry. To ensure that the connector can write to the registry, either run Power BI as an administrator or use a User DSN for your connection instead of a System DSN.
User DSN
Complete the following steps to edit the DSN configuration:
- Select Start > Search, and enter ODBC Data Sources in the Search box.
- Choose the version of the ODBC Administrator that corresponds to the bitness of your Power BI Desktop installation (32-bit or 64-bit).
- Select the system data source and click Configure.
- Edit the information on the Connection tab and click OK.
System DSN
Configure the system DSN the same way as the user DSN, except you will need to switch to the System DSN tab before performing Step 3.
Connecting to Odoo
To connect, set the URL to your Odoo instance URL, User and APIToken to your user credentials, and Database to your Odoo database name.
If you are not using an API token (available only in Odoo 14 and later), you can enter your password directly into the APIToken field instead.
Quick Start: Connecting to Odoo Online
The steps below are a typical setup for connecting to Odoo Online:
- Set OdooEdition to Online.
- Set URL to the full URL of your Odoo instance, such as https://mycompany.odoo.com.
- Set User to your Odoo login (email or username).
- Set APIToken to your API key or password.
- Set Database to your database name (optional for Odoo Online, required for On-Premises).
Note: For On-Premises Odoo, the steps are similar, but you must always provide Database and ensure your server is accessible to the connector. For Odoo Online, the database may be detected automatically, but setting it is recommended.
Odoo Edition
The OdooEdition property determines how the connection is established. Odoo offers two different types of environments, and this setting tells the connector which one you are using:
- Online: For Odoo's cloud-hosted SaaS version at odoo.com
- OnPrem: For Odoo installations that you or your company host on your own servers
If you're unsure, use Online if you access Odoo from a web address like yourcompany.odoo.com. Use OnPrem if your organization manages its own Odoo server (often accessed via a custom domain or local network).
Database
Odoo supports multiple databases under the same server. You must provide the name of the specific database you want to connect to.
- For Odoo Online: The database name is often included in the web address, and the connector may be able to detect it automatically if Database is left blank. However, in some cases, the database is not visible in the URL and must be specified manually. Setting this value is always recommended for reliability.
- For Odoo On-Premises: You must set the Database property. The connector cannot detect the database automatically in this case.
How to Find Your Database Name (Odoo Online)
- Log into your Odoo Online account
- Click your profile icon in the top-right corner and choose My Databases
- Your database name will be listed in the table
Alternatively, you can often see the database name in the subdomain of your URL. If your address is https://mycompany.odoo.com, your database name is likely mycompany.
Access Rights
To discover available models (tables) in Odoo, the connector checks the internal ir.model.access table, which defines what models a user is allowed to see.
By default, only Odoo administrators have permission to read this table. To give a non-admin user access, create a new group:
- Log in as an administrator and enable developer mode in Odoo settings.
- Open the Groups page (under the Users drop-down) and create a new group.
- Set the Application to Administration and name the group "Service Access".
- Add the users who need access under the Users tab.
- In the Access Rights tab, add a permission for ir.model.access (or Model Access), check Read, and name it Inspect Models.
If you're unable to grant access in this way, set the CheckPermissions property to false. This disables permission checking and allows the connector to list all available models, even if the user doesn't have explicit access.
Troubleshooting
If you encounter errors like missing database or authentication failed, try the following:
- Double-check the value of Database, especially for On-Prem environments.
- Make sure your user credentials are valid by logging into Odoo directly.
- If using Odoo Online, try leaving Database blank and allow auto-detection.
- Ensure the correct OdooEdition is set (Online vs OnPrem).