← Volver a Proyectos destacadosCristhian Santos / estudio de caso 03

Bot SUNAT AM

Herramienta interna para automatizar consultas de información pública de SUNAT, centralizar los resultados y generar reportes en Excel.

AM Consultores SAC · Desarrollo individual

Fecha del proyecto:

PythonFastAPIJavaScriptMySQLPlaywrightBeautifulSouppandasopenpyxl

El problema

Consultar información empresarial de forma manual y trasladarla a hojas de cálculo implica repetir tareas y dificulta revisar qué registros se procesaron.

Bot SUNAT AM reúne el ingreso de RUCs, la ejecución de consultas, el almacenamiento y la generación de reportes en una misma herramienta. Su objetivo es organizar el trabajo y facilitar la revisión de la información obtenida.

La solución

Desarrollé una aplicación con interfaz web, API REST y base de datos relacional para gestionar el proceso de consulta de principio a fin.

Desde el dashboard se ingresan los RUCs, se selecciona la información que se desea consultar y se sigue el progreso de la ejecución. Los resultados se almacenan en MySQL y los dominios habilitados para exportación pueden descargarse en Excel.

La herramienta permite consultar información pública de contribuyentes, trabajadores, establecimientos anexos y deuda coactiva.

Arquitectura y tecnologías

Interfaz web

Dashboard construido con HTML, CSS y JavaScript. Utiliza Fetch API para comunicarse con los servicios REST y Server-Sent Events para mostrar el progreso de las consultas sin recargar la página.

API y procesamiento

API desarrollada con FastAPI. Python coordina la validación de RUCs, la aplicación de exclusiones, la ejecución de consultas y el almacenamiento de resultados.

Extracción de información

Playwright automatiza la navegación y obtiene el contenido del portal. BeautifulSoup interpreta el HTML para extraer los datos.

La extracción, la interpretación y el acceso a la base de datos se organizan en componentes separados por dominio de información.

Persistencia y reportes

MySQL conserva los registros obtenidos. pandas y openpyxl permiten procesar la información y generar archivos Excel, además de reconstruir reportes desde los datos históricos almacenados.

Funcionalidades principales

La deuda coactiva se almacena en MySQL y se consulta desde el dashboard. En esta versión, se gestiona por separado de los reportes Excel.

Mi participación

Asumí el desarrollo integral de la herramienta: interfaz web, API, automatización de consultas, persistencia y reportes.

También implementé la comunicación en tiempo real, la gestión de exclusiones y la auditoría de operaciones, conectando estos componentes en un flujo de trabajo común.

Decisiones técnicas

Procesamiento independiente por dominio

La separación por dominio permite continuar con otras consultas cuando una sección falla. Esto facilita identificar resultados parciales y localizar el componente que requiere revisión.

Almacenamiento antes de la exportación

Los resultados se guardan en MySQL antes de generar el Excel. Esta decisión permite reconstruir reportes a partir de la información persistida cuando se pierde un archivo.

Control de registros duplicados

Las claves de unicidad y las operaciones de actualización o inserción permiten repetir consultas sin crear registros duplicados.

Automatización basada en reglas

La solución utiliza navegación automatizada y extracción de HTML. Este enfoque responde a un proceso definido de consulta y organización de información.

Resultado y alcance

La herramienta quedó finalizada y funcional para uso interno de AM Consultores SAC, con un flujo integrado de consulta, seguimiento, almacenamiento y generación de reportes.

El proyecto demuestra mi capacidad para conectar una interfaz web, servicios backend, automatización y persistencia en una solución de negocio.

Por su carácter interno, este caso presenta la arquitectura y las funcionalidades sin exponer datos de clientes, credenciales ni configuraciones de la empresa.