Automatización · Ventas y cotización
Cotizar por WhatsApp con Odoo
Un agente de IA cotiza por WhatsApp con Odoo: identifica al cliente, consulta precio y stock y crea una cotización borrador con los totales de Odoo.
¿Cómo cotizo por WhatsApp con Odoo sin abrir el ERP?
Un Met conectado a Odoo ubica la compañía correcta, busca al cliente y abre su ficha antes de cotizar. Después elige una tarifa solo cuando tu operación tiene una regla para hacerlo, resuelve cada producto contra una variante vendible y consulta el precio base y la disponibilidad del almacén. Esos datos sirven para conversar, pero todavía no son el precio final del cliente. El Met presenta para aprobación la compañía, el cliente, las variantes, las cantidades, la tarifa y el almacén; solo después del sí explícito crea una cotización en borrador sin enviar un precio manual. Odoo calcula las líneas, la moneda, los impuestos y el total. El Met vuelve a consultar ese documento y entrega el número, el estado, los totales y la URL del portal si Odoo la devolvió. No confirma el pedido, no reserva inventario y no genera un PDF desde estas herramientas.
Qué la pone en marcha
Cuando el cliente escribe
Empieza cuando alguien pregunta por un producto, pide precio o solicita una cotización por WhatsApp. No hay un trigger de mensaje que configurar: el Met asignado al canal ejecuta el procedimiento dentro de esa conversación y pide solo los datos que falten para identificar al cliente, las variantes y las cantidades.
No hace falta programar nada: el Met asignado al canal recibe la conversación y ejecuta el procedimiento dentro de ella.
Quién la ejecuta
Met de ventas para Odoo
Área de Administración
No es un Met con nombre sembrado: es el Met que ya atiende la línea comercial, con Odoo conectado. Su oficio en esta receta termina en dejar una propuesta identificable dentro del ERP, con los datos que Odoo calculó, sin convertirla en pedido ni prometer existencias apartadas.
Canales: WhatsApp
Qué hay que tener conectado
- Odoo Cobrar y administrar
6 pasos · 11 herramientas
El procedimiento, paso a paso
Cada paso muestra la herramienta que se ejecuta. Son las del conector real: si una dejara de existir, esta página no compilaría.
- 1
Elegir la compañía y abrir la ficha del cliente
El Met lista las compañías accesibles para el usuario técnico cuando hay más de una y fija el compania_id que va a acompañar el resto del recorrido. Luego busca al cliente por nombre, identificación, correo o teléfono y consulta el tercero exacto por su id. No toma el primer resultado parecido: comprueba nombre, identificación, condición de cliente y compañía antes de usarlo. Esta receta parte de un cliente que ya existe en Odoo; si no aparece, el Met lo dice y no intenta crear la cotización sobre otro tercero.
- 2
Elegir una tarifa solo cuando hay una regla para hacerlo
Las tarifas activas llegan con su id, nombre, moneda y compañía. Si tu operación ya define qué lista usa ese cliente, el Met selecciona ese identificador y lo muestra antes de crear el documento. Si no hay una regla clara, no adivina una lista ni promete un precio mayorista: omite tarifa_id y deja que Odoo aplique la predeterminada. Listar tarifas no calcula un precio específico para el cliente; únicamente resuelve qué configuración se enviará al borrador.
- 3
Resolver cada artículo contra la variante exacta
La búsqueda trabaja sobre product.product, no sobre una descripción inventada en el chat, y encuentra variantes por nombre, referencia interna o código de barras. El Met consulta la variante elegida para comprobar que siga activa y vendible, y conserva su producto_id para la línea. Si hay dos tamaños o colores parecidos, presenta las opciones con su referencia en vez de convertir una mención ambigua en el artículo equivocado.
- 4
Consultar precio base y disponibilidad sin confundirlos con una promesa
Para cada variante, el Met consulta el precio de venta base, la moneda, la unidad y los impuestos configurados. Por separado consulta inventario físico, libre cuando Odoo expone ese campo, entradas, salidas y pronóstico, con el almacén elegido. El precio base puede cambiar por cliente, tarifa, cantidad, fecha, moneda e impuestos; la disponibilidad también puede cambiar antes del pedido. Por eso estos llamados sirven para responder y detectar faltantes, pero ni fijan el total ni apartan unidades.
- 5
Confirmar los datos y crear únicamente el borrador
Antes de escribir, el Met reúne en un mensaje la compañía, el cliente, las variantes, las cantidades y, cuando aplican, la tarifa y el almacén. Espera una aprobación explícita y solo entonces llama la creación con confirmar=true. Envía producto_id y cantidad, pero no copia el precio base como precio manual: Odoo calcula la tarifa, los impuestos y los totales dentro de la cotización. El resultado queda en estado borrador. Crear ese documento no confirma el pedido, no genera una entrega y no reserva inventario.
- 6
Volver a leer el documento antes de entregar la respuesta
Con el id devuelto, el Met consulta la cotización y responde con el número, las líneas, la moneda, el subtotal, los impuestos, el total y el estado literales. Si la creación perdió la respuesta y marcó posiblemente_creada, no la repite: lista los borradores por cliente, fecha y compañía, identifica el candidato y lo consulta por id. La respuesta incluye url_portal solo cuando Odoo expone access_url. Esa URL se entrega como referencia del portal, no como un PDF ni como una promesa de acceso anónimo.
Antes de empezar
Qué necesitas tener listo
Ninguno de estos puntos lo resuelve el Met. Si falta uno, la automatización se detiene ahí.
-
Odoo 17 o superior con la API externa habilitada
En Odoo Online necesitas el plan Custom; One App Free y Standard no incluyen la API externa. En Odoo.sh o una instalación propia, el acceso depende de la red y de la configuración del servidor. Odoo 19 o superior usa JSON-2 y Odoo 17 y 18 usan JSON-RPC.
-
URL HTTPS, base de datos, usuario técnico y API key
Crea una clave para un usuario dedicado y dale acceso mínimo a las compañías, clientes, productos, ventas e inventario que esta receta consulta. Meteor rechaza una URL HTTP salvo en localhost de pruebas y no necesita la contraseña personal del administrador.
-
Clientes, variantes, tarifas y almacenes configurados en Odoo
La receta lee los maestros que ya existen. El cliente debe estar registrado, los artículos deben ser variantes vendibles y cualquier tarifa o almacén que quieras elegir debe pertenecer a la compañía correcta. El Met no crea productos ni corrige la configuración del ERP.
-
Una línea de WhatsApp con el Met asignado
Conecta una línea de WhatsApp Business API al espacio de trabajo y asigna el Met comercial que atenderá las solicitudes. La escritura ocurre dentro de la conversación, después de la confirmación de los datos del borrador.
Los límites
Qué NO resuelve esta automatización
Preferimos decirlo aquí que descubrirlo en la implementación.
-
No calcula un precio final por cliente con la consulta de producto. odoo_consultar_precio devuelve el precio base y una advertencia; la tarifa, la cantidad, la fecha, la moneda y los impuestos solo quedan calculados en las líneas del borrador que crea Odoo.
-
No confirma ni cancela el pedido desde WhatsApp. Esas tools están bloqueadas para Mets de canal, y crear la cotización deja un sale.order en borrador sin generar la entrega.
-
No reserva inventario. La disponibilidad es una lectura del momento y la cotización no aparta unidades. La reserva pertenece a una entrega de un pedido confirmado, no a esta receta.
-
No genera ni adjunta un PDF. La consulta devuelve url_portal únicamente cuando access_url está disponible; la cotización puede existir aunque ese campo llegue vacío, y el acceso sigue las reglas configuradas en Odoo.
-
No crea facturas, no registra pagos y no declara aceptación ante DIAN, SAT u otra autoridad. Ninguna de esas operaciones forma parte de una cotización borrador, y las escrituras fiscales de mayor impacto están bloqueadas desde el canal.
-
No crea productos, no ajusta existencias y no corrige tarifas. Si un artículo, almacén o lista no está configurado en Odoo, el Met se detiene antes de inventar un id o un importe.
-
No ofrece atomicidad entre tools ni reintenta una escritura incierta. Cuando Odoo no responde después de crear, el resultado posiblemente_creada obliga a listar y consultar el documento antes de intentar otra cotización que podría duplicarlo.
Preguntas frecuentes
Preguntas sobre esta automatización
No. Esa consulta devuelve el precio de venta base de la variante. El precio final puede cambiar por tarifa, cliente, cantidad, fecha, moneda e impuestos. Por eso el Met no copia ese valor como precio manual: crea el borrador con el cliente y la tarifa, y responde con lo que Odoo calculó en sus líneas.
Recibe el número, el estado y los totales de la cotización, más la URL del portal cuando Odoo devuelve access_url. El conector no genera un archivo PDF ni garantiza que esa URL sea pública; Odoo conserva sus propias reglas de autenticación y acceso.
No. Consultar disponibilidad es una lectura y crear una cotización borrador no reserva inventario. La reserva ocurre sobre una entrega de un pedido confirmado, que queda fuera del flujo de WhatsApp.
No desde el canal. odoo_confirmar_pedido está bloqueada cuando la solicitud viene de WhatsApp, igual que cancelar el pedido. Una persona autenticada revisa el borrador y ejecuta ese paso en la aplicación.
El conector no reintenta una escritura a ciegas. Devuelve posiblemente_creada, lista los borradores del cliente y consulta el candidato antes de decidir si hace falta crear algo. Esa reconciliación evita dos propuestas iguales por una respuesta perdida.
Funciona desde Odoo 17 con los módulos y permisos necesarios. Odoo 19 o superior usa JSON-2; Odoo 17 y 18 usan JSON-RPC. En Odoo Online necesitas el plan Custom, mientras que Odoo.sh y las instalaciones propias dependen de su configuración de red y del usuario técnico.
Sigue por aquí
Otras automatizaciones con las mismas herramientas
Cobros y cartera
Crear un borrador de factura en Odoo con aprobación
¿Cómo creo una factura borrador en Odoo y la reviso antes de contabilizarla?
Administración
- Arranca:
- cuando alguien lo pide
- Pasos:
- 7, con 11 herramientas reales
- Necesita:
- Odoo
Ventas y cotización
Calificar un lead nuevo y dejarlo asignado al asesor correcto
¿Cómo hago que cada lead nuevo llegue calificado al asesor correcto?
Ventas
- Arranca:
- cuando el cliente escribe
- Pasos:
- 6, con 14 herramientas reales
- Necesita:
- CRM de Meteor
Ventas y cotización
Cotizar por WhatsApp con el inventario de Alegra
¿Cómo cotizo por WhatsApp sin tener que abrir Alegra?
Administración
- Arranca:
- cuando el cliente escribe
- Pasos:
- 5, con 12 herramientas reales
- Necesita:
- Alegra · CRM de Meteor
Ventas y cotización
Crear o actualizar un lead en Dynamics 365 desde WhatsApp
¿Cómo creo o actualizo un lead de WhatsApp en Dynamics 365 sin duplicarlo?
Ventas
- Arranca:
- cuando el cliente escribe
- Pasos:
- 5, con 5 herramientas reales
- Necesita:
- CRM de Meteor · Microsoft Dynamics 365
¿Quieres esta automatización corriendo con tus datos?
Te la mostramos con tus cuentas conectadas, no con una demostración enlatada.