Saltearse al contenido

Odoo

Odoo conecta tu flujo con tu instancia de Odoo para trabajar con sus registros sin entrar en Odoo: contactos, notas, oportunidades, pedidos de venta, facturas, albaranes, pagos y productos. Si necesitas otro tipo de registro, puedes trabajar con cualquier modelo de Odoo indicando su nombre.

Es útil para que las ventas, los clientes y los cobros que nacen en otros sistemas (una tienda online, un formulario, un agente de IA) lleguen a Odoo, o para consultar datos de Odoo y usarlos en el resto del flujo.

Cuándo usarlo

  • Un cliente se registra en tu web y quieres crearlo como contacto en Odoo.
  • Llega un pedido de tu tienda online y quieres crear el pedido de venta en Odoo y confirmarlo.
  • Quieres un informe con las facturas pendientes de cobro.
  • Se registra un cobro en tu pasarela de pago y quieres anotar el pago en Odoo.
  • Un agente de IA atiende a tus clientes y necesita consultar sus pedidos o facturas.

Configuración

Necesitas una credencial Odoo API con la dirección de tu servidor de Odoo, el nombre de la base de datos, tu usuario y una clave de API de Odoo. Consulta Credenciales.

CampoQué hace
Credential (obligatorio)La credencial Odoo API con la que se accede a tu Odoo.
Operation (obligatorio)Lo que hace el componente. Ver Operaciones.
Resource Type (obligatorio)El tipo de registro: contact (contacto), note (nota), opportunity (oportunidad), order (pedido de venta), invoice (factura), delivery_note (albarán), payment (pago), product (producto) o custom resource (otro modelo de Odoo). Por defecto, contact. Según el tipo elegido aparecen sus campos.
Resource ID (obligatorio)El identificador del registro en Odoo. En Update Resource, Get Resource, Delete Resource y Confirm Resource.

Campos de cada tipo de registro

Estos campos se usan al crear o modificar el registro (Create Resource y Update Resource).

TipoCampos
contactName (obligatorio), Email, Phone.
noteMemo (obligatorio): el texto de la nota. Open: si la nota queda abierta; activado por defecto. Color: el color de la nota, como número; por defecto, 2. Desde Odoo 17, donde las notas pasaron a ser la app To-do, se crea una tarea pendiente: la primera línea de Memo es su título y, con Open desactivado, queda como hecha.
opportunityName (obligatorio). Partner ID: el identificador del contacto. Probability: probabilidad de éxito de 0 a 100; por defecto, 100. Expected Revenue: ingresos esperados; por defecto, 5000. Lead: si está activado se crea como iniciativa (lead) en lugar de oportunidad; desactivado por defecto.
orderCustomer (Partner ID) (obligatorio): el identificador del cliente. Order Lines: las líneas del pedido, conectadas desde otro componente; cada línea lleva product_id (identificador del producto), product_uom_qty (cantidad) y, si quieres, price_unit (precio unitario).
invoiceInvoice Type: out_invoice (factura de cliente), in_invoice (factura de proveedor), out_refund (rectificativa de cliente) o in_refund (rectificativa de proveedor); por defecto, out_invoice. Customer (Partner ID) (obligatorio). Invoice Lines: las líneas de la factura, conectadas desde otro componente, con product_id, quantity (cantidad) y price_unit. Invoice Date: la fecha en formato 2026-03-20. Source Document: la referencia del documento de origen, por ejemplo el número del pedido.
paymentCustomer (Partner ID) (obligatorio). Amount (obligatorio): el importe. Journal ID: el identificador del diario de pago, por ejemplo el del banco. Payment Type: inbound (cobro) o outbound (pago); por defecto, inbound.
productProduct Name (obligatorio). Sale Price: el precio de venta. Product Type: consu (consumible), service (servicio) o product (almacenable); por defecto, consu. Desde Odoo 18, que ya no tiene el tipo almacenable, product crea un bien con control de inventario. Internal Reference: la referencia interna o código del producto.
custom resourceResource Name (obligatorio): el nombre técnico del modelo de Odoo, por ejemplo res.partner. Resource Data (obligatorio): los datos del registro, conectados desde otro componente o escritos como un objeto JSON.

Los albaranes (delivery_note) no tienen campos propios: con ellos puedes consultar, eliminar y confirmar, pero no crear ni modificar.

Operaciones

OperaciónQué hace
Create ResourceCrea un registro nuevo del tipo elegido y devuelve sus datos.
Update ResourceCambia los datos de un registro existente y devuelve cómo ha quedado. Los campos de texto que dejes vacíos conservan su valor en Odoo.
Get ResourceTrae un registro por su identificador.
Get All ResourcesTrae los registros del tipo elegido, con la posibilidad de filtrarlos.
Delete ResourceElimina un registro.
Confirm ResourceConfirma o valida un registro: confirma un pedido de venta (order), publica una factura (invoice) o un pago (payment) y valida un albarán (delivery_note). Con otros tipos devuelve un error.

Opciones de consulta

CampoQué hace
FieldsLos campos de Odoo que quieres recibir, por ejemplo name o email. Si lo dejas vacío, se devuelven todos. Solo en Get Resource y Get All Resources.
TopCuántos registros traer como máximo. Por defecto, 50. Solo en Get All Resources.
FiltersCondiciones para traer solo algunos registros. Solo en Get All Resources. Ver más abajo.

En Filters cada condición indica el campo de Odoo (fieldName), cómo se compara (operator) y el valor (value). Por ejemplo, para traer las facturas publicadas:

{"fieldName": "state", "operator": "equal", "value": "posted"}

Para combinar varias condiciones, que deben cumplirse todas, escríbelas entre corchetes y separadas por comas. Los comparadores disponibles son equal (igual), notEqual (distinto), like (contiene el texto), greaterThen (mayor que), lesserThen (menor que), greaterOrEqual (mayor o igual), lesserOrEqual (menor o igual), in (está en una lista), notIn (no está en una lista) y childOf (pertenece a una jerarquía).

Resultado

La salida Data devuelve el registro con el que has trabajado tal como lo guarda Odoo, con todos sus campos o solo los que hayas pedido en Fields. Con Get All Resources sale un elemento por cada registro encontrado. Delete Resource y Confirm Resource devuelven una confirmación con el identificador del registro.

Puedes conectar el resultado a un agente para que lo use en su respuesta, o a otro componente Odoo, por ejemplo para confirmar el pedido que acabas de crear. El componente también se puede conectar a un Agente como herramienta. Ver Tool Mode.

Ejemplo

Una tienda online quiere que cada pedido pagado quede registrado y confirmado en Odoo.

  1. El pedido llega al flujo con el identificador del cliente en Odoo y sus líneas de producto.
  2. Añade Odoo con la operación Create Resource y el tipo order.
  3. En Customer (Partner ID) pon el identificador del cliente y conecta las líneas del pedido a Order Lines.
  4. Añade un segundo Odoo con la operación Confirm Resource, el tipo order y, en Resource ID, el identificador del pedido que devuelve el primero.

Buenas prácticas

  • Los identificadores de clientes, productos y diarios se consultan con Get All Resources. Usa Filters y Top para no traer más registros de los necesarios.
  • Delete Resource no se puede deshacer, y Odoo puede impedir eliminar registros ya confirmados, como una factura publicada.

Componentes relacionados

  • Odoo Webhook: pone en marcha un flujo cuando se crea o cambia un registro en Odoo.