finReport es la culminación de más de 20 años de experiencia trabajando en banca, abarcando distintas áreas como el análisis, la revisión, el desarrollo y la gestión de procesos financieros y tecnológicos.
Durante muchos años existió la inquietud (el bicho), de construir algo propio. Sin embargo, la normativa bancaria, por su nivel de madurez, complejidad y extensión, hacía difícil encontrar un punto de partida claro y abordable.
Ese punto de partida apareció cuando la CMF lanzó REDEC, un Manual de Sistema de Información orientado a Entidades Financieras. Este proyecto lo empece como un desafio propio hace un poco mas de dos meses (Inicios de Octubre) con mucho analisis antes de empezar a tirar lineas de codigo. Es un sistema pensado mas en el usuario final en donde la parametrizacion no sea un dolor de cabeza y entregue mas visibilidad de que es lo que hace el sistema.
- Proyecto OpenSource bajo licencia Apache 2.0
- Sistemas bases usados para crear finReport tambien OpenSource (Apache Airflow y PostgreSQL)
- Lenguaje python y PL/pgSQL
Tener docker instalado
- Primero debes bajar el proyecto
- Dentro de la carpeta contenedores estan los sistemas de Airflow y Postgres, copialos a un directorio donde lo vas a instalar
- Dentro de la carpeta airflow hay dos ejecutables airflow_run.bat: Si estas usando windows airflow_run.sh: En el caso que estes usando linux Ejecutar como administrador, si estas en linux recordar dar permisos de ejecucion al bash.
- Dentro de la carpeta finReport se debe crear el archivo postgres.env, dentro de este se colocan el nombre de la base de datos, el usuario y password, adjunto ejemplo:
- Luego ejecutar: run_postgres.bat: Si estas en windows run_postgres.sh: Si estas usando Linux Ejecutar como administrador, si estas en linux recordar dar persmisos de ejecucion al bash.
- Una ves instalado los dos sistemas deberias poder acceder a la aplicacion de airflow, accediendo en un browser a http://localhost:8181/auth/login
- El usuario admin lo crea airflow por defecto, para poder obtener la contraseña, si estas en windows, habre un cmd y ejecuta el siguiente comando
docker logs airflow | find "user"
En linux sobre la terminal
docker logs airflow | grep "user"
- Una vez ingresado con las credenciales podras ver el proceso "orquestador_redec" y ejecutarlo con el boton "Trigger"
EL sistema maneja mantenedores a traves de excel, existen tablas internas para realizar conversiones de datos de la institucion a datos solicitados por REDEC, los datos que estan en los mantenedores son datos de default, ver documentacion de interfaces aqui
Todo lo que es reporte sale en formato TXT y en excel, los log salen en excel para mejor el analisis del usuario, todo esto queda dentro de la carpeta airflow/finReport
El sistema desde la version 1.1.0, permite procesar interfaces en excel, hay ejemplos en la carpeta analisis del proyecto.
Consideraciones si vas a trabajar con interfaces en EXCEL:
- Extension permitida .xlsx
- El nombre de las interfaces en excel es el mismo que se utiliza en TXT, ejemplo A0120251107.xlsx, en donde los 3 primeros caracteres son la codificacion de la interfaz y los otros 8 son la fecha en formato YYYYMMDD
- Para configurar que el sistema procese interfaces en excel, deben ir al mantenedor de parametros generales, colocar el valor NO en el cod = 4 y dejar el valor en SI para el cod = 5.
- A diferencia de las interfaces en TXT, el proceso considera que las interfaces en excel llevan cabecera, los campos de cabecera son referenciales, pero deben tener las mismas columnas
- El sistema siempre toma la primera hoja para procesar los datos
- Es mejor manejar los datos en el excel como texto, asi no incurren en problemas de formato, recordar que los datos numericos, el decimal se maneja con punto y no debe llevar comas. Todo esto de como se debe formatear los datos estan en la carpeta de analisis, ver aqui
El sistema de validacion funciona de la misma manera que el generador de interfaces, posee un directorio en airflow/finReport/validador donde se dejan los archivos a validar
-
Directorio donde se dejan los archivos deben quedar en airflow/finReport/validador
-
Los archivos deben estar con extension .txt
-
Los primeros 5 caracteres del archivo debe contener el nombre del reporte que corresponde en el MSI Redec, por ejemplo RDC01XXXXXXXX.txt | RDC20XXXXXXXX.txt
-
En el directorio airflow/finReport/validador/resultado , quedan los excel con el detalle del archivo que se valido en la primera hoja, y en la segunda hoja se encuentran todas las validaciones que se realizaron independiente del estado. Por cada ejecucion queda un excel con fecha de proceso y fecha de ejecucion.
- En la seccion de Analisis del proyecto hay un excel "validacion_reportes.xlsx" donde se explica un poco los que se encuentran en la solucion, lo puedes encontrar aqui








