How to connect to Odoo
This guide walks you through connecting your Odoo instance to Apideck through the Vault interface.
Odoo uses API key authentication with your instance subdomain. You'll need admin access to your Odoo account to generate an API key.
Prerequisites
- An active Odoo instance (Odoo 14+ with API access enabled)
- Admin access to your Odoo account
- Your Odoo instance subdomain (e.g.,
your-companyfromyour-company.odoo.com)
Step 1: Generate Your API Key
- Log in to your Odoo instance at
https://your-company.odoo.com - Navigate to your user profile: Click your avatar in the top-right corner, then select My Profile (or Preferences)
- Go to the Account Security tab
- Click "New API Key" under the API Keys section
- Enter a description for the key (e.g., "Apideck Integration")
- Copy the generated API key immediately -- it will only be shown once
Step 2: Find Your Database Name
Your database name is typically the same as your subdomain. You can verify it by:
- Going to
https://your-company.odoo.com/web/database/manager - The database name is listed there
For Odoo.sh instances, the database name matches the branch name (e.g., production).
Step 3: Connect in Apideck Vault
- Find the Odoo connector in the available integrations
- Enter your subdomain -- just the subdomain part (e.g.,
your-company, not the full URL) - Enter your username -- the email address you use to log in to Odoo
- Enter your API key -- the key you generated in Step 1
- Save your connection
Important Notes
-
API Key Security: Your Odoo API key provides full access to the Odoo API with your user's permissions. Keep it secure and never share it publicly.
-
User Permissions: The API key inherits the permissions of the user who created it. Ensure the user has access to the modules you need (Accounting, CRM, etc.).
-
Odoo Version: This integration supports Odoo 14 and later. Earlier versions may not support API key authentication.
-
Rate Limits: Odoo does not enforce strict rate limits, but excessive requests may be throttled by your hosting provider. Odoo.sh has infrastructure-level limits.
-
On-Premise Instances: If you're using an on-premise Odoo installation, ensure the XML-RPC endpoint is accessible from the internet and enter your custom domain as the subdomain.
FAQ
Why am I getting "Object doesn't exist" errors for some resources?
Odoo is modular -- each resource type requires a specific module to be installed. For example:
- Purchase Orders require the Purchase module (
purchase) - Locations require the Inventory module (
stock) - Expenses require the Expenses module (
hr_expense) - Departments require the Employees module (
hr)
Ask your Odoo administrator to install the required module via Apps in the Odoo menu. See the Application Owner Guide for the full list of modules and resources.
Core resources like Invoices, Bills, Customers, Suppliers, Payments, and Tax Rates only require the Invoicing module, which is installed by default on most Odoo instances.
Why are some fields empty or returning false?
Odoo returns false instead of null for empty fields. The Apideck integration converts these to null or omits them from the response. If a field you expect to be populated is empty, check that the data exists in Odoo directly.
Can I use this with Odoo Community Edition?
Yes. The integration uses Odoo's XML-RPC API, which is available in both Community and Enterprise editions. However, some modules (like account_accountant for bank feeds) are Enterprise-only.
What Odoo versions are supported?
Odoo 14 and later. API key authentication was introduced in Odoo 14. Earlier versions require password-based authentication, which is not supported by this integration.
Can I connect multiple Odoo companies?
Yes. If your Odoo instance has multiple companies, the integration accesses data based on the API user's default company. To switch companies, create separate connections with users assigned to different companies.