Automatización de la empresa con Odoo

Gustavo Orrillo
- 11/28/2020 - 2 min. de lectura


Como desarrollador de Odoo practicamente la mitad de mi tiempo se pasa en el desarrollo de módulos de Odoo (ya sea creando módulos o manteniendo los ya existentes). La otra mitad de mi tiempo se va en tareas que involucran la automatización de tareas de la empresa con Odoo. Estas tareas pueden ser (recordando tareas que realice en los últimos dos meses) envío masivo de mails a clientes en base a una condición determinada, creación y validación de cientos de facturas, creación de cientos de archivos Excel para luego enviarlos auotmtaicamente a clientes... la lista es larga.

El primer motivo es que muchas veces nos piden cosas por una sola vez. Por ejemplo "por única vez enviar un mail a los clientes que compraron...", actualizar los contratos para los clientes que"... y la lista continua. Son todas acciones que se realizan por una sola vez. A modo de ejemplo, la semana pasada tuve que pasar varios días creando cientos de facturas para un cliente, en lugar de un reporte explicando la factura tuve que crear un archivo XLS y despues enviarlo por e-mail. 

El segundo motivo es que Odoo ya pasa a manejar cientos de clientes con centenares de facturas por mes. Lo que lleva a que cuando se tengan que realizar procesos de mediana complejidad; la sola presencia de miles de registros torna imposible de un punto de vista administrativo el procesamiento manual de los registros. Para ello se necesita hacerlo en forma automática. Por ejemplo imaginense actualizando cientos de publicaciones en Mercadolibre para centenares de productos cuyo precio cambió (algo bastante comun).

El tercer motivo es que a diferencia de años anteriores, ahora tenemos que comunicarnos con los clientes por otros medios. Por ejemplo e-mail, SMS, Whats-app. Y ademas tenemos que brindarle más información; como por ejemplo PDFs y planillas de cálculo. Las cuales deben generarse en forma ad-hoc para la tarea.

Bien.... como se hace esto que estaba mencionando? Por medio de scripts de python. Python es un lenguaje muy versatil, muy facil de aprender por parte del administrador de sistemas de la empresa que practicamente puede comunicarse con todo. Y es ideal para ser usado por el administrador debido a que... es facil de aprender y usar. El administrador no debe dedicar un año de su vida a aprender como interactuar y ser productivo con Odoo. Como se puede aprender Python? Hay muchas formas, recomiendo Coursera. Y solo se necesitan los contenidos básicos de Python.

Luego es necesario usar XMLRPC con Odoo. Hay otros protocolos y módulos para interactuar con Odoo, pero xmlrpc es el que recomiendo y hace años que funciona. Como se aprende? Hay una página en odoo.com donde se explica como usarlo. Y en internet hay varios ejemplos. No es muy dificil de usar y es recomendado para todos.

Por último, antes de largarse a la tarea es necesario aprender el modelo de datos y como funciona Odoo, es por ello fundamental el poder usar el modo desarrollador de la aplicación. Y en lo posible empezar a leer un poco de código de Odoo (pero puede ser demasiado para un administrador, puede ser muy complejo debido a que para entenderlo se debe contar con una buena experiencia como programador). Pero es fundamental tener un conocimiento mínimo del modelo de datos de Odoo.

A que viene todo esto, a lo largo de las próximas semanas estaremos haciendo posts con "recetas" sobre como automatizar tareas con Python y XMLRPC. A modo de cookbook.

Acerca de:

Gustavo Orrillo

Passionate about programming, he has implemented Odoo for different types of businesses since 2010. In Moldeo Interactive he is a founding Partner and Programmer; In addition to writing on the Blog about different topics related to the developments he makes.