Odoo
Debo reconocer que llevo más de diez años trabajando con Odoo, es un sistema ERP (Enterprise Resource Planning) que poco a poco ha ido ganando popularidad y un estatus dentro de la comunidad de los sistemas ERPs, creo que hasta la fecha el sistema puntero en este ámbito sigue siendo SAP.
SAP hace unos años compró una empresa pequeña que había desarrollado un sistema ERP para pequeñas y medianas empresas que actualmente se llama SAP B1 o SAP Business One. Este sistema lo veo como la competencia directa de Odoo o viceversa. También tuve la oportunidad de trabajar un tiempo con SAP B1 y SAP B1 Hana.
Cuando conocí Odoo, se llamaba OpenERP y fue entre los años 2006 y 2007, lo trabajé instalando servidores y configurando una que otra cosa. Era un sistema estacionario, era de modelo cliente-servidor.
Después de un cambio de la versión de aquel momento del lenguaje de programación base, Python, también decidieron hacer cambios significativos a OpenERP, uno de sus cambios fuertes fue pasar del modelo cliente-servidor a un esquema o estructura web.
Dicho cambio pienso que fue una explosión y crecimiento exponencial del sistema, además de haberse publicado como software libre.
Como mencioné, en principio conocí OpenERP instalándolo y configurándolo en servidores, pero no había tocado nada de su estructura, no había desarrollado nada de nada, no había hecho ni una línea de código de programación, desde 2006 hasta 2013, solo fue instalar servidores y no más.
Pero a partir de 2014, por necesidades que me obligaron a conocer la estructura interna de su sistema es cuando empiezo a tocar su código fuente, conocer la estructura, el cómo funciona y cómo interactua internamente. Han pasado poco más de diez años de ese primer contacto con el código y aún me siento en pañales, es un sistema bien complejo y difícil de trabajar.
Apesar de que el sistema viene con una vista agradable y medianamente intuitiva para un usuario final, también con una estructura que quizás se puede empezar a trabajar inmediatamente, pero lo que no saben muchas personas, especialmente comerciales o vendedores o dueños de empresas que ven potencial de comercio en el sistema es que para que el sistema funcione se deben hacer muchas, muchas cosas por debajo.
El sistema se distribuye mediante dos ramas, una empresarial y otra comunitaria, la comunitaria está publicada bajo licencias software libre y no se paga por su uso, también dependerá de lo que dicte la licencia y cada módulo o aplicación tendrá su propia licencia. Y la rama empresarial es distribuida bajo una licencia propia de la empresa Odoo. A estas alturas Odoo ya es una empresa y se rige bajo otras normas.
Es un sistema que ha ido creciendo exponencialmente, es un sistema en algunos aspectos muy bueno en otros tantos no tanto, como todo en la vida, pero lo que me llevó a escribir todo esto es lo siguiente:
Comerciales
Existe un debate entre los comerciales/vendedores/dueños de empresas y los técnicos, los primeros siempre ofrecen lo que no tienen, los segundos deben hacer el milagro.
Cuando un comercial ve que un sistema se distribuye así como hace Odoo, es como dibujar símbolos de dólar en sus ojos, hay una súper oportunidad de negocio y sí, ciertamente es así cuando ven el lado fácil del sistema.
Pero a medida que van trabajando el sistema, que van usándolo, gestionando, van notando una ligera dificultad que les hace contratar a un técnico o ingeniero especializado o no. Esto conlleva en tener la falsa creencia de que el sistema es fácil y si ellos lograron instalarlo y probarlo, usarlo, moverle aquí y allá ¿Por qué el técnico no puede? ¿Por qué se le debe pagar más de lo que pide? “El sistema es fácil, yo pude hacer X, Y o Z”.
Posteriormente se desprenden las contradicciones y confrontaciones entre lo que realmente vale el trabajo de gestionar, desarrollar, mantener y si se quiere escalar un sistema de tal magnitud. De por sí un sistema ERP es muy complejo, un sistema ERP es un sistema que debe trabajarse en equipo, no es tarea de una persona.
Tecnologías
El Odoo ha crecido tanto que implementa muchas tecnologías que no todo el mundo domina a la perfección o al 100%
El sistema tiene su propio ORM, un framework para el sistema backend, un framework para el sistema frontend, un sistema para el reporte, un sistema para el servicio, un sistema para la API y así muchas cosas más. No conozco todas las partes.
Adicionalmente por la estructura web que sostiene al sistema, es aprovechable para desplegar aplicaciones como una web, un comercio electrónico vía web, sistemas de encuestas vía web, sistemas de estudio y muchas cosas más.
Es una estructura que permite dedicar recursos y tiempo para desarrollar lo funcional y la ventana va según el navegador web del usuario final. Y aún así gestionar todo eso implica un trabajo enorme.
La parte del backend permite desarrollar muchas cosas más que se puede interconectar el sistema operativo con el sistema web, y eso también requiere de otro trabajo enorme.
Quien no sepa todas esas terminologías, cada una aparece en Wikipedia.
Aplicaciones
Creo que las partes o aplicaciones principales del sistema son:
- Contabilidad.
- Ventas.
- Compras.
- Inventario/Almacenes/Ubicaciones/Productos.
- Producción.
- Procesos de mantenimiento.
- CRM.
- Reportes.
- Gestión de recurso humano.
Pero el sistema también tiene las partes que yo veo secundarias que son:
- Sitio web.
- E-commerce.
- Blog.
- Marketing.
- Sistema de encuestas.
- Sistema de estudio en línea.
Además de todo eso tiene más de 400 aplicaciones propias y muchas más aplicaciones de terceros que las integran para generar funcionamientos específicos dentro del sistema.
Especialidades
Siendo un sistema ERP, cada área que convive en una empresa y que hace uso del sistema debe tener el respaldo técnico para dar resultado efectivo del sistema hacia la determinada área.
Es decir, si hay un departamento de contabilidad debería haber un experto informático en el área contable para dar resultados efectivos del sistema hacia el área contable. O por lo mínimo una persona contable que domine o empiece a dominar el sistema como complemento del informático para dar resultados favorables a través del sistema al área contable.
Y así sucesivamente, cada área de la empresa debe tener su experto informático que sostenga la parte técnica del sistema para el área. Esto es una práctica que no se trabaja.
Estoy consciente de que Odoo es para pequeñas y medianas empresas, pero también que puede ir más allá si se requiere, ir más allá obedece principalmente en mantener un equipo técnico que sostenga cada área de la empresa para así hacer crecer el sistema y dar soporte integral.
Hoy en día la mayoría de las empresas se sostienen mediante un software.
Pequeñas y medianas empresas
El sistema está concebido para pequeñas y medianas empresas, pero eso depende en qué factor determina que una empresa sea pequeña o mediana.
Muchos atribuyen al hecho del número de empleados en la empresa, que ciertamente se puede corresponder en parte al número de transacciones que se hacen en el sistema. O al número de cotización anual y utilidades.
Pero yo lo veo en varios factores relacionados entre número de operaciones, número de empleados y número de registros que tiene la base de datos. Se puede tener una empresa de cinco empleados pero si el número de operaciones tanto manuales como automáticas es muy elevado, entonces se pudiera decir que la empresa es mediana e incluso con tendencia a ser una empresa grande.
Creo que Odoo puede soportar el número de operaciones de una empresa si se implementa bien, si se gestionan las consultas de manera óptima, usando las buenas prácticas tanto del mismo sistema como de la comunidad o cualquier organización vinculada con alguna de las tecnologías usadas en el sistema que emita recomendaciones y buenas prácticas de usabilidad tecnológica.
Finalmente lo que quiero manifestar es que un sistema ERP es muy complejo, sea para grandes, medianas o pequeñas empresas, se requiere de trabajo en equipo.
Estos más de diez años trabajando sobre el sistema me ha tocado hacerlo un tanto en solitario porque las empresas no están dispuestas a gastar o en su sano juicio yo diría que invertir, en un grupo técnico que lleve a cabo todo el trabajo que requiere sostener un sistema de tal magnitud.
Quizás esto viene vinculado al hecho de que el sistema está concebido para pequeñas y medianas empresas, pero no es un justificante valedero desde mi punto de vista.
Una cosa es la que se vende y otra es la realidad. El sistema viene para usarse pero requiere adecuarlo a la empresa o en caso más extremo y de mucho estudio la empresa requiere adecuarse al sistema. Es otra posibilidad que debe considerarse, pero esto implica:
- Cambiar el modelo del flujo de procesos si es necesario.
- Optimizar o cambiar la operación de cada área, esto incluye formar o sensibilizar a los usuarios.
- Cambiar paradigmas de esquemas de trabajo tanto operaciones como informáticos.
- Algunos items más que no se me vienen ahora a la mente.
Luego se requiere hacer ciertos cambios a localización, esto quiere decir que se debe adaptar el sistema a la nomenclatura económica y sistema contable del país donde se esté usando. El idioma, los parámetros decimales, los parámetros de la jerga propia del país.
Se me escapan muchas cosas más, pero es un bosquejo que simplemente refleja que no es simplemente montar un sistema como WordPress o Mediawiki, es un sistema que requiere mucha atención debido a que los datos y resultados de una empresa también dependen en gran medida del soporte y usabilidad óptimos del sistema.