Migración de Odoo 17 a Odoo 18: qué cambia, qué se interrumpe y cómo prepararse
Odoo lanza una versión principal cada año y cada actualización trae nuevas características, mejoras de rendimiento e, inevitablemente, cambios importantes. La migración de Odoo 17 a Odoo 18 requiere una planificación cuidadosa, especialmente si ejecuta módulos personalizados o depende de complementos de la comunidad. Esta guía cubre todo lo que necesita saber sobre la migración de Odoo 17 a 18: cambios clave, posibles roturas, pasos de preparación y estrategias de prueba.
¿Por qué actualizar a Odoo 18?
Odoo 18 introduce mejoras significativas en toda la plataforma:
- Nuevos componentes de OWL 3: Componentes de interfaz reescritos con rendimiento y experiencia de desarrollador mejorados
- Funciones impulsadas por IA: Puntuación predictiva de clientes potenciales, sugerencias de conciliación bancaria inteligente y creación de contenido asistida por IA
- Mejoras en las hojas de cálculo: Integración nativa de hojas de cálculo con datos de Odoo en tiempo real, tablas dinámicas y edición colaborativa
- Actualizaciones de fabricación: Programación de producción, portal de subcontratación e interfaz de tableta de planta mejorados
- Rendimiento: Cargas de página entre un 15 % y un 25 % más rápidas gracias a la agrupación de recursos optimizada y la carga diferida
- Creador de sitios web: Nuevos bloques de arrastrar y soltar, opciones de personalización de temas y edición móvil mejorada
Mantener versiones obsoletas significa perder parches de seguridad, perder acceso a las actualizaciones de los módulos de la comunidad y acumular deuda técnica que dificulta futuras migraciones.
Cronología: ¿Cuánto tiempo lleva una migración de Odoo?
| Complejidad | Módulos personalizados | Cronograma estimado | |---|---|---| | Estándar (sin código personalizado) | 0 | 1-2 semanas | | Bajo (pocos campos/vistas personalizados) | 1-5 | 2-4 semanas | | Medio (flujos de trabajo personalizados) | 5-15 | 4-8 semanas | | Alto (personalizaciones profundas) | 15+ | 8-16 semanas |
Estos cronogramas incluyen análisis, migración, pruebas y puesta en marcha. La variable más importante es la complejidad del módulo personalizado.
Cambios importantes en Odoo 18
Cambios en el marco OWL
Odoo 18 continúa la migración a OWL 3. Si sus módulos personalizados incluyen componentes JavaScript frontend, espere estos cambios:
Cambios clave en OWL:
- Ciclo de vida del componente:
willStartywillUpdatePropsse reemplazan con ganchossetup()yonWillStart - Compilación de plantillas: Las plantillas QWeb ahora se compilan en JavaScript optimizado en el momento de la compilación en lugar del tiempo de ejecución.
- Inyección de servicios: Acceda a servicios a través del patrón
this.env.servicesexclusivamente; las importaciones directas están en desuso - Agrupación de activos: La estructura del paquete
web.assets_backendha cambiado; actualice sus declaraciones de activos__manifest__.py
Ejemplo de migración:
// Odoo 17
class MyComponent extends Component {
async willStart() {
this.data = await this.rpc('/my/endpoint');
}
}
// Odoo 18
class MyComponent extends Component {
setup() {
onWillStart(async () => {
this.data = await this.env.services.rpc('/my/endpoint');
});
}
}
Cambios en el backend de Python
Cambios de modelo y campo:
fields.Monetaryahora requiere quecurrency_fieldse declare explícitamente (ya no es el valor predeterminadocurrency_id)- El decorador
@api.multise eliminó por completo (obsoleto desde v13, pero algunos módulos de la comunidad aún lo usan) - Cambio de comportamiento de
sudo():sudo()sin argumentos ahora usa explícitamente el SUPERUSUARIO en lugar del usuario OdooBOT search_count()ahora acepta un parámetrolimitopcional para optimizar el rendimiento
Métodos obsoletos para actualizar:
| En desuso (v17) | Reemplazo (v18) |
|---|---|
| CÓDIGO0 | fields.Many2one con atributo domain |
| CÓDIGO0 | _post_init_hook en manifiesto |
| SQL directo en modelos | self.env.cr.execute() con parametrización adecuada |
| website.published campo | website.is_published (renombrado) |
Ver y cambios de plantilla
- Vista de formulario: el contenedor
sheetahora es obligatorio para todas las vistas de formulario (anteriormente opcional) - Vista de lista: La etiqueta
treecambia oficialmente de nombre alist(el alias compatible con versiones anteriores todavía funciona pero genera advertencias de obsolescencia) - Vista Kanban: QWeb
t-escahora es el valor predeterminado;t-rawrequiere una suscripción explícita por motivos de seguridad - Reporte QWeb: Motor de renderizado de PDF actualizado; Pruebe todos los informes impresos para detectar cambios en el diseño.
Cambios en el esquema de la base de datos
Odoo 18 incluye cambios estructurales en las tablas principales:
sale.order.linegana nuevos campos para la gestión de suscripcionesaccount.move.lineincluye nuevas columnas relacionadas con la conciliación- Tabla
stock.quantreestructurada para mejorar el rendimiento con grandes inventarios - Tablas
mail.messageymail.activityoptimizadas con nuevos índices
Estos cambios de esquema son manejados por los scripts de migración integrados de Odoo para módulos estándar, pero los módulos personalizados que hacen referencia a estas tablas necesitan actualizaciones manuales.
Lista de verificación de preparación previa a la migración
1. Audite su instalación actual
Documente todo antes de comenzar:
- [] Listar todos los módulos instalados (oficiales, comunitarios y personalizados)
- [] Registrar la versión actual de Odoo y el nivel de parche
- [] Documentar todos los desarrollos personalizados (campos, modelos, vistas, informes, acciones programadas)
- [] Enumerar todas las integraciones externas (pasarelas de pago, transportistas, API de terceros)
- [] Exportar derechos de acceso actuales y configuración de reglas de registro
- [] Realice una copia de seguridad completa de la base de datos de producción y del almacén de archivos
2. Verifique la compatibilidad del módulo comunitario
Para cada módulo comunitario (OCA o de terceros):
- Verifique si existe una versión compatible con Odoo 18 en GitHub o en la tienda de aplicaciones Odoo
- Si no existe una versión compatible, decida si desea migrar el módulo usted mismo, buscar una alternativa o eliminar la funcionalidad.
- Contactar a los mantenedores del módulo para ETA en los puertos v18.
3. Prepare puertos de módulo personalizados
Para cada módulo personalizado, evalúe el esfuerzo de migración:
Bajo esfuerzo (1-3 días por módulo):
- Módulos con solo campos nuevos y vistas simples.
- Sin componentes JavaScript/OWL
- No se anulan los métodos principales modificados.
Esfuerzo medio (3-10 días por módulo):
- Módulos con componentes OWL que requieren actualizaciones.
- Anulaciones de métodos principales obsoletos o modificados.
- Informes personalizados que necesitan actualizaciones de QWeb
Alto esfuerzo (más de 10 días por módulo):
- Integración profunda con módulos principales modificados (contabilidad, inventario, sitio web)
- Aplicaciones complejas de interfaz OWL
- Módulos que utilizan ampliamente API obsoletas o eliminadas
Trabajar con especialistas en migración de Odoo experimentados reduce significativamente el tiempo y el riesgo de migrar módulos personalizados.
Pasos de ejecución de la migración
Paso 1: configurar el entorno de migración
Production (v17) ──backup──> Test Database (v17)
│
Upgrade to v18
│
Test Database (v18)
│
Validation & UAT
│
Production (v18)
Cree un entorno aislado con:
- Una nueva instalación del servidor Odoo 18
- Una copia de su base de datos de producción.
- Todos los módulos personalizados portados a v18
Paso 2: ejecutar la actualización de la base de datos
Para Odoo Enterprise: Utilice el servicio de actualización oficial de Odoo en Upgrade.odoo.com. Cargue su base de datos y Odoo SA ejecutará los scripts de migración para todos los módulos estándar.
Para la comunidad Odoo: Utilice el proyecto openupgrade de OCA. OpenUpgrade proporciona scripts de migración mantenidos por la comunidad para módulos estándar:
- Instale OpenUpgrade para la versión de destino.
- Ejecute la migración en su base de datos de prueba.
- Revise el registro de migración en busca de errores y advertencias.
- Solucione cualquier problema y vuelva a ejecutarlo hasta que esté limpio.
Paso 3: Portar módulos personalizados
Para cada módulo personalizado:
- Actualice la versión
__manifest__.pya18.0.x.x.x - Reparar el código Python (API obsoletas, firmas de métodos modificadas)
- Actualice los componentes JavaScript/OWL a patrones v3
- Corregir vistas XML (árbol a lista, contenedor de hojas, cambios de plantilla)
- Ejecute el conjunto de pruebas del módulo y solucione los fallos.
- Pruebe manualmente en el entorno de ensayo.
Paso 4: Verificación de datos
Después de la migración, verifique la integridad de los datos:
- Contabilidad: Compare los totales del balance de comprobación entre v17 y v18. Deben coincidir exactamente.
- Inventario: Verificar cantidades de stock para una muestra de productos de alto valor.
- Ventas/Compra: Confirma los pedidos abiertos y sus estados transferidos correctamente.
- Contactos: Verifique que los registros de clientes y proveedores estén intactos, incluidas direcciones y datos bancarios.
- Adjuntos: Verifique que los documentos, imágenes y archivos adjuntos sean accesibles.
Estrategia de prueba
Nivel 1: Pruebas automatizadas
Ejecute el conjunto de pruebas completo para cada módulo instalado. Solucione todas las fallas antes de continuar.
Nivel 2: Pruebas funcionales
Pruebe los flujos de trabajo empresariales principales de un extremo a otro:
- Crear una cotización, confirmarla, entregar bienes, crear una factura, registrar el pago
- Procesar una orden de compra mediante recibo y factura de proveedor.
- Ejecutar una orden de fabricación desde la lista de materiales hasta el producto terminado.
- Completar un ciclo completo de conciliación bancaria.
- Generar y verificar informes financieros clave.
Nivel 3: Prueba de aceptación del usuario (UAT)
Haga que los usuarios reales de cada departamento realicen sus tareas diarias en el entorno de prueba durante 5 a 10 días hábiles. Realice un seguimiento de los problemas en una hoja de cálculo compartida o en una herramienta de gestión de proyectos.
Nivel 4: Pruebas de rendimiento
Compare los tiempos de carga de páginas, la velocidad de generación de informes y el rendimiento de búsqueda entre v17 y v18 con volúmenes de datos a nivel de producción.
Estrategia de puesta en marcha
Enfoque recomendado: migración de fin de semana
- Viernes por la noche: Realice una copia de seguridad final de la producción. Congele todas las transacciones.
- Sábado: Ejecute la actualización en la base de datos de producción. Transfiera cualquier dato de último momento.
- Domingo: Complete la verificación de datos y la prueba de humo. Implementar en servidores de producción.
- Lunes por la mañana: Transmitir en vivo. Vigile de cerca durante las primeras 48 horas.
Tenga listo un plan de reversión: mantenga disponible la copia de seguridad de la base de datos v17 y la configuración del servidor para que pueda revertirla en cuestión de horas si surgen problemas críticos.
Preguntas frecuentes
P: ¿Puedo omitir versiones y migrar de Odoo 16 a Odoo 18 directamente? Sí, pero es más complejo. Cada versión tiene sus propios scripts de migración y omitir versiones agrava los cambios. El servicio de actualización de Odoo maneja saltos de múltiples versiones, pero la portabilidad de módulos personalizados requiere abordar los cambios importantes de cada versión omitida. Presuponga entre un 50 y un 100 % más de tiempo para migraciones de versiones múltiples.
P: ¿Mis informes personalizados dejarán de funcionar durante la migración? Potencialmente. Las plantillas de informes QWeb cambian con frecuencia entre versiones debido a estructuras de datos actualizadas y mejoras en el motor de renderizado. Pruebe todos los informes impresos (facturas, albaranes de entrega, órdenes de compra) después de la migración y ajuste las plantillas según sea necesario.
P: ¿Debo migrar o empezar de nuevo? Migre si tiene años de datos históricos, configuraciones complejas y usuarios capacitados. Comience de nuevo si su instalación actual está muy personalizada sin posibilidad de reparación, tiene problemas importantes con la calidad de los datos o si sus procesos comerciales han cambiado tanto que una reconfiguración sería más rápida. La mayoría de las empresas optan por la migración para preservar su historial operativo. Consulte a un socio consultor de Odoo para evaluar qué enfoque se adapta a su situación.
Soporte de migración profesional
Migrar entre versiones de Odoo es un proyecto técnico que se beneficia de manos experimentadas. Los servicios de migración de Odoo de ECOSIRE cubren el proceso completo: auditoría previa a la migración, portabilidad de módulos personalizados, migración de datos, pruebas y soporte de puesta en marcha.
Contacte a nuestro equipo para obtener una evaluación de la migración y una estimación del cronograma basado en su instalación específica de Odoo. Analizaremos sus módulos, personalizaciones y complejidad de datos para proporcionar un alcance y un presupuesto precisos.
Escrito por
ECOSIRE Research and Development Team
Construyendo productos digitales de nivel empresarial en ECOSIRE. Compartiendo perspectivas sobre integraciones Odoo, automatización de eCommerce y soluciones empresariales impulsadas por IA.
Artículos relacionados
Integración de Amazon.de Odoo: vender en el mercado más grande de Alemania con Odoo ERP
Cómo integrar Amazon.de con Odoo ERP para el mercado alemán. Cubre Logística de Amazon en Alemania, cumplimiento paneuropeo, IVA alemán, cumplimiento de VerpackG y conciliación de liquidaciones.
Ingresando al mercado de comercio electrónico alemán con Odoo: guía paso a paso para vendedores internacionales
Guía completa para vendedores internacionales que ingresan al mercado de comercio electrónico alemán. Cubre análisis de mercado, requisitos legales, registro de IVA, selección de mercado y configuración de Odoo ERP para vender a consumidores alemanes.
Gestión de retornos del comercio electrónico alemán con Odoo: estrategias para mercados de alto retorno
Cómo manejar las altas tasas de devolución del comercio electrónico en Alemania utilizando Odoo ERP. Cubre flujos de trabajo de procesamiento de devoluciones, análisis de códigos de motivo, automatización de reposición de existencias y políticas específicas del mercado para Zalando, Otto, Amazon.de y Kaufland.