# Odoo

Open-source ERP and CRM platform for business management, including sales, accounting, inventory, and project management

- **Category:** crm
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 10
- **Triggers:** 0
- **Slug:** `ODOO`
- **Version:** 20260309_00

## Tools

### Odoo JSON-RPC Call

**Slug:** `ODOO_CALL_ODOO_JSONRPC`

JSON-RPC endpoint for Odoo external API calls. Provides the same functionality as XML-RPC but with JSON encoding. DEPRECATED in v19.0 and scheduled for removal in v20.0 (Fall 2026). Use JSON-2 API at POST /json/2/{model}/{method} instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `args` | array | No | Arguments to pass to the method. The structure depends on the service and method being called. For example, authenticate requires [db, login, password], execute_kw requires [db, uid, password, model, method, args, kwargs]. |
| `method` | string | Yes | The method to call on the service (e.g., 'version', 'authenticate', 'execute', 'execute_kw'). For 'common' service: version, authenticate, login. For 'object' service: execute, execute_kw. |
| `service` | string | Yes | The service to call (e.g., 'common', 'object', 'db'). Common services include 'common' for version/authentication and 'object' for model operations. |
| `database` | string | No | The database name to connect to. If not provided, defaults to 'openerp' for Odoo.com instances or attempts to extract from metadata. |
| `request_id` | integer | No | JSON-RPC request ID used to match responses with requests. Can be any integer. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Applicant Parsing Result

**Slug:** `ODOO_GET_APPLICANT_RESULT`

Tool to retrieve parsing results for a previously submitted resume/applicant document. Use when you need to check the status and get extracted fields (name, email, phone, mobile) from a resume that was previously submitted for parsing.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `version` | integer | No | API version number to use for the request |
| `account_token` | string | Yes | IAP (In-App Purchase) account token for authentication |
| `document_token` | string | Yes | Token received from the parse response that identifies the document to retrieve results for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Bank Statement Result

**Slug:** `ODOO_GET_BANK_STATEMENT_RESULT`

Tool to retrieve parsing results for a previously submitted bank statement. Returns extracted fields including balance_start, balance_end, date, and bank_statement_lines. Use when you need to check the status and get extracted data from a bank statement document using Odoo's Extract API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `version` | integer | Yes | API version number. Use 1 for current version. |
| `account_token` | string | Yes | IAP account token for authentication. |
| `document_token` | string | Yes | Token received from the bank statement parse submission response. Use this to retrieve parsing results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Expense Extraction Result

**Slug:** `ODOO_GET_EXPENSE_RESULT`

Retrieve parsing results for a previously submitted expense document. Returns extracted fields including description, country, date, total, and currency. Use this after submitting an expense document to get the OCR/extraction results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `version` | integer | Yes | API version number to use for the request |
| `account_token` | string | Yes | IAP account token for authentication and billing |
| `document_token` | string | Yes | Token identifying the document, returned from the parse/submit request |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Invoice Parsing Result

**Slug:** `ODOO_GET_INVOICE_RESULT`

Tool to retrieve parsing results for a previously submitted invoice from Odoo Extract API. Use when you need to check the status and get extracted data from an invoice. Poll this endpoint until the status field is 'success' - processing may take time depending on document complexity.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `version` | integer | Yes | API version number (must match the version used in the parse request) |
| `account_token` | string | Yes | IAP (In-App Purchase) account token used for the original parse request |
| `document_token` | string | Yes | Token returned from the invoice parse request. Used to identify the document being processed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Databases

**Slug:** `ODOO_LIST_DATABASES`

Tool to list all available Odoo databases on the server. Use when you need to see which databases are available on the Odoo instance.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Parse Applicant Resume

**Slug:** `ODOO_PARSE_APPLICANT`

Tool to submit a resume/CV document for OCR parsing and data extraction via Odoo Extract API. Extracts name, email, phone, and mobile from applicant resumes. Returns a document_token to poll for results. Cost: 1 IAP credit per successful parse.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `version` | integer | No | API version number. Latest version is 102. Use this to ensure compatibility with the Extract API. |
| `document` | string | Yes | Base64-encoded resume/CV document (PDF or image format). The document should be encoded as a base64 string before submission. |
| `request_id` | string | No | JSON-RPC request identifier for tracking. Can be any unique string to identify this request. |
| `account_token` | string | Yes | IAP (In-App Purchase) account token for billing. Each successful parse consumes 1 IAP credit. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Parse Bank Statement Document

**Slug:** `ODOO_PARSE_BANK_STATEMENT`

Tool to submit a bank statement document for OCR parsing and data extraction via Odoo Extract API. Extracts balance_start, balance_end, date, and bank_statement_lines. Returns a document_token to poll for results. Cost: 1 IAP credit per successful parse.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `version` | integer | Yes | API version number to use. Latest version is 100. Required to ensure compatibility with response format. |
| `documents` | array | Yes | Array containing exactly one Base64-encoded document. Supported formats: PDF, PNG, JPG. The document will be parsed to extract bank statement fields (balance_start, balance_end, date, bank_statement_lines). |
| `request_id` | string | No | JSON-RPC request ID. Auto-generated UUID if not provided. Used to match responses with requests. |
| `account_token` | string | Yes | IAP (In-App Purchase) account token for billing. Each successful parse costs 1 IAP credit. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Parse Expense Document

**Slug:** `ODOO_PARSE_EXPENSE`

Tool to submit an expense document for OCR parsing and data extraction. Extracts description, country, date, total, and currency from expense receipts. Returns a document_token to poll for results. Use when you need to process expense documents using Odoo's Extract API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `version` | integer | Yes | API version to use. Latest version is 132. |
| `documents` | array | Yes | Array containing one Base64-encoded document image to parse. Only the first document in the array will be processed. |
| `account_token` | string | Yes | IAP account token for billing. Cost: 1 IAP credit per successful parse. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Parse Invoice Document

**Slug:** `ODOO_PARSE_INVOICE`

Tool to submit an invoice document for OCR parsing and data extraction via Odoo Extract API. Uses AI-based algorithms to extract fields like total, due date, invoice lines, VAT numbers, IBAN, supplier, client, and currency. Returns a document_token to poll for results. Cost: 1 IAP credit per successful parse.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dbuuid` | string | No | Unique identifier of the Odoo database. Used for tracking and analytics. |
| `version` | integer | Yes | API version number to use. Latest version is 123. Required to ensure compatibility with response format. |
| `documents` | array | Yes | Array containing exactly one Base64-encoded document. Supported formats: PDF, PNG, JPG. The document will be parsed to extract invoice fields. |
| `request_id` | string | No | JSON-RPC request ID. Auto-generated UUID if not provided. Used to match responses with requests. |
| `user_infos` | object | No | Optional user information to enhance OCR accuracy. |
| `webhook_url` | string | No | URL to receive a POST notification when parsing is complete. Useful for asynchronous processing. |
| `account_token` | string | Yes | IAP (In-App Purchase) account token for billing. Each successful parse costs 1 IAP credit. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
