
La odoo api sirve para que un agente IA lea y escriba datos en Odoo sin entrar por la interfaz: contactos, facturas, apuntes, pagos, conciliaciones y estados del cierre. El punto crítico no es “conectar ChatGPT a Odoo”. Es decidir qué puede hacer el agente solo, qué debe proponer y qué debe aprobar una persona antes de tocar Verifactu, SII o el Modelo 303.
En 2025, el 23,1% de las empresas de la UE ya usaba IA en contabilidad, control o gestión financiera, según Eurostat. Para una gestoría con Odoo contabilidad, la pregunta práctica es otra: cómo automatizar el ciclo cliente → factura → asiento → tesorería → cierre sin perder trazabilidad.
Qué expone la odoo api: XML-RPC, JSON-RPC y External API
La External API de Odoo expone modelos, campos y métodos del ORM a sistemas externos. En la práctica, tu agente llama a `res.partner`, `account.move`, `account.payment` o `account.bank.statement.line` igual que lo haría un módulo interno, pero desde fuera. La documentación oficial de Odoo para desarrolladores es el punto de partida.
Odoo documenta dos vías principales para integraciones externas: XML-RPC y JSON-RPC. La página de Odoo External API (XML-RPC y JSON-RPC) cubre autenticación, ejecución de métodos y lectura de modelos. Si vienes buscando odoo api rest u odoo rest api authentication, conviene aclararlo: la API externa oficial no se presenta como una REST API clásica con recursos tipo `GET /invoices`.
Eso afecta al diseño del agente. No pienses en “odoo api endpoints” como una lista fija de rutas REST. Piensa en una puerta de entrada a modelos y métodos:
- Base de datos: instancia concreta de Odoo.
- Usuario: identidad técnica o humana.
- Clave: contraseña o odoo api key.
- Modelo: objeto de negocio.
- Método: lectura, creación, escritura o acción.
Ejemplo mínimo con XML-RPC:
```python import xmlrpc.client
url = "https://miempresa.odoo.com" db = "miempresa" username = "api-contabilidad@miempresa.com" api_key = "TU_API_KEY"
common = xmlrpc.client.ServerProxy(f"{url}/xmlrpc/2/common") uid = common.authenticate(db, username, api_key, {})
models = xmlrpc.client.ServerProxy(f"{url}/xmlrpc/2/object") partners = models.execute_kw( db, uid, api_key, "res.partner", "search_read", [[["is_company", "=", True]]], {"fields": ["name", "vat"], "limit": 10}, ) ```
La diferencia entre XML-RPC y JSON-RPC suele ser de stack, no de permisos contables. XML-RPC encaja bien en scripts y librerías maduras. JSON-RPC puede ser más cómodo si tu orquestador trabaja con JSON. En ambos casos, el control real está en el usuario, los grupos, las reglas de acceso y el diseño del flujo.
Mapa de api odoo por flujo del cierre mensual
La api odoo cubre el cierre mensual si mapeas el flujo por modelos, no por pantallas. El agente no necesita “ver Odoo”. Necesita saber qué leer, qué comparar y qué dejar en borrador. En odoo cierre contable, el patrón seguro es proponer primero y publicar después de revisión.
Flujo | Modelos habituales | Acción del agente | Control humano |
|---|---|---|---|
Cliente y proveedor | `res.partner` | Validar NIF, duplicados y datos fiscales | Alta o fusión de terceros |
Facturación | `account.move` | Preparar facturas y rectificativas en borrador | Emisión y envío |
Asientos contables Odoo | `account.move.line` | Sugerir cuentas, impuestos y analytic tags | Publicación del asiento |
Tesorería | `account.payment` | Cruzar pagos con facturas abiertas | Confirmación de pago |
Conciliación bancaria Odoo | `account.bank.statement.line` | Proponer matching y diferencias | Validación de conciliación |
IVA | impuestos y movimientos | Preparar base del Modelo 303 | Presentación fiscal |
Informativas | saldos y terceros | Señalar umbrales del Modelo 347 | Revisión anual |
Para odoo facturación electrónica, Verifactu y SII, el agente debe tratar la emisión como zona de alto riesgo. Puede revisar coherencia, detectar campos ausentes y preparar borradores. No debe inventar datos fiscales ni marcar una factura como lista para envío a AEAT sin una regla aprobada.
Aquí entra el diseño del ciclo contable con IA Odoo. Una buena integración separa tres estados:
- Lectura: el agente observa facturas, bancos y saldos.
- Propuesta: crea borradores, notas y reconciliaciones sugeridas.
- Ejecución: una persona aprueba la acción irreversible.
Ese patrón evita que odoo inteligencia artificial se convierta en una caja negra dentro de la contabilidad.
Autenticación, claves de API y scopes en Odoo Online, Odoo.sh y On-Premise
La autenticación de la odoo api depende de la edición y de la versión, pero el principio no cambia: usa una identidad técnica con permisos mínimos. En Odoo Online, Odoo.sh y On-Premise puedes trabajar con credenciales de usuario y, cuando está disponible, una clave de API generada desde las preferencias del usuario.
La pregunta “cómo generar api key en Odoo” suele resolverse desde la cuenta del usuario: preferencias, seguridad de la cuenta y generación de clave. La clave se usa como sustituto de la contraseña en llamadas externas. No la metas en código ni la compartas entre entornos.
Checklist mínimo:
- Usuario técnico separado por entorno.
- Grupos contables limitados a lo necesario.
- Sin permisos de administrador para el agente.
- Clave distinta para desarrollo y producción.
- Rotación documentada.
- Logs de cada llamada relevante.
- Revocación inmediata si cambia el proveedor.
Odoo no debe ser el lugar donde guardas secretos del agente. Usa un gestor de secretos externo, variables de entorno cifradas o el vault de tu plataforma. Si trabajas On-Premise, añade control de red: IP allowlist, TLS correcto y separación entre staging y producción.
No inventes scopes si tu instancia no los expone como un sistema OAuth granular. En muchas implantaciones, el “scope” real son los grupos de Odoo, las reglas de registro y los métodos que tu capa intermedia permite ejecutar. Por eso suele convenir poner una API propia delante del agente.
Automatizaciones nativas y webhooks: el sustrato reactivo del agente IA
Un agente contable no debería consultar Odoo cada minuto para descubrir cambios. Lo correcto es reaccionar a eventos: factura creada, extracto importado, pago registrado, asiento publicado o cierre bloqueado. Odoo permite automatizaciones, server actions y acciones programadas. Según tu edición y módulos, también puedes montar webhook Odoo con código o conectores.
El matiz importa. Cuando alguien busca odoo webhook o webhook odoo, puede esperar un panel nativo de eventos como en Stripe. En Odoo, muchas veces el patrón real es:
- Acción automatizada sobre un modelo.
- Server action que llama a una URL externa.
- Módulo personalizado en Odoo.sh u On-Premise.
- Cola de trabajos para evitar duplicados.
- Orquestador externo que recibe el evento.
Ejemplo de payload útil para un agente:
```json { "event": "account.move.created", "model": "account.move", "id": 18422, "company_id": 3, "state": "draft", "move_type": "out_invoice", "timestamp": "2026-05-03T09:30:00Z" } ```
El agente no necesita todo el documento en el webhook. Necesita un identificador, contexto y permiso para consultar por API. Así reduces exposición de datos y mantienes trazabilidad.
Para integraciones Odoo con IA Odoo, los eventos buenos son los que disparan trabajo revisable:
- Nueva factura de cliente en borrador.
- Extracto bancario importado.
- Diferencia de conciliación superior a una regla.
- Factura con NIF o impuesto inconsistente.
- Asiento manual publicado fuera de calendario.
- Cierre mensual pendiente de aprobación.
Odoo Verifactu, SII y Modelo 303: integración por API con control humano
Odoo Verifactu y Odoo SII no son “un endpoint más”. Son flujos regulados con efectos fiscales. La AEAT fija obligaciones, formatos y plazos, y tu implantación de Odoo debe respetar la localización española concreta que uses. Verifactu será obligatorio el 1 de enero de 2027 para sujetos pasivos del Impuesto sobre Sociedades y el 1 de julio de 2027 para autónomos y demás obligados, según la AEAT.
Consulta siempre la página de AEAT sobre Verifactu y la de AEAT sobre SII antes de cerrar el diseño. También revisa si tu edición, versión y localización cubren el conector que necesitas. En Odoo Community, búsquedas como verifactu odoo community suelen llevar a módulos OCA, desarrollos de partner o adaptaciones específicas. No lo trates como cobertura nativa universal.
El agente puede aportar valor antes de la presentación:
- Comprobar NIF, serie, fecha e impuestos.
- Señalar facturas sin datos obligatorios.
- Comparar facturas emitidas con estados SII.
- Preparar revisión del Modelo 303.
- Detectar terceros relevantes para Modelo 347.
- Redactar explicación de variaciones para el gestor.
Pero hay acciones que deben quedar fuera de la ejecución autónoma: enviar registros fiscales, emitir facturas definitivas, rectificar importes sin aprobación o bloquear un periodo. El human-in-the-loop no es decoración. Es la barrera entre asistencia contable y riesgo fiscal.
API directa frente a iPaaS, Zapier, Make, n8n y MCP
La API directa da más control, pero no siempre es la primera opción. Para una gestoría, la decisión depende del volumen, el riesgo fiscal, el equipo técnico y la necesidad de auditar cada paso. Zapier Odoo, Odoo Zapier, Odoo Make y n8n pueden acelerar pruebas. La API directa suele ganar cuando el cierre mensual ya es crítico.
Camino | Cuándo encaja | Límite principal |
|---|---|---|
API directa | Alto volumen, permisos finos, auditoría | Más ingeniería |
Zapier o Make | Prototipos y flujos simples | Menos control contable |
n8n | Orquestación propia y lógica intermedia | Requiere operación técnica |
Servidor MCP | Agente con herramientas tipadas | Aún necesitas permisos y logs |
Minded sobre Odoo | Trabajo contable repetible con revisión humana | Requiere definir el flujo real |
Si ya tienes un equipo técnico, empieza por una capa propia pequeña. Expón solo operaciones permitidas al agente: leer factura, crear borrador, proponer conciliación, adjuntar memo, marcar para revisión. No le des acceso genérico a `execute_kw` sin una política encima.
Si estás comparando integraciones, la guía de Odoo + n8n y Zapier con un agente IA ayuda a separar prototipo de producción. También puedes contrastar patrones con la guía equivalente de la API de Holded y la guía equivalente de la API de Cegid, porque los riesgos de cierre son parecidos aunque cambie el ERP.
Cómo encaja Minded sobre la API de Odoo en una gestoría
Minded encaja como una capa de agente contable sobre Odoo, no como sustituto del ERP. El patrón es simple: tú mantienes Odoo como sistema de registro, y el agente trabaja sobre tareas repetibles del ciclo contable. Lee, compara, propone y deja evidencias para que el gestor apruebe.
Para una gestoría, eso suele significar:
- Categorizar según criterio por cliente.
- Preparar conciliaciones bancarias.
- Redactar memos de variación.
- Señalar anomalías antes del cierre.
- Preparar revisión de IVA.
- Mantener trazabilidad del trabajo.
El enfoque no es “odoo chatgpt” pegado a una pantalla. Es un agente con herramientas limitadas, evaluaciones y revisión humana. En producción, Minded ha documentado su viaje al 99,8% de precisión y la arquitectura ADLC loop para desarrollar agentes con evaluación continua.
Si quieres ver el ángulo contable, el artículo sobre el agente contable de Minded sobre Odoo baja esta arquitectura al trabajo de gestoría. Para el contexto específico del plan contable español dentro de Odoo, la guía de Odoo contabilidad española con IA explica cómo se adapta la localización española al flujo del agente. Y si tu prioridad ahora es preparar Verifactu, la guía sobre Verifactu en el ERP con IA para gestorías cubre el mismo patrón de control: automatizar lo repetible, aprobar lo fiscalmente sensible.
Para presupuesto, no extrapoles desde licencias de ERP ni desde un conector genérico. Revisa los precios de Minded y contrástalos con tu volumen real: número de libros, cierres al mes, reglas por cliente y horas de revisión.

