El proyecto que cambió mi forma de desarrollar
En enero de 2026 recibimos un encargo que normalmente habría tomado 6-8 semanas: construir un módulo logístico completo para INTETCA, un operador logístico costarricense que necesitaba orquestar entregas last-mile con múltiples carriers. Decidí usar Claude Code como copiloto de desarrollo desde el día uno.
El resultado: un módulo funcional de 839 líneas de especificación técnica, integración con dos APIs de carriers distintas (SOAP y REST), sistema de lealtad con 6 tiers y lógica de pricing dinámica. Todo en 4 días de trabajo efectivo.
El reto técnico en detalle
INTETCA necesitaba un sistema dentro de Odoo 19 que hiciera lo siguiente:
- Cotización dinámica basada en peso, dimensiones, zona geográfica y tipo de servicio
- Integración con Correos de Costa Rica vía su API SOAP (sí, SOAP en 2026)
- Integración con Moovin vía REST API para entregas express
- Sistema de lealtad con 6 niveles que afecta descuentos y prioridad de despacho
- Dashboard operativo con métricas de entregas, tiempos y costos por carrier
Cada uno de estos componentes tiene sus propias complejidades: el API SOAP de Correos CR requiere firma digital, Moovin tiene rate limiting, el pricing tiene excepciones por zona rural, y el sistema de lealtad necesita recalcular tiers mensualmente.
El enfoque con Claude Code
En lugar de empezar a codificar directamente, usé Claude Code para una fase de diseño que normalmente haría con papel y whiteboard.
Día 1: Especificación técnica
Le describí el problema de negocio a Claude Code en lenguaje natural. No en términos técnicos de Odoo, sino como me lo explicó el gerente de operaciones de INTETCA. Claude Code generó una especificación técnica que incluía:
- Diagrama de modelos de datos con relaciones
- Definición de cada campo con tipo, constraints y valores por defecto
- Flujo de estados para los envíos (borrador, cotizado, confirmado, en tránsito, entregado, incidencia)
- Reglas de acceso por grupo de usuario
- Estructura de vistas (tree, form, kanban, dashboard)
Revisé la especificación, hice ajustes donde INTETCA tenía reglas de negocio específicas que Claude Code no podía saber, y quedó lista.
Día 2: Modelos y lógica de negocio
Con la especificación aprobada, le pedí a Claude Code que generara los modelos Python siguiendo las convenciones de Odoo 19. El resultado fue sorprendentemente limpio:
- Herencia correcta de
models.Model - Campos
computecon dependencias bien definidas - Métodos
onchangepara UX dinámica - Constraints SQL y Python donde correspondía
- Decoradores
@api.modely@api.dependscorrectamente aplicados
Lo crítico aquí: Claude Code entiende el framework de Odoo. No genera código Python genérico que hay que adaptar. Genera código que usa self.env, recordsets, create/write/unlink y el ORM de Odoo correctamente.
Día 3: Integraciones con carriers
La integración con Correos CR fue el reto mayor. Su API SOAP usa WSDLs que no siempre están actualizados y requiere certificados digitales para firmar los mensajes. Claude Code me ayudó a:
- Generar el cliente SOAP usando
zeepcon manejo de certificados - Implementar retry logic con backoff exponencial para cuando el servicio de Correos no responde
- Mapear las respuestas SOAP a los modelos de Odoo
- Crear mocks para las pruebas unitarias sin depender del servicio real
Para Moovin, la integración REST fue más directa. Claude Code generó el conector completo con autenticación Bearer, paginación de resultados y webhooks para actualizaciones de estado en tiempo real.
Día 4: Vistas, reportes y pruebas
El último día fue para las vistas XML (formularios, listas, kanban del dashboard), los reportes QWeb para guías de envío imprimibles y las pruebas unitarias.
Claude Code generó 23 pruebas unitarias que cubrían los flujos principales: creación de envío, cotización, cambio de estado, cálculo de lealtad y edge cases como envíos a zonas rurales sin cobertura de un carrier.
Los números del resultado
- 839 líneas de especificación técnica documentada
- 2,400+ líneas de código Python funcional
- 680 líneas de vistas XML
- 23 pruebas unitarias pasando
- 4 días de desarrollo efectivo vs. 6-8 semanas estimadas originalmente
- Precio base configurado: CRC 4,500 para paquete XS en GAM con entrega Express D+1
Lecciones aprendidas
Claude Code no reemplaza al desarrollador. Lo que hace es eliminar el tiempo muerto entre "entender el problema" y "tener código funcional". Yo tomé todas las decisiones de arquitectura, revisé cada línea de código y ajusté la lógica de negocio donde la IA no tenía contexto suficiente.
La especificación es clave. El mayor ROI de usar Claude Code no fue la generación de código, fue la fase de especificación. Tener un documento técnico completo antes de escribir la primera línea de código evitó el 90% de los re-trabajos que normalmente ocurren.
El contexto de Odoo importa. Claude Code funciona bien porque tiene conocimiento profundo del framework de Odoo. Con un ERP propietario como SAP, este enfoque no funcionaría igual porque el modelo de programación no está en los datos de entrenamiento con la misma profundidad.
Lo que esto significa para las empresas
Si eres una empresa que necesita módulos Odoo personalizados, el tiempo y costo de desarrollo acaba de bajar significativamente. Lo que antes era un proyecto de USD 15,000 y 2 meses ahora puede ser un proyecto de USD 5,000 y 2 semanas.
Eso democratiza el acceso a software empresarial personalizado para empresas medianas que antes no podían justificar la inversión. Y en Latinoamérica, eso es un cambio de juego.