Cómo conectar Power BI a Odoo paso a paso para crear un cuadro de mando financiero.

En el post de hoy vamos a ver paso a paso cómo realizar una conexión desde Power BI a una base de datos del ERP Odoo para poder importar toda la información del libro diario de nuestra contabilidad.

Este post está especialmente enfocado a perfiles financieros que tengan miedo a atacar las bases de datos, ya que es una fase por la que hemos pasado todos los profesionales que no venimos de la rama técnica de IT.

Las primeras veces tenemos la sensación de que vayamos a “romper” algo, o que podamos eliminar información de la base de datos.

Pues nada de eso, quitemos el miedo porque vas a ver lo sencillo que es.

Como siempre digo, lo más difícil del proceso va a ser que la gente de sistemas te dé las claves para conectarte 😅.

Nota: Aunque desde Power BI únicamente vamos a consultar la información, lo recomendable como buena práctica es que IT nos proporcione un usuario con permisos únicamente de lectura, así todos estamos seguros de que cualquier problema de escritura en la base de datos no viene de nuestro lado…

Vamos con el paso a paso:

  • 1.- Entramos en Power Query y seleccionamos como origen de datos una base de datos PostgreSQL, que es la que utiliza Odoo:

  • 2.- Seleccionamos el servidor y la base de datos (si no lo sabemos nos lo tiene que proporcionar el equipo de IT):

  • 3.- Si es la primera vez que nos conectamos, nos pedirá el nombre y contraseña de un usuario que tenga acceso a la base de datos. Lo escribimos en el siguiente menú (nuevamente necesitamos la ayuda de IT si no tenemos esa información):

Nota: En la opción de “Seleccionar en qué nivel hay que aplicar esta configuración” podemos seleccionar bien el servidor completo o la combinación de servidor y base de datos.

  • 4.- Ahora vamos con un truquito, porque si es la primera vez que realizas la conexión te puede salir este mensaje (si no te sale puedes pasar directamente al paso 5):

Si te sale, pulsa sobre “Cancelar” y sigue los pasos que muestro en la siguiente imagen:

4.1.- Ir a la opción de Configuración de origen de datos.

4.2.- Seleccionar la base de datos a la que estamos intentando acceder.

4.3.- Pulsar sobre “Editar permisos”.

Una vez hecho esto, nos va a salir la siguiente pantalla y tenemos que desmarcar la opción de “Cifrar conexiones” y marcar el nivel de privacidad como “Organizativo”:

Ahora, pulsamos sobre “Aceptar” y cerramos la pantalla que nos sale de “Configuración de origen de datos”.

Seguidamente, volvemos a hacer la conexión siguiendo los pasos 1 y 2 de este tutorial (el paso 3 no te hará falta porque tu equipo ya tendrá en caché las claves del usuario de la base de datos).

NOTA: Este procedimiento resolvió el problema de certificado en el entorno utilizado para este ejemplo. Desactivar esta opción puede hacer que la comunicación con PostgreSQL se realice sin cifrado. En un entorno empresarial, consulta previamente con el responsable de sistemas. Lo recomendable es corregir la configuración SSL/TLS o del certificado y mantener cifrada la conexión.

  • 5.- Ahora Power BI sí que va a poder conectarse a la base de datos y ver todas las opciones de conexión que tiene disponibles:

  • 6.- Una vez que ya tenemos acceso a la base de datos tengo una gran noticia para ti. A partir de ahora ganas una enorme autonomía para consultar los datos del ERP sin tener que pedir a IT cada nueva extracción.

Para conectarnos a la tabla que contiene la información de los apuntes contables debemos conectarnos a la tabla account_move_line:

Y, como vemos en la siguiente imagen, nos llevamos a Power Query toda la información disponible en nuestro libro diario (52 columnas con multitud de información: fecha del apunte, concepto, importe al debe, importe al haber, id del asiento, id de la cuenta, id de la empresa, id del partner…):

  • 7.- A partir de aquí, ya tendríamos la información principal para empezar a construir nuestro cuadro de mando financiero.

Nos quedarían unos cuantos pasos más, como combinar esta consulta de account_move_line con la consulta account_move, que es donde queda informado si el asiento está publicado o no (en Odoo pueden quedar asientos en borrador).

También necesitamos combinar la columna account_id de la consulta account_move_line con la consulta account_account, para traernos de esta última el código contable de la cuenta.

O traernos, por ejemplo, los datos de las distintas empresas dadas de alta en el ERP (si estamos en un entorno multiempresa), de la consulta res_company.

Como pequeño mapa de partida, estas son las principales tablas de Odoo que necesitaremos para construir nuestro modelo financiero:

Nota: Ten en cuenta que la estructura de la base de datos puede variar según la versión de Odoo, los módulos instalados o las personalizaciones realizadas.

Pero ojo: conectarnos a los datos es solo el primer paso. Después tenemos que entender cómo los genera y almacena nuestro ERP.

Por ejemplo, Odoo no genera asientos de apertura, regularización de pérdidas y ganancias ni cierre del ejercicio.

Esto implica que, si queremos construir nuestro modelo financiero, tenemos dos alternativas:

  • Incorporar toda la información contable desde el inicio de la contabilidad de la empresa, de forma que podamos ir arrastrando los saldos históricos.
  • Si únicamente queremos importar los últimos X años, tendremos que generar en nuestro modelo un asiento de apertura para el primer ejercicio analizado, que nos permita partir de los saldos iniciales correctos.

Este es solo un ejemplo de las peculiaridades que debemos detectar en cada ERP para tenerlas en cuenta posteriormente durante la transformación y modelado de nuestros datos.

Espero que este post te sea de utilidad y que te animes a romper la barrera de conectarte a la base de datos de tu ERP.

Una vez superada, te aseguro que no hay marcha atrás y que ganarás una autonomía increíble para construir tus propios cuadros de mando.

Seguimos!!! 👊

Si te ha gustado, compártelo!!! 👇 No te guardes el secreto 😜