En una comercializadora mexicana, muchos pedidos llegan por WhatsApp como texto suelto, fotos o notas de voz, y alguien los vuelve a capturar en el ERP. Esta guía explica cómo conectar ese canal con Odoo y una capa de IA sin que el agente confirme pedidos, invente precios ni facture por su cuenta.
Ver diagrama Mermaid
mindmap
root(("Pedidos de WhatsApp en Odoo con IA"))
Requisitos y alcance
Meta: portafolio, app, número, token, webhook
Enterprise: app WhatsApp de Odoo
Community u Online: API externa
Siete pasos
infraestructura de Meta
conexión con Odoo
interpretar sin inventar
consulta solo lectura
cotización en borrador
responder con plantillas
confirmación humana
Enterprise frente a Community
Qué puede salir mal
Ejemplo hipotético
Qué opinamos y fuentes
Requisitos y alcance
| Punto | Qué necesitas | Qué no cubre esta guía |
|---|---|---|
| Del lado de Meta | Un portafolio comercial («You must have a business portfolio to use the platform»), una cuenta de desarrollador, una app con el caso de uso de WhatsApp conectada a una cuenta de WhatsApp Business, un número dedicado, un token permanente y un webhook. La verificación del negocio mejora las capacidades (por ejemplo, mayor volumen). | Tarifas de Meta: cambian por país y tipo de conversación; consulta la página de precios de Meta con fecha. No publicamos importes. |
| Camino Enterprise | Odoo 17, 18 o 19 Enterprise con la app WhatsApp: WhatsApp ‣ Configuración ‣ Cuentas de WhatsApp Business ‣ Nuevo, con ID de la aplicación, ID de la cuenta de WhatsApp Business y token de acceso; la URL de retrollamada y el token de verificación los genera Odoo al probar la conexión. | Configuraciones de plantillas avanzadas y campañas: fuera de alcance. |
| Camino Community u Online | Un servicio intermedio (orquestador o agente) que reciba el webhook de Meta y hable con Odoo por la API externa. En Odoo Online la API externa solo está en el plan Custom. En Odoo 19, API JSON-2 con clave API como bearer token. | Conectores que leen WhatsApp Web sin la API oficial: riesgo de bloqueo del número; no los recomendamos. |
| Capa de IA | Claude o ChatGPT vía API (o un servidor MCP de código abierto para consultar Odoo en modo de solo lectura). El modelo extrae cliente, productos, cantidades y fecha; pregunta si falta algo; no calcula precios. Qué pedir por escrito a quien lo integre está en la guía para contratar la integración de Claude o ChatGPT con Odoo. | Transcripción de notas de voz: depende del proveedor de IA que elijas; esta guía no evalúa productos de transcripción. |
| Personas | Un vendedor que confirma, un responsable del catálogo (sinónimos y empaques) y alguien que aprueba las plantillas de mensaje. | Envíos masivos o prospección fría por WhatsApp: no es el objetivo de esta guía ni de nuestra práctica. |
Ver diagrama Mermaid
flowchart TB
C["Cliente en WhatsApp"] --> M["WhatsApp Business Platform de Meta: webhook"]
M --> E["Enterprise: app WhatsApp de Odoo"]
M --> S["Community u Online: servicio intermedio por API externa"]
E --> IA["Agente de IA: extrae líneas, cantidades y fecha; pregunta si falta algo"]
S --> IA
IA --> O["Odoo en solo lectura: catálogo, existencias, lista de precios"]
O --> Q["Cotización en estado Cotización, con etiqueta y nota"]
Q --> P{"Una persona confirma"}
P --> V["Pedido de venta; CFDI por su propio flujo"]
Paso a paso: del mensaje a la cotización en borrador
1. Prepara la infraestructura de Meta
Crea o elige el portafolio comercial y una cuenta de desarrollador de Meta. En el panel de apps, «create a new Meta app with the WhatsApp use case» y conecta la app a una cuenta de WhatsApp Business. Usa un número dedicado a la plataforma. Crea un token permanente («create a permanent token for use across the WhatsApp Business Platform») y configura el webhook para recibir mensajes entrantes y estados de entrega. Verifica el negocio si quieres mayor capacidad.
2. Conecta WhatsApp con Odoo según tu edición
Enterprise. En Odoo, ve a WhatsApp ‣ Configuración ‣ Cuentas de WhatsApp Business y haz clic en Nuevo. Captura el ID de la aplicación, el ID de la cuenta de WhatsApp Business y el token de acceso. Al probar la conexión, Odoo genera la URL de retrollamada y el token de verificación que pegarás en el webhook de Meta. Las plantillas pasan por aprobación: «WhatsApp tiene un proceso de aprobación que debes completar antes de poder usar la plantilla».
Community u Online con plan Custom. El webhook de Meta apunta a tu servicio intermedio, que valida el remitente, guarda el mensaje y llama a Odoo por la API externa (JSON-2 con clave API en Odoo 19). Las conversaciones no viven dentro de Odoo, pero cada pedido sí: se registra como cotización con su origen en el chatter.
3. Interpreta el mensaje con IA, sin inventar nada
El agente convierte «ponme 3 cajas del 16 y 5 del 20 para el jueves» en líneas con producto, cantidad y unidad, más la fecha. Para hacerlo bien necesita un diccionario del catálogo con los nombres que usan tus clientes (cartón, caja, pieza, claves cortas). Si hay ambigüedad o falta un dato, responde con una pregunta por la misma conversación; no adivina. Las reglas que impiden que un agente de IA para ventas B2B invente o haga spam son las mismas que aplicamos aquí.
4. Consulta Odoo con permisos de solo lectura
Busca el contacto por teléfono o nombre, mapea cada línea con el catálogo (clave, variante, unidad), lee la lista de precios del cliente y la disponibilidad por almacén. Odoo calcula precios, descuentos e impuestos. Con un servidor MCP en modo de solo lectura, cualquier intento de escritura se rechaza antes de llegar a Odoo; cómo conectar Odoo a Claude con una clave API y permisos acotados y qué aislar en una copia de Odoo antes de probar el agente tienen su propia guía.
5. Crea la cotización en estado Cotización
Una cuenta técnica distinta a la del agente crea la cotización con la etiqueta «Generada por IA» y una nota en el chatter con el mensaje de origen y la hora. Estado: Cotización. Nada se confirma ni se envía. Los estados de Odoo, los controles del lado del servidor y las fallas típicas de ese paso están en la guía de cotizaciones preparadas por IA con aprobación humana.
6. Responde al cliente con lo que sí se puede afirmar
Un resumen de líneas, cantidades y total calculado por Odoo, con la aclaración de que la fecha de entrega se confirma tras validación. Si la conversación está fuera de la ventana de atención, solo puede salir una plantilla aprobada: «They are also the only type of message that can be sent to WhatsApp users outside of a customer service window».
7. Confirmación humana y lo que sigue
El vendedor abre el borrador, revisa existencias y condiciones, ajusta y da clic en Confirmar. Según la documentación de Odoo 19, al confirmar «the quotation is confirmed, and the status changes to Sales Order» y «it officially turns into a sales order, which can then be invoiced and paid for». La preparación, la entrega y la factura siguen el flujo habitual de la empresa; el CFDI no se timbra por un mensaje.
Ver diagrama Mermaid
flowchart TB
S1["1. Infraestructura de Meta: portafolio, app, número dedicado, token, webhook"] --> S2["2. Conexión con Odoo según la edición"]
S2 --> S3["3. La IA interpreta el mensaje y pregunta ante la ambigüedad"]
S3 --> S4["4. Consulta en solo lectura: contacto, catálogo, lista de precios, existencias"]
S4 --> S5["5. Cotización en estado Cotización con etiqueta Generada por IA"]
S5 --> S6["6. Respuesta con el resumen calculado por Odoo; plantilla aprobada fuera de la ventana"]
S6 --> S7{"7. ¿El vendedor confirma?"}
S7 -- "Ajusta o llama al cliente" --> S5
S7 -- "Sí" --> V["Pedido de venta; entrega y factura por el flujo habitual"]
Enterprise frente a Community: qué cambia
| Aspecto | Odoo Enterprise con la app WhatsApp | Odoo Community u Online con API externa |
|---|---|---|
| Dónde viven las conversaciones | Dentro de Odoo (app WhatsApp) | En el servicio intermedio; en Odoo queda el pedido y su nota de origen |
| Plantillas | Se gestionan en Odoo y pasan por la aprobación de Meta | Se gestionan en Meta o en el intermediario; misma aprobación |
| Requisito de plan | Suscripción Enterprise | Community: ninguno. Online: plan Custom para la API externa |
| Capa de IA | Externa a Odoo en ambos casos (Odoo no interpreta el pedido por sí solo); puede avisar con la acción Enviar WhatsApp de Studio | Externa; el intermediario orquesta IA y API |
| Control del pedido | Cotización en borrador y confirmación humana | Igual |
Ver diagrama Mermaid
flowchart TB
A{"¿Qué edición de Odoo tienes?"}
A -- "Enterprise" --> E["App WhatsApp de Odoo: WhatsApp, Configuración, Cuentas de WhatsApp Business"]
A -- "Community" --> C["Servicio intermedio con la API externa"]
A -- "Online" --> P{"¿Plan Custom?"}
P -- "Sí" --> C
P -- "No: One App Free o Standard" --> X["Sin API externa: cambiar de plan antes de integrar"]
E --> R["Cotización en borrador y confirmación humana"]
C --> R
Qué puede salir mal
- Número en estado Pendiente en Meta. La documentación de Odoo advierte que el número puede quedar pendiente en la app de desarrolladores y que «esto puede impedir que la integración de WhatsApp funcione de forma correcta».
- Plantillas sin aprobar. Sin aprobación de Meta no sale el mensaje; fuera de la ventana de atención, solo salen plantillas.
- Usar la app de WhatsApp en vez de la plataforma. La app de teléfono no es la API; mezclar ambas en un mismo número provoca fallas y riesgo de bloqueo.
- Agente que confirma. Si la cuenta técnica puede confirmar o facturar, un pedido mal leído se vuelve una venta o un CFDI.
- Precios inventados. El modelo no debe calcular ni «estimar» precios; los calcula Odoo con la lista de precios del cliente.
- Duplicados por reintentos. Un mismo mensaje puede llegar dos veces por el webhook; usa el identificador del mensaje como clave de idempotencia.
- Catálogo sin sinónimos. «Caja del 16» no existe en Odoo; existe una clave. Sin el diccionario, el agente pregunta demasiado o se equivoca; el catálogo se limpia con el procedimiento para corregir diferencias de inventario en Odoo.
- Plan de Odoo Online sin API externa. Con One App Free o Standard el camino Community u Online no funciona.
Ejemplo hipotético
Este ejemplo ilustra un flujo propuesto; no presenta resultados de un cliente ni cifras. Una ferretería mayorista con Odoo Community recibe por WhatsApp: «Hola, soy de Construcciones del Valle, mándame 12 cajas de tornillo galvanizado de 2 pulgadas y 4 de taquete del 8, para mañana». El webhook de Meta entrega el mensaje al servicio intermedio; el agente identifica dos líneas y la fecha, encuentra dos presentaciones del tornillo (caja de 100 y de 500) y pregunta cuál; con la respuesta, consulta existencias y lista de precios del cliente y crea la cotización en estado Cotización con la etiqueta «Generada por IA». Responde con el resumen y el total calculado por Odoo, sin prometer fecha. El vendedor ve que solo hay 10 cajas disponibles, ajusta, llama al cliente y confirma. El CFDI lo emite contabilidad cuando corresponde. Si el agente no tuviera permiso de leer la lista de precios, el flujo se detendría pidiendo validación.
Qué opinamos en Transgenia
- WhatsApp es un canal operativo, no un canal de prospección fría. Integramos IA con WhatsApp para confirmación de citas, atención de pedidos y seguimiento comercial, con cada mensaje trazado en Odoo. En nuestra propia operación, un agente lee y redacta; una persona autoriza el envío: así opera Transgenia con agentes de IA gobernados.
- La IA propone; la persona confirma. El resultado correcto de esta integración es una cotización en borrador, no un pedido confirmado. El modelo de borrador y visto bueno es el mismo con el que gobernamos un equipo de doce agentes de IA.
- Solo lectura primero. El agente consulta Odoo con permisos de solo lectura y una cuenta técnica separada crea el borrador. Nuestro servidor MCP rechaza toda escritura en ese modo.
- La edición decide el camino, no la calidad del resultado. Enterprise trae la app; Community y Online llegan al mismo pedido en borrador por la API externa. Lo que no cambia es el control. Para una implementación por fases, con criterios de aceptación en cada compuerta, está el manual de implementación de Claude.ia de Transgenia.
- Catálogo antes que IA. Si el catálogo no tiene sinónimos, unidades y empaques correctos, el agente no puede interpretar bien; por eso la guía de inventario va antes.
Sobre la herramienta que usamos para consultar Odoo: MCP-Odoo-Tools es un servidor MCP de código abierto (MIT) con 28 herramientas, cobertura de Odoo 10 a 19 en Community, Enterprise y Online y modo de solo lectura; está en PyPI como odoo-mcp-tools 1.4.0 y como plugin MCP open source «Odoo Tools» en el directorio de Claude, donde, según el panel de administración del directorio con datos al 11 de octubre de 2026, acumula 506 instalaciones y 203 cuentas activas en 28 días. Transgenia no intermedia ni almacena los datos: los resultados van al cliente MCP y al proveedor del modelo. Qué servidores MCP corren en nuestra propia infraestructura y cómo los auditamos está en el inventario de infraestructura MCP.
Fuentes
Cada hecho técnico de esta guía se apoya en una fuente pública consultada el 12 de octubre de 2026. Las cifras del plugin son de Transgenia y se indican como tales.
- Odoo 19, WhatsApp (español): «WhatsApp es una aplicación exclusiva de Odoo Enterprise y no funciona en la edición Community de Odoo»; cuenta comercial y de desarrollador de Meta; ruta WhatsApp ‣ Configuración ‣ Cuentas de WhatsApp Business; ID de la aplicación, ID de la cuenta y token de acceso; URL de retrollamada y token de verificación generados por Odoo; aprobación de plantillas; número en estado Pendiente.
- Meta, WhatsApp Business Platform Cloud API: definición de la plataforma; portafolio comercial obligatorio; verificación del negocio; «Template messages generally require approval before you can send them»; plantillas como único mensaje fuera de la ventana de atención.
- Meta, Get started with the WhatsApp Business Platform: app con el caso de uso de WhatsApp, cuenta de WhatsApp Business, token permanente y webhook.
- Odoo 19, External JSON-2 API: «Access to data via the external API is only available on Custom Odoo pricing plans»; clave API como bearer token; retiro de XML-RPC y JSON-RPC en Odoo 22.
- Odoo 19, Create quotations: al confirmar, la cotización se convierte en pedido de venta facturable.
- Odoo 19, Automation rules (Studio): acción Enviar WhatsApp dentro de las reglas de automatización.
- Repositorio MCP-Odoo-Tools (MIT): cobertura de Odoo 10 a 19; modo de solo lectura; aviso de privacidad.
- Paquete odoo-mcp-tools en PyPI: versión 1.4.0, licencia MIT.
- Panel de administración del directorio de Claude, datos al 11 de octubre de 2026, fuente interna de Transgenia: instalaciones y cuentas activas del plugin Odoo Tools.
Preguntas frecuentes
¿El módulo de WhatsApp de Odoo funciona en Community o solo en Enterprise?
Solo en Enterprise. La documentación de Odoo 19 lo dice textualmente: WhatsApp es una aplicación exclusiva de Odoo Enterprise y no funciona en la edición Community. En Community (y en Online con plan Custom) la conexión se hace por la API externa con un servicio intermedio.
¿Qué necesito de Meta para conectar WhatsApp con Odoo?
Un portafolio comercial, una cuenta de desarrollador, una app con el caso de uso de WhatsApp conectada a una cuenta de WhatsApp Business, un número dedicado, un token permanente y un webhook para recibir mensajes y estados. La verificación del negocio es opcional pero mejora las capacidades.
¿Puedo usar mi número actual de WhatsApp Business (la app del teléfono)?
La app del teléfono no es la plataforma. La integración usa la WhatsApp Business Platform de Meta con un número dedicado; mezclar ambas en un mismo número provoca fallas. Además, un número en estado Pendiente en la app de desarrolladores puede impedir que la integración funcione.
¿Cómo convierto un mensaje de WhatsApp en una cotización en Odoo sin que la IA confirme el pedido?
El agente extrae líneas y fecha, consulta catálogo, existencias y lista de precios con permisos de solo lectura, y una cuenta técnica crea la cotización en estado Cotización con una etiqueta y una nota de origen. Confirmar queda reservado a una persona; al hacerlo, Odoo convierte la cotización en pedido de venta.
¿Qué pasa con las notas de voz y las fotos?
El agente puede procesarlas si el proveedor de IA que elijas transcribe audio o lee imágenes; esta guía no evalúa productos de transcripción. En cualquier caso aplican las mismas reglas: datos estructurados, pregunta ante la duda y cotización en borrador.
¿Por qué el agente no puede responder cualquier cosa por WhatsApp?
Porque fuera de la ventana de atención de WhatsApp solo pueden enviarse plantillas aprobadas por Meta, y porque un mensaje con precio o fecha de entrega sin validar compromete a la empresa. El agente responde con el resumen calculado por Odoo y deja la confirmación a una persona.
¿Funciona en Odoo Online?
Con Enterprise en Online sí existe la app WhatsApp. Para el camino por API externa, la documentación de Odoo 19 indica que el acceso a datos por la API externa solo está disponible en el plan Custom, no en One App Free ni Standard.
¿Qué versión de Odoo necesito?
La app WhatsApp de Odoo está documentada en Enterprise 17, 18 y 19. Para la API externa, Odoo 19 ofrece JSON-2 con clave API; en versiones anteriores, JSON-RPC o XML-RPC, programadas para retirarse en Odoo 22. El servicio de Transgenia se ofrece para Odoo 13 a 19.
¿Cómo evito pedidos duplicados cuando el webhook reintenta?
Usando el identificador del mensaje de Meta como clave de idempotencia: si ya existe una cotización con ese origen, no se crea otra. Es uno de los controles que se prueban antes de abrir el canal a clientes reales.
¿La cotización confirmada factura automáticamente?
No. Confirmar un pedido no debe timbrar un CFDI por sí solo; la facturación sigue el flujo autorizado de contabilidad. Separar la confirmación comercial de la factura evita emitir un CFDI por un mensaje mal interpretado.
¿Sirve para prospección o envíos masivos por WhatsApp?
No es el objetivo de esta guía ni de nuestra práctica. Usamos WhatsApp como canal operativo: confirmación de citas, atención de pedidos y seguimiento comercial con clientes que ya escribieron. Los envíos fuera de la ventana de atención requieren plantillas aprobadas y consentimiento.
¿Qué debo preparar antes de pedir una evaluación de este flujo?
Ejemplos reales de pedidos recibidos por WhatsApp, el número y la cuenta de Meta que usas hoy, la versión, edición y plan de Odoo, el catálogo con sus claves y empaques, quién confirma hoy los pedidos y el criterio de aceptación del piloto. Los accesos y tokens se acuerdan en la evaluación; no los compartas en el formulario.
Siguiente paso
Si tu comercializadora recibe pedidos por WhatsApp y opera Odoo, revisa la página de Odoo para comercializadoras, donde están reunidas esta guía, la de inventario antes de migrar y la de cotizaciones con IA, y la oferta de implementación de IA. Luego solicita una evaluación: definimos el canal, la edición, los permisos y los criterios de aceptación antes de cotizar.
Sobre el autor y Transgenia
Efraín Carreón Ortiz es Director General de Centrum Transgenia, una boutique tecnológica mexicana. Está acreditado con la insignia oficial Claude Code (Claude Partner Badge) emitida por Anthropic, verificable en Credly.
Transgenia es OpenAI Select Partner dentro del OpenAI Partner Network y partner registrado en el Claude Partner Network de Anthropic. Equipo: Víctor Estrada Bello, Chief PMO; Danild Johan Zambrana López, Chief Technology Officer; Jaime Lozano Castañeda, Chief Marketing Officer; Efraín Carreón Ortiz, Director General (Chief Executive Officer).
Hablemos: contacto@transgenia.org, WhatsApp +52 55 8034 0405, agenda de 15 minutos o la página de contacto.
Sigue leyendo
- Cómo integrar IA con Odoo para preparar cotizaciones que una persona apruebe: los estados de Odoo y los controles del servidor que esta guía da por sentados.
- Cómo corregir diferencias de inventario en Odoo antes de migrar: catálogo y existencias confiables antes de conectar cualquier canal.
- Agentes de IA para ventas B2B en México: cómo diseñamos un agente comercial gobernado y por qué no hace spam.
- ¿Quién integra Claude o ChatGPT con Odoo en México?: qué exigir por escrito a un integrador.
- Publicamos MCP-Odoo-Tools y la ficha del servidor MCP: la capa de consulta a Odoo.
- Odoo para comercializadoras B2B: el hub de la vertical.