Odoo Skill
Después de instalar el módulo, corré esta rutina con tu agente (Claude Code, Cursor, Codex, etc.) para validar que payment_talo quedó bien instalado y operativo en tu Odoo.
💡
Copiá el skill completo con el botón de copiar del bloque de abajo, guardalo
como un skill de tu agente (por ejemplo install-and-validate/SKILL.md) y
pedile que lo ejecute contra tu instancia.
Skill: install-and-validate
---
name: install-and-validate
description: Instala el módulo payment_talo en una instancia Odoo 17 propia y valida que la integración con Talo quedó operativa. Usar cuando el usuario pide instalar, configurar o diagnosticar el módulo de pagos Talo.
---
# Instalación y validación de `payment_talo`
Guía para instalar este módulo en un Odoo propio (no en el repo demo de Talo) y confirmar que quedó
funcionando de punta a punta. Está pensada para que la use el agente/desarrollador del cliente, cuyo
entorno puede ser Docker, apt/deb, código fuente, Odoo.sh, o gestionado por un partner — por eso no
prescribe comandos fijos, sino qué lograr en cada paso. Adaptá cada acción al entorno real que
encuentres.
## Qué es este módulo
`payment_talo` agrega un proveedor de pago para Odoo que permite cobrar por transferencia bancaria
con acreditación automática vía Talo: el cliente ve un Alias/CVU en el checkout, transfiere, y cuando
Talo confirma el pago (vía webhook) la orden de venta se confirma sola, sin intervención manual.
## 1. Requisitos a confirmar antes de instalar
- Odoo **17.0** (Community o Enterprise).
- Los módulos `payment`, `account` y `l10n_ar` deben estar disponibles (son `depends` del manifest;
Odoo los instala solos si faltan, pero confirmá que existen en el `addons_path`).
- Credenciales de API de Talo: `user_id`, `client_id`, `client_secret` (de sandbox y/o producción).
- El sitio Odoo debe ser accesible públicamente por **HTTPS**. El webhook de Talo no puede llegar a
`localhost` ni a una IP privada — sin esto la orden nunca se confirma sola.
- Moneda **ARS** configurada en la compañía.
## 2. Instalación (adaptá al tipo de despliegue)
Primero identificá cómo está desplegado ese Odoo — Docker/docker-compose, apt/deb, instalación desde
código fuente, Odoo.sh, o administrado por un tercero — porque cambia dónde vive el `addons_path` y
cómo se reinicia el servicio.
1. **Ubicá el `addons_path` real.** Como referencia orientativa (puede variar):
| Tipo de instalación | Path típico de addons custom |
|---|---|
| Docker oficial (docker-compose) | Un volumen montado en `/mnt/extra-addons` dentro del contenedor |
| apt/deb (Debian/Ubuntu) | `/opt/odoo/custom-addons` o similar — nunca dentro de la carpeta `addons` del core |
| Código fuente (`git clone odoo/odoo`) | Una carpeta separada agregada aparte, no dentro de `odoo/addons` del core |
| Odoo.sh | El módulo va directo en el repo del proyecto, junto a otros addons — no aplica copiar a mano |
Nunca mezcles módulos custom dentro de la carpeta `addons` del core: usá siempre una carpeta
separada agregada al `addons_path`, para no romper upgrades del core.
2. **Copiá `payment_talo/`** (esta carpeta) a esa ubicación y confirmá que el path está listado en
`addons_path` del `odoo.conf`.
3. **Reiniciá el servicio de Odoo** para que detecte el módulo nuevo. El mecanismo depende del
entorno (reinicio de contenedor, `systemctl`, proceso propio, redeploy en Odoo.sh, etc.) — el
objetivo es que el proceso de Odoo vuelva a arrancar leyendo el `addons_path` actualizado.
4. **Instalá el módulo:**
- Por UI: **Apps → Update Apps List**, buscar **"Payment Provider: Talo"** e instalar.
- Por línea de comandos (si hay acceso): `-i payment_talo` al arrancar Odoo.
## 3. Configuración
En **Sitio web/Contabilidad → Configuración → Proveedores de pago → Talo**:
- Cargar `talo_user_id`, `talo_client_id`, `talo_client_secret`.
- Elegir **Estado**: *Modo de prueba* (sandbox) o *Habilitado* (producción) — define contra qué API
de Talo se opera.
- **Publicar** el proveedor. Si no está publicado, no aparece en el checkout.
- Opcional: color de marca del encabezado de la página de instrucciones (`talo_brand_color`).
En **Ajustes → Sitio web**: configurar la **URL base pública** del sitio. Es crítico — de ahí sale el
`webhook_url` que el módulo le manda a Talo en cada pago. Si apunta a `localhost` o a un dominio
incorrecto, los pagos nunca se confirman solos.
## 4. Checklist de validación post-instalación
Esta es la parte que responde a "¿quedó todo funcionando?". Verificá cada punto con el medio que
tengas disponible en ese entorno (UI de Odoo, XML-RPC, acceso a shell/DB, logs) — el skill no asume
uno en particular:
- [ ] El módulo figura como **instalado** (en Apps, o el estado correspondiente del módulo).
- [ ] Existe un proveedor de pago con código `talo` y tiene un método de pago asociado creado
automáticamente al instalar (si falta, la instalación quedó a medias — revisar logs de
instalación).
- [ ] El proveedor está **publicado** y en el estado esperado (test o enabled, según las credenciales
cargadas).
- [ ] El checkout del sitio muestra **"Transferencia Talo"** como opción de pago.
- [ ] Una compra de prueba en sandbox llega a la página de instrucciones con Alias, monto y
vencimiento visibles.
- [ ] La URL base configurada es pública y HTTPS (no `localhost` ni una IP interna) — condición
necesaria para que el webhook de Talo pueda llegar.
- [ ] Al simular el pago en el simulador de sandbox de Talo, la transacción pasa a **confirmada** y la
**orden de venta se confirma sola**, sin intervención manual. Esta es la prueba end-to-end real
de que la integración funciona.
- [ ] Los logs con prefijo `TALO` no muestran errores de autenticación (401) ni de conexión.
## 5. Troubleshooting
| Síntoma | Causa probable | Qué revisar |
|---|---|---|
| El pago queda pendiente para siempre aunque se transfirió | El webhook no llega: URL base en `localhost` o incorrecta | URL pública HTTPS en Ajustes → Sitio web. Para desarrollo local, usar un túnel tipo ngrok |
| "No suitable payment method" en el checkout | Proveedor no publicado | Publicarlo desde el formulario del proveedor |
| Error de autenticación / credenciales inválidas | Credenciales incorrectas o de un entorno distinto al configurado (sandbox vs producción) | Revisar `user_id`/`client_id`/`client_secret` y que coincidan con el Estado del proveedor |
| No se pudo conectar con Talo | Sin salida a internet desde el servidor de Odoo, o API de Talo caída | Probar conectividad HTTP saliente desde el servidor hacia la API de Talo; revisar logs con prefijo `TALO` |
| Error de campos requeridos en el checkout | Campos de `l10n_ar` obligatorios del partner (CUIT, responsabilidad AFIP) sin completar | Completar tipo y número de identificación en el formulario de dirección del checkout |
## 6. Más allá de este skill
Este skill es deliberadamente acotado a instalar y validar. Para arquitectura interna, diagramas de
flujo y mapeo completo de estados, pedile a Talo la documentación completa o consultá
docs.talo.com.ar.Cómo usarlo
- Copiá el contenido del bloque.
- Pegalo en la carpeta de skills de tu agente (o pegaselo directo en el prompt).
- Pedile algo como: "Corré el skill install-and-validate contra mi Odoo y confirmá que Talo quedó operativo."
- El agente debería seguir el checklist de validación (módulo instalado, proveedor publicado, checkout, webhook, sandbox).
Cuando el skill termina en verde, tu integración está lista para probar end-to-end (o pasar a producción).