Si alguien te ofrece «que la IA cotice sola», la pregunta correcta no es qué modelo usa, sino en qué estado deja la cotización, qué puede leer, qué no puede escribir y quién aprueba. Esta guía responde eso con los estados y la documentación de Odoo, y con el método que aplicamos en Transgenia.
Ver diagrama Mermaid
mindmap
root(("Cotizaciones preparadas por IA, aprobadas por una persona"))
Requisitos y alcance
edición y plan de Odoo
API externa solo plan Custom en Online
clave API rotada
Siete pasos
solicitud
extracción estructurada
consulta solo lectura
borrador en Cotización
notificación
aprobación humana
medición
Estados y acciones
Reglas de automatización
Qué puede salir mal
Ejemplo hipotético
Qué opinamos y fuentes
Requisitos y alcance
| Punto | Qué necesitas | Qué no cubre esta guía |
|---|---|---|
| Edición de Odoo | Community o Enterprise. El modelo de cotización (sale.order) y sus estados existen en ambas. Studio (reglas de automatización) es de pago: en Odoo Online, instalarlo cambia la base al plan Custom. | Módulos de terceros de aprobación de la tienda de Odoo: existen, pero no los evaluamos aquí. |
| Despliegue y plan | Servidor propio u Odoo.sh: la API externa está disponible. Odoo Online: «Access to data via the external API is only available on Custom Odoo pricing plans»; no está en One App Free ni Standard. | Precios de planes y de la IA: van en una guía aparte de factores de costo. |
| Versión | Odoo 19 usa la API JSON-2 con clave API como bearer token. En versiones anteriores, JSON-RPC o XML-RPC; ambas están programadas para retirarse en Odoo 22. | Odoo anterior a 13 (fuera del alcance del servicio de Transgenia). |
| Credenciales | Una clave API creada por un usuario con los permisos mínimos (Preferencias ‣ Seguridad de la cuenta ‣ Nueva clave API) y rotada al menos cada tres meses. | Nunca pedimos claves en formularios ni en chat. |
| Capa de IA | Claude o ChatGPT vía API, o un servidor MCP (por ejemplo, el servidor abierto de Transgenia en modo de solo lectura) para que el agente consulte Odoo con herramientas acotadas. | Agentes que escriben directamente sobre el ERP sin estado de borrador: no los recomendamos. |
| Personas | Un vendedor que aprueba, un responsable de precios y alguien que define los criterios de aceptación. | Sustituir al vendedor. La IA prepara; la persona decide. |
Paso a paso: de la solicitud a la cotización aprobada
1. Define qué cuenta como solicitud y por dónde llega
Correo, WhatsApp, formulario web, PDF o Excel. Para empezar, elige un solo canal y una sola categoría de productos. Un piloto acotado permite medir errores antes de ampliar.
2. Extrae datos estructurados, no prosa
La IA convierte el texto del cliente en un registro con cliente, líneas (producto, cantidad, unidad), fecha de entrega y condiciones. Si falta un dato o hay dos productos compatibles, el agente pregunta; no completa por su cuenta. Los proveedores de modelos ofrecen salidas estructuradas para esto; úsalas.
3. Consulta Odoo con permisos de solo lectura
El agente busca el cliente en Contactos, mapea cada línea con el catálogo (clave, variante, unidad), lee la lista de precios asignada, los impuestos y la disponibilidad. Odoo calcula precios, descuentos e impuestos; la IA no inventa ni recalcula importes. Con un servidor MCP en modo de solo lectura, cualquier intento de escritura se rechaza antes de llegar a Odoo.
4. Crea la cotización en estado Cotización
Una cuenta técnica distinta a la del agente, con permiso de crear cotizaciones y nada más, registra el borrador con una etiqueta visible («Generada por IA») y una nota en el chatter que indique la solicitud de origen y la fecha. El estado inicial es Cotización. Nada se envía.
5. Notifica al vendedor con el resumen y las advertencias
Una actividad en Odoo o un aviso al canal del equipo con el enlace al borrador, los productos ambiguos, las existencias insuficientes y las condiciones fuera de política.
6. Revisión y aprobación humana
El vendedor corrige cantidades, precios o condiciones y decide. Solo entonces hace clic en Enviar por correo o 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».
7. Mide antes de ampliar
Porcentaje de borradores aprobados sin cambios, errores por tipo (producto, cantidad, precio), tiempo del vendedor por cotización y cotizaciones que requirieron aclaración. Con esos datos se decide si se amplía el canal o la categoría.
Ver diagrama Mermaid
flowchart TB
S1["1. Solicitud del cliente: correo, WhatsApp, formulario o PDF"] --> S2["2. La IA extrae datos estructurados y pregunta si falta algo"]
S2 --> S3["3. Consulta Odoo con permisos de solo lectura: cliente, catálogo, precios, existencias"]
S3 --> S4["4. Cuenta técnica crea la cotización en estado Cotización, con etiqueta y nota"]
S4 --> S5["5. Actividad o aviso al vendedor con las advertencias"]
S5 --> S6{"6. ¿La persona aprueba?"}
S6 -- "Corrige" --> S4
S6 -- "Sí" --> S7["Enviar por correo o Confirmar: solo una persona"]
S7 --> S8["7. Medir: aprobadas sin cambios, errores, tiempo, aclaraciones"]
Estados y acciones permitidas
| Estado en Odoo | Quién puede llevarla ahí | Qué se permite |
|---|---|---|
| Cotización (borrador) | La integración, con una cuenta técnica de permisos mínimos | Crear y editar líneas, etiquetar «Generada por IA», dejar nota en el chatter |
| Cotización enviada | Solo una persona, con Enviar por correo | Prohibido para el agente; el servidor valida que la IA no pueda invocar la acción |
| Pedido de venta | Solo una persona, con Confirmar (o el cliente desde el portal, si está configurado) | Prohibido para el agente; dispara entregas y facturación |
| Cancelada | Una persona | Registrar el motivo |
Dos reglas que no son opcionales. Primera: el servidor valida el estado antes de ejecutar el envío; un botón de aprobación en la interfaz no es un control si la integración puede saltárselo. Segunda: si alguien modifica precios o cantidades después de la aprobación, la cotización regresa a revisión y queda registrado quién aprobó cada versión.
Ver diagrama Mermaid
stateDiagram-v2
[*] --> Cotizacion: la integración crea el borrador
state "Cotización (borrador)" as Cotizacion
state "Cotización enviada" as Enviada
state "Pedido de venta" as Pedido
Cotizacion --> Enviada: persona, Enviar por correo
Cotizacion --> Pedido: persona, Confirmar
Enviada --> Pedido: persona o cliente desde el portal
Cotizacion --> Cancelada: persona
Enviada --> Cotizacion: cambian precios o cantidades, vuelve a revisión
Dónde encajan las reglas de automatización de Odoo
Las reglas de automatización de Studio «allow the execution of one or more predefined actions in response to a specific trigger». Hay cinco categorías de disparador (valores actualizados, eventos de correo, condiciones de tiempo, personalizados y externos) y acciones como actualizar registro, crear actividad, enviar correo o SMS, enviar WhatsApp, ejecutar código o enviar un webhook. Sirven para avisar al vendedor cuando llega un borrador etiquetado o para devolver a revisión una cotización cuyo total cambió. No sirven para sustituir el control del servidor: la documentación recomienda activar el modo desarrollador para los filtros y, en Odoo Online, instalar Studio cambia la base al plan Custom.
Ver diagrama Mermaid
flowchart TB
A["Agente de IA: permisos de solo lectura"] --> B["Cuenta técnica separada: solo crear cotizaciones"]
B --> C["Servidor valida el estado antes de enviar"]
C --> D["Persona aprueba; queda registrado quién"]
D --> E["Envío o confirmación"]
B -. "clave de idempotencia por mensaje de origen" .-> B
D -. "si cambian precios o cantidades" .-> C
Qué puede salir mal
- Productos ambiguos. «Pintura blanca» puede ser cinco referencias. Sin búsqueda difusa y sin pregunta de confirmación, el borrador sale con el producto equivocado y el vendedor deja de confiar en la herramienta.
- Precios inventados. Si el modelo calcula o «estima» un precio, el control se rompe aunque la cotización esté en borrador. Los precios y los impuestos los calcula Odoo.
- Duplicados por reintentos. Un mismo correo o mensaje puede disparar dos veces la integración. Usa el identificador del mensaje de origen como clave de idempotencia.
- Agente con permisos de escritura amplios. Una cuenta con acceso a Confirmar o a facturar convierte un error de interpretación en una venta o un CFDI. Permisos mínimos y cuenta técnica separada.
- Plan de Odoo Online sin API externa. Con One App Free o Standard no hay API externa; el proyecto se detiene en la primera llamada.
- Claves sin rotar. La documentación de Odoo pide rotar las claves de larga duración al menos cada tres meses.
- CFDI por reflejo. Confirmar un pedido no debe timbrar nada por sí solo. La facturación sigue su propio flujo autorizado.
Ejemplo hipotético
Este ejemplo ilustra un flujo propuesto; no presenta resultados de un cliente ni cifras. Una distribuidora recibe por correo: «Necesito 20 cajas de guantes de nitrilo medianos y 5 de guantes grandes, entrega el jueves, factura al RFC de siempre». La IA extrae dos líneas, la fecha y la instrucción de facturación; encuentra dos presentaciones de guante mediano 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» y la nota «origen: correo del 12 de octubre». El vendedor recibe una actividad, ve que hay 18 cajas disponibles del mediano, ajusta a 18 y 7, y envía. La instrucción de facturar no se ejecuta: la factura la emite contabilidad cuando corresponda. Si faltara un precio o el agente no tuviera permiso de leer la lista de precios, el flujo se detendría pidiendo validación. Consultar existencias no equivale a reservarlas.
Qué opinamos en Transgenia
- La IA propone; la persona decide. No vendemos agentes que confirmen, envíen o facturen solos. Durante los primeros meses, toda escritura pasa por una persona que aprueba.
- Solo lectura primero. Empezamos con el servidor MCP en modo de solo lectura (rechaza toda escritura antes de llegar a Odoo) y ampliamos permisos con evidencia, no con promesas.
- El control vive en el servidor, no en el botón. Si una integración puede saltarse la aprobación, no hay aprobación.
- Primero datos confiables. Si el catálogo tiene duplicados o los precios no cuadran, la IA solo acelera los errores. Por eso la guía de inventario antes de migrar va antes que esta.
- Alcance honesto. El servidor abierto cubre Odoo 10 a 19; el servicio de Transgenia se ofrece para Odoo 13 a 19, lo que podemos sostener con soporte real.
Sobre la herramienta que usamos: 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, modo de solo lectura y aviso de privacidad (Transgenia no intermedia ni almacena los datos; los resultados van al cliente MCP y al proveedor del modelo). Está en PyPI como odoo-mcp-tools 1.4.0 y como plugin «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, 203 cuentas activas en 28 días y 0 errores en 15,651 cargas.
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, Create quotations: la cotización se crea en Ventas y, al confirmar, «the status changes to Sales Order» y «it officially turns into a sales order, which can then be invoiced and paid for».
- 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; creación en Preferencias ‣ Seguridad de la cuenta ‣ Nueva clave API; rotación al menos cada tres meses; XML-RPC y JSON-RPC programados para retirarse en Odoo 22.
- Odoo 19, Automation rules (Studio): definición, cinco categorías de disparador y lista de acciones; modo desarrollador recomendado.
- Odoo, planes y precios: «If you install Studio or add companies to your database, you will automatically switch to the Custom plan»; External API y Studio en la columna Custom.
- Repositorio MCP-Odoo-Tools (MIT): cobertura Odoo 10 a 19, Community y Enterprise, self-hosted y Online; 28 herramientas; «With Read-only mode (ODOO_READONLY=1) every write tool is refused before anything reaches Odoo»; aviso de privacidad.
- Paquete odoo-mcp-tools en PyPI: versión 1.4.0, licencia MIT, Python 3.9 o superior (verificado con la API de PyPI).
- Anthropic, anuncio del Model Context Protocol: MCP es un estándar abierto; el servidor de Transgenia lo implementa, el protocolo no es suyo.
- Panel de administración del directorio de Claude, datos al 11 de octubre de 2026, fuente interna de Transgenia: instalaciones, cuentas activas y cargas sin error del plugin Odoo Tools.
Preguntas frecuentes
¿Puede la IA enviar la cotización al cliente si una persona ya revisó una similar?
No en nuestro método. Cada cotización es una decisión comercial distinta: precios, disponibilidad y condiciones cambian. El agente la deja en estado Cotización y el envío lo ejecuta una persona. El servidor valida ese estado antes de permitir el envío, de modo que la integración no pueda saltárselo.
¿En qué estado de Odoo debe quedar una cotización preparada por IA?
En Cotización, el estado inicial del modelo sale.order, con una etiqueta visible y una nota en el chatter que indique su origen. Los estados Cotización enviada y Pedido de venta quedan reservados a una persona: el primero con Enviar por correo, el segundo con Confirmar, que según la documentación de Odoo 19 convierte la cotización en un pedido de venta facturable.
¿Qué permisos necesita el agente de IA en Odoo?
Lectura de contactos, productos, listas de precios y existencias, y nada más. La creación del borrador la hace una cuenta técnica separada con permiso de crear cotizaciones, sin acceso a confirmar, entregar ni facturar. Con un servidor MCP en modo de solo lectura, toda escritura se rechaza antes de llegar a Odoo.
¿Funciona en Odoo Online?
Solo si el plan incluye la API externa: según la documentación de Odoo 19, el acceso a datos por la API externa está disponible únicamente en el plan Custom, no en One App Free ni Standard. En servidor propio y en Odoo.sh no existe esa restricción.
¿Sirve igual con Claude que con ChatGPT?
Sí. El modelo extrae datos estructurados y pregunta cuando hay ambigüedad; el control del flujo (estado de borrador, permisos, validación del servidor) no depende del modelo. Claude Code ejecuta servidores MCP locales, por eso es donde corre el plugin de Odoo; ChatGPT se conecta mediante la API de OpenAI o conectores de cada proveedor.
¿Qué pasa si el cliente pide un producto que no existe en el catálogo?
El agente no debe inventarlo ni elegir «el más parecido» en silencio. Crea el borrador con la línea pendiente y una nota interna que indique el ítem no encontrado, o pregunta antes de crear nada. El vendedor resuelve.
¿Las reglas de automatización de Studio bastan para imponer la aprobación?
Sirven para avisar (crear una actividad, enviar un correo o un mensaje de WhatsApp) y para devolver a revisión una cotización cuyo total cambió. No sustituyen la validación del servidor sobre el estado antes de enviar. Studio es de pago: en Odoo Online, instalarlo cambia la base al plan Custom.
¿Cómo evito cotizaciones duplicadas cuando la integración reintenta?
Usa el identificador del mensaje o correo de origen como clave de idempotencia: si ya existe un borrador con ese origen, no se crea otro. Es uno de los controles que probamos antes de abrir el canal.
¿La cotización aprobada genera la factura automáticamente?
No. Confirmar un pedido no debe timbrar nada por sí solo; la facturación sigue el flujo autorizado de contabilidad, con su propia revisión. Separar la confirmación comercial del CFDI evita facturas emitidas por un mensaje mal interpretado.
¿Qué versión de Odoo necesito?
Odoo 19 ofrece la API JSON-2 con clave API; en versiones anteriores se usa JSON-RPC o XML-RPC, que están programadas para retirarse en Odoo 22. El servidor MCP abierto de Transgenia cubre Odoo 10 a 19; el servicio de implementación se ofrece para 13 a 19.
¿Qué debo preparar antes de pedir una evaluación de este flujo?
El canal por el que llegan las solicitudes, ejemplos reales de solicitudes, la versión, edición y plan de Odoo, las listas de precios vigentes, quién aprueba hoy las cotizaciones y qué criterio de aceptación usarías para el piloto. Los accesos se acuerdan en la evaluación; no compartas credenciales.
¿Cómo se mide si el flujo funciona?
Con cuatro números por semana: borradores aprobados sin cambios, errores por tipo (producto, cantidad, precio), tiempo del vendedor por cotización y solicitudes que requirieron aclaración. Sin medición con evidencia no publicamos cifras ni ampliamos el alcance.
Siguiente paso
Si tu empresa ya opera Odoo y recibe solicitudes de cotización por correo o WhatsApp, revisa primero la oferta de implementación de IA e integración con Odoo y, si eres comercializadora o distribuidora, la página de Odoo para comercializadoras, donde están las tres guías juntas. Luego solicita una evaluación: definimos el proceso, 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 conectar pedidos de WhatsApp con Odoo e IA: el mismo principio de borrador y confirmación humana, aplicado al canal de WhatsApp.
- Cómo corregir diferencias de inventario en Odoo antes de migrar: los datos confiables van antes que cualquier agente.
- ¿Quién integra Claude o ChatGPT con Odoo en México?: qué exigir por escrito a un integrador, incluido este flujo.
- Cómo Transgenia opera con agentes de IA gobernados: el modelo de borrador primero y VoBo aplicado a nuestra propia operación.
- Qué aislar antes de probar un agente con una copia de Odoo: la prueba segura previa a cualquier escritura.
- 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.