# Odoo ERP

Connecting Odoo gives Voice Logica a synced copy of your Odoo customers, products, invoices and open balances. From that data you can look up a customer by phone or name, read balances and aged debt, search products, and build an outbound campaign that calls customers who owe money. The connection uses Odoo's JSON-RPC API with an API key.

Open **Integrations - Catalogue - Odoo ERP - Connect**. One connection is shared by the whole company.

  <ShotPlaceholder
    src="/assets/integrations/odoo.png"
    name="odoo-connect"
    alt="Connect Odoo ERP dialog with Odoo URL, Database, Username and API key"
    capture="Connect Odoo ERP dialog."
  />

> **Note:** The **Odoo ERP** card under the agent's **Tools & Workflows** is not available yet, so the agent cannot use Odoo on its own during a call. Today the connection is used through [Claude and ChatGPT](https://docs.voicelogica.ai/integrations/claude-chatgpt/) (customer, balance and product lookups, and the balance-reminder campaign) and in contact search in the Voice Logica mobile app.
## What you need before you start

- Your Odoo address (Odoo Online or your own server) and the database name. On Odoo Online the database is often the same as the subdomain.
- A dedicated Odoo user for Voice Logica, with an API key created in Odoo under **Preferences - Account Security - New API Key**. Use the API key, not the user's password.
- The **Sales** app installed on that database. Voice Logica relies on it to tell customers apart from other contacts.
- Odoo reachable from the internet over HTTP or HTTPS. Tunnel mode is not offered for this integration.

## What you enter

- **Odoo URL** (required) — The root address of your Odoo, without a trailing slash.
- **Database** (required) — The Odoo database name.
- **Username (login)** (required) — The login of the dedicated Odoo user, usually an email address.
- **API key** (required) — The key you created for that user.

Under **Advanced settings**, all optional:

- **Odoo company id** — Only for multi-company databases: the numeric id of the company to read from.
- **Default country code** — `30` — Used to match phone numbers stored in Odoo to callers.
- **Allow self-signed TLS certificate** — Turn on only for an on-prem server with its own certificate.

## First setup

1. **In Odoo**, open the dedicated user's **Preferences - Account Security** and create a **New API Key**. Copy it; Odoo shows it once.

2. **Integrations - Catalogue - Odoo ERP - Connect**

   Enter the URL, database, login and API key.

3. **Test connection**

   Voice Logica signs in to Odoo and checks that the Sales app is installed.

4. **Connect**

   The connection is saved and the first sync of customers, products, invoices and balances runs. After that, Odoo is re-synced daily and balances are refreshed every night.

5. **Prove it**

   In Claude or ChatGPT connected to Voice Logica, ask for the balance of one of your Odoo customers by name. You should get the amount Odoo shows for that customer.

## What the connection can do

| Job | What is available |
|---|---|
| Know who a customer is | Find a customer by phone or by name; link a phone number to a customer |
| Account | Open balance; aged balance in 1-30, 31-60, 61-90 and 90+ day buckets |
| Products | Search products by name, code or barcode |
| Follow-up | Create an outbound campaign that calls customers above a balance or aging threshold, with name and balance passed to the agent |

All of these are read-only towards Odoo. Nothing is written back.

## Troubleshooting

**Odoo rejected the credentials**

The database name, login or API key is wrong. Check the database name exactly as Odoo shows it, use the user's login (not the display name), and paste the API key rather than the password. Create a new key if you are not sure the old one is still valid.

**Connected, but the sale module is not installed**

Install **Sales** (or **Sale Management**) from Odoo Apps on that database, then connect again. Without it Voice Logica cannot identify which contacts are customers.

**Odoo JSON-RPC HTTP error or no response**

The Odoo URL is wrong or not reachable from the internet. Use the root address only, for example the address you open Odoo with in the browser, without a path. For an on-prem server with its own certificate, turn on **Allow self-signed TLS certificate**.

## Next Steps

[Get an integration working](https://docs.voicelogica.ai/integrations/) - company connection, then the agent tool.  
[Claude and ChatGPT](https://docs.voicelogica.ai/integrations/claude-chatgpt/) - use the Odoo connection from your AI assistant.  
[SAP](https://docs.voicelogica.ai/integrations/erp/sap/) · [Soft1](https://docs.voicelogica.ai/integrations/erp/soft1/) - ERP connections with a phone agent tool.
