Configuración básica
Puedes instalar la integración de Odoo desde nuestro Marketplace. Una vez instalada, podrás buscar registros, gestionar productos, contactos, órdenes de venta, facturas y consultar inventario directamente desde tu agente.Prerrequisitos
Antes de usar esta integración, necesitas:- Instancia de Odoo activa — Puede ser Odoo.com (SaaS) o self-hosted
- API Key de Odoo — Genera una clave API desde tu perfil de usuario en Odoo
Credenciales requeridas
| Campo | Descripción | Requerido |
|---|---|---|
| Host | URL de tu servidor Odoo (ej. https://miempresa.odoo.com) | Sí |
| Database | Nombre de la base de datos de Odoo | Sí |
| Username | Email o nombre de usuario de Odoo | Sí |
| API Key | Clave API generada en Odoo | Sí |
Para generar tu API Key, ve a tu perfil en Odoo: Preferencias > Cuenta > Claves API > Nueva clave API.
Funcionalidades
Buscar registros
Busca registros en cualquier modelo de Odoo con filtros. Útil para encontrar clientes, productos, órdenes, facturas, etc. Inputs:- model (string) — Nombre del modelo (ej. “res.partner”, “sale.order”, “product.product”).
- domain (opcional, array) — Filtro de dominio Odoo (ej.
[["is_company", "=", true]]). - fields (opcional, array de string) — Campos a recuperar.
- limit (opcional, number) — Máximo de registros (default 80, max 500).
- offset (opcional, number) — Registros a saltar para paginación.
- order (opcional, string) — Orden de resultados (ej. “name asc, id desc”).
Obtener registro
Obtiene un registro específico por su ID. Inputs:- model (string) — Nombre del modelo.
- id (number) — ID del registro.
- fields (opcional, array de string) — Campos a recuperar.
Crear producto
Crea un nuevo producto en Odoo con validación de categoría. Inputs:- name (string) — Nombre del producto.
- categ_id (number) — ID de la categoría del producto.
- type (opcional, enum:
consu|service|product) — Tipo de producto. - list_price (opcional, number) — Precio de venta.
- standard_price (opcional, number) — Precio de costo.
- default_code (opcional, string) — Referencia interna / SKU.
- barcode (opcional, string) — Código de barras.
- description (opcional, string) — Descripción interna.
- description_sale (opcional, string) — Descripción para clientes.
- uom_id (opcional, number) — ID de unidad de medida.
- sale_ok (opcional, boolean) — Puede venderse.
- purchase_ok (opcional, boolean) — Puede comprarse.
- weight (opcional, number) — Peso en kg.
- volume (opcional, number) — Volumen en m³.
- dry_run (opcional, boolean) — Validar sin crear.
Crear registro genérico
Crea un registro en cualquier modelo de Odoo.Para productos, contactos, órdenes de venta y facturas, usa las herramientas específicas.
- model (string) — Nombre del modelo.
- values (objeto) — Valores de los campos.
- dry_run (opcional, boolean) — Validar sin crear.
Actualizar registro
Actualiza un registro existente en cualquier modelo. Inputs:- model (string) — Nombre del modelo.
- id (number) — ID del registro.
- values (objeto) — Valores a actualizar.
- dry_run (opcional, boolean) — Validar sin actualizar.
Eliminar registro
Elimina un registro de cualquier modelo. Inputs:- model (string) — Nombre del modelo.
- id (number) — ID del registro.
- confirm (boolean) — Debe ser
truepara confirmar.
Gestionar contacto
Crea o actualiza un contacto (cliente, proveedor o persona). Inputs:- action (enum:
create|update) — Acción a realizar. - id (opcional, number) — ID del contacto (requerido para update).
- name (opcional, string) — Nombre del contacto.
- email (opcional, string) — Email.
- phone (opcional, string) — Teléfono fijo.
- mobile (opcional, string) — Teléfono móvil.
- street (opcional, string) — Dirección línea 1.
- street2 (opcional, string) — Dirección línea 2.
- city (opcional, string) — Ciudad.
- zip (opcional, string) — Código postal.
- country_id (opcional, number) — ID del país.
- state_id (opcional, number) — ID del estado/provincia.
- vat (opcional, string) — Número de identificación fiscal.
- is_company (opcional, boolean) — Es empresa.
- company_type (opcional, enum:
person|company) — Tipo de contacto. - customer_rank (opcional, number) — Rango de cliente (>0 = es cliente).
- supplier_rank (opcional, number) — Rango de proveedor (>0 = es proveedor).
- dry_run (opcional, boolean) — Validar sin guardar.
Procesar orden de venta
Crea, confirma o cancela una orden de venta/cotización. Inputs:- action (enum:
create|confirm|cancel|set_to_draft) — Acción a realizar. - id (opcional, number) — ID de la orden (requerido excepto para create).
- partner_id (opcional, number) — ID del cliente (requerido para create).
- lines (opcional, array de objeto) — Líneas de la orden:
- product_id (number) — ID del producto.
- quantity (opcional, number) — Cantidad (default 1).
- price_unit (opcional, number) — Precio unitario.
- discount (opcional, number) — Porcentaje de descuento.
- name (opcional, string) — Descripción de la línea.
- pricelist_id (opcional, number) — ID de la lista de precios.
- payment_term_id (opcional, number) — ID del término de pago.
- note (opcional, string) — Nota interna.
- dry_run (opcional, boolean) — Validar sin ejecutar.
Gestionar factura de cliente
Crea, publica o cancela una factura de cliente. Inputs:- action (enum:
create|post|cancel|reset_to_draft) — Acción a realizar. - id (opcional, number) — ID de la factura (requerido excepto para create).
- partner_id (opcional, number) — ID del cliente (requerido para create).
- invoice_date (opcional, string) — Fecha de factura (YYYY-MM-DD).
- invoice_date_due (opcional, string) — Fecha de vencimiento (YYYY-MM-DD).
- lines (opcional, array de objeto) — Líneas de la factura:
- product_id (opcional, number) — ID del producto.
- name (string) — Descripción.
- quantity (opcional, number) — Cantidad (default 1).
- price_unit (number) — Precio unitario.
- account_id (opcional, number) — ID de la cuenta contable.
- tax_ids (opcional, array de number) — IDs de impuestos.
- journal_id (opcional, number) — ID del diario.
- currency_id (opcional, number) — ID de la moneda.
- ref (opcional, string) — Referencia/memo.
- dry_run (opcional, boolean) — Validar sin ejecutar.
Registrar pago
Registra un pago para una o más facturas. Inputs:- invoice_ids (array de number) — IDs de las facturas a pagar.
- amount (number) — Monto del pago.
- journal_id (number) — ID del diario de pago (banco/caja).
- payment_date (opcional, string) — Fecha del pago (YYYY-MM-DD).
- payment_method_id (opcional, number) — ID del método de pago.
- ref (opcional, string) — Referencia del pago.
- dry_run (opcional, boolean) — Validar sin ejecutar.
Verificar stock
Consulta la disponibilidad de stock de uno o más productos. Inputs:- product_id (opcional, number) — ID de un producto.
- product_ids (opcional, array de number) — IDs de múltiples productos.
- location_id (opcional, number) — ID de ubicación específica.
- include_reserved (opcional, boolean) — Incluir cantidades reservadas (default true).