Odoo Pulse

Un analista de negocios con IA para tu ERP Odoo

Documentación

odoo-pulse

CI PyPI License: MIT

Un analista de negocios con IA para tu ERP Odoo. Haz una pregunta, obtén una respuesta — números, aspectos destacados, riesgos y un veredicto (en camino / en riesgo / fuera de camino) — a través del Model Context Protocol. Ya existen puentes CRUD para Odoo; esta es la capa de analítica que se sitúa encima.

business_pulse — a one-call company briefing

Las herramientas del analista

Cada herramienta responde a una pregunta de gestión completa en una sola llamada, devolviendo un informe estructurado con un veredicto — no un volcado de datos crudo que tengas que interpretar.

HerramientaResponde
business_pulse ⭐El informe matutino: ventas de ayer, nuevos clientes potenciales, facturas vencidas, tareas atrasadas, quién está ausente — con un veredicto a nivel de empresa
pipeline_reviewEmbudo CRM por etapa, tratos estancados, ingresos ponderados, tasa de cierre reciente
sales_snapshotIngresos de este período frente al anterior (Δ%), principales clientes/productos, presupuestos obsoletos
receivables_healthRangos de antigüedad de cuentas por cobrar/pagar, % vencido, principales deudores
inventory_riskFaltantes (pronóstico negativo) y stock muerto
absence_overviewQuién está ausente esta semana, aprobaciones pendientes, departamentos con cobertura insuficiente
procurement_watchCompras: recepciones tardías, solicitudes de cotización obsoletas, gasto abierto por proveedor
production_healthFabricación: órdenes retrasadas respecto a su inicio planificado, trabajo en proceso estancado
project_profitabilityProyectos: horas registradas frente a asignadas, costo/ingreso/margen, veredicto de consumo de presupuesto
project_budgetPresupuesto frente a real por proyecto, línea por línea — líneas sobre planificadas y gasto que el presupuesto no captura
team_workload · project_status_report · standup_digestEntrega de proyectos: miembros sobrecargados, proyectos en riesgo y un resumen diario de stand-up

Cada herramienta que reporta dinero acepta un filtro opcional company= y marca los totales en moneda mixta en lugar de sumarlos silenciosamente; los umbrales de veredicto (estancado %, vencido %, crecimiento %) son parámetros, para que puedas calibrarlos según tu negocio.

Semántica de zonas horarias

Todas las herramientas de informes aceptan timezone_offset (por defecto 7). Odoo almacena los campos datetime en UTC; las herramientas los desplazan por timezone_offset horas antes de agruparlos por día calendario, y las ventanas de días en los dominios se expresan como límites datetime en UTC. Los campos solo de fecha (p. ej., project.milestone.deadline, invoice_date_due, project.task.date_deadline) se comparan tal cual.

Campos según la versión

find_partner busca mobile solo en instancias que aún lo tienen (eliminado en Odoo 19), y list_timesheets reporta un error accionable cuando hr_timesheet no está instalado.

Por debajo, es la API externa XML-RPC estándar de Odoo — nada que instalar dentro de Odoo, funciona en Odoo Online, Odoo.sh y en instalaciones locales. Requiere Odoo 18+: las herramientas genéricas (search_read, read_records, …) aún funcionan en versiones anteriores, pero las herramientas de informes no están garantizadas allí.

Prueba el playground

¿No tienes cuenta de Odoo? Inicia un Odoo de demostración precargado con una historia que contar (un trato estancado, una factura vencida a 90 días, una falta de stock, alguien ausente hoy):

docker compose -f deploy/playground/compose.yml up -d

El primer arranque descarga ~4 GB de imágenes (Odoo + Postgres) y carga los datos de demostración — permite de 5 a 10 minutos según tu conexión. Luego apunta Claude hacia él y pídele que run business_pulse. Guía completa: docs/guides/playground.md.

Instalación y conexión

Agrégalo a Claude Code (sin paso de instalación — uvx lo obtiene):

claude mcp add odoo-pulse \
  --env ODOO_URL=https://acme.odoo.com \
  --env ODOO_DB=acme \
  --env ODOO_USERNAME=you@example.com \
  --env ODOO_API_KEY=your-api-key \
  --env ODOO_READ_ONLY=true \
  -- uvx odoo-pulse

Genera la clave API en Odoo en Configuración → Usuarios → (tu usuario) → Seguridad de la cuenta → Nueva clave API. Configuración para Claude Desktop y Cursor, además de alternativas con pip y Docker: docs/guides/install.md. Si una clave puede haber sido expuesta, consulta Si una clave API puede haber sido expuesta.

O con un clic:

Install in Cursor Install in VS Code

Solo lectura por defecto, escrituras seguras cuando las quieras

El servidor es de solo lectura de fábrica (ODOO_READ_ONLY=true). Las escrituras requieren cuatro controles independientes alineados: ODOO_READ_ONLY=false, ODOO_WRITABLE_MODELS (una lista de modelos permitidos separada por comas), ODOO_ALLOW_DELETE=true adicionalmente para eliminaciones, y un confirm=true por llamada — cada herramienta de escritura devuelve una vista previa en seco sin él. Los modelos del sistema nunca son escribibles. Detalles: docs/reference/tools.md#write-operations.

Más herramientas

Más allá de los informes del analista, hay ~60 herramientas de consulta conscientes del modelo que abarcan CRM, Ventas, Inventario, Contabilidad, RR. HH., Proyecto, Fabricación, PoS y aplicaciones Enterprise — actívalas mediante ODOO_TOOL_GROUPS. Catálogo completo y configuración: docs/reference/tools.md.

Pruebas

El conjunto simula la capa XML-RPC, por lo que no se necesita un Odoo real ni red:

pip install -e ".[dev]"
pytest

Para una verificación en vivo contra un Odoo real (solo lectura), consulta docs/reference/tools.md#live-smoke-test-against-a-real-odoo.

Licencia

MIT