Migrar Odoo no es fácil

21 de febrero de 2023 por
Gustavo Orrillo
| Sin comentarios aún
 

Creo que la migración de Odoo junto con el soporte del mismo son las áreas más subestimadas de Odoo. Esta subestimación se manifiesta no solo en el poco seniority de los recursos asignados a los mismos (muchas veces se destinan practicamente juniors a la tarea) sino también en los tiempos asignados a la misma (siempre se estima que se realizará en un santiamen).

Por qué sucede esta subestimación? Muchas veces porque los proyectos de migración se los vende como un item más dentro de un proyecto más grande. Y el otro motivo es porque los que venden los proyectos de Odoo no son los profesionales con el seniority adecuado para hacerlo (muchos peinan canas, pero no son para nada competentes). Entonces el proyecto de migración surge como un proyecto "ya explotado". 

Migrar Odoo significa migrar tanto la funcionalidad de Odoo (que puede comprender numerosas funcionalidades y customizaciones) así como la base de datos (y esto no solo no es menor, pero es lo que se subestima con frecuencia).

Cuales son las maneras de migrar Odoo?

La primer forma es la que sigue OpenUpgrade, el cual toma una base de datos y gracias a la ejecución de múltiples procedimientos en Odoo, actualiza una base de datos de una versión a la otra. Es un buen enfoque que tiene varios pros. El primero es que es ideal si la base de datos de Odoo tiene pocas customizaciones. Y es realmente rápido ya que aplica cambios sobre la misma base de datos, este detalle no es menor. 

Tiene el inconveniente de que se debe ejecutar la migración de una versión a la otra, y esto puede ser complejo. Por ejemplo, si estamos migrando de Odoo 13.0 a Odoo 16.0, uno primero debe migrar a Odoo 14.0, luego a Odoo 15.0 y por último a Odoo 16.0. Esto puede ser prohibitivo a nivel tiempos. 

Una segunda manera de migrar Odoo es hacerlo en forma básica, que es la practicada en la mayoría de los casos en Latinoamérica. Primero se migran los datos maestros: clientes, proveedores, productos, números de serie (si aplicable), stocks, saldos de cuenta corriente. A veces se migran los diarios y las cuentas contables. Y a partir de ahí con la configuración adecuada, el cliente ya puede empezar a trabajar. Durante el año 2022 hice dos migraciones de ese estilo; una de OpenERP 6.0 a Odoo 15.0 y otra de Odoo 8.0 a Odoo 15.0. Las dos migraciones se realizaron en menos de dos meses de proyecto.

La tercer manera de migrar Odoo es hacer una migración completa de todos los datos. Que es la opción más compleja y más costosa. Pero muchas veces es lo que demanda las necesidades del cliente. Esta opción presenta los siguientes desafíos:

  • seniority de los recursos asignados a la tarea. Migrar Odoo requiere personal con mucha experiencia trabajando con Odoo, técnicos con muchos años de experiencia (los cuales no siempre están disponibles en un proyecto). Además de este seniority, se requiere el conocimiento del funcionamiento interno de Odoo no solo en el sistema origen sino también en el sistema destino también.
  • Muchas veces se debe migrar no solo los datos sino también los módulos customizados en la instalación del cliente
  • Se deben migrar datos y las transacciones que soportan dichos datos. Por ejemplo cuando se migran las facturas pagadas se deben migrar no solo los documentos de factura, sino también todos los pagos que concilian dichas facturas. Y esto se aplica no solo para contabilidad, sino también para ventas, compras y stock. Por miles de registros. 
  • Se deben migrar no solo los datos sino los de funcionalidades extras de Odoo que uno nunca considera. Por ejemplo attachments, actividades y mensajería. Y esta tarea es subestimada, muchas veces por desconocimiento de como funcionan dichos módulos.
  • A veces se requiere limpiar los datos a medida que se van procesando. Por ejemplo remover guiones del CUIT del cliente. A veces en el sistema destino tenemos validaciones que en el sistema origen no existían, entonces estas correcciones se deben realizar durante la migración. Esto lleva a un efecto secundario, que es tener que migrar Odoo en múltiples iteraciones.
  • Hay datos menores,  muchas veces Odoo cambia no solo los nombres de los métodos sino también el nombre de los modelos (por ejemplo action_post a _post, o el modelo product.uom a uom.uom, o stock.production.lot a stock.lot). SI bien no es algo terriblemente dificil, implica más tiempo asegurandose que las cosas funcionan como es debido.
  • Muchas veces no se dispone del tiempo suficiente para migrar todos los datos de Odoo, lo que lleva a tener que migrar los datos en múltiples pasos. Por ejemplo, migrar los datos corrientes para luego migrar las transacciones viejas. Esto se debe a que Odoo puede ser rápido para procesar transacciones puntuales (validar una factura) pero cuando llega el momento de procesar miles de registros, es otra historia. Por fortuna, existen herramientas para resolver este problema, pero no todos los consultores de Odoo las conocen.
  • Pero por sobre todo la planificación de la migración no es realista. No solo los tiempos de migración, sino los tiempos relacionados con el testeo y la puesta en marcha. Por lo general, se debe tener en cuenta que por cada hora dedicada a la programación hay por lo menos una hora dedicada al testeo y la puesta en marcha.

Creo que la migración de Odoo es un proyecto más complejo que la implementación de Odoo en sí. En parte por los motivos listados anteriormente. Pero es factible de hacerse, el año pasado hice cuatro de ellas.

Gustavo Orrillo 21 de febrero de 2023
Compartir
Archivar
Identificarse dejar un comentario