ir. Ignacio Rosales / PORTFOLIO
← Proyectos

Petty Cash Pro

De comprobantes a una relación de gastos en Excel: extracción con OCR, revisión humana y exportación con fórmulas.

Materia
Automatización de operaciones
Fecha
octubre de 2026
Stack
Python, Streamlit, Tesseract OCR, openpyxl
Código
Repositorio
Demo
Ver la app

El problema

Preparar una relación de gastos exige transcribir comprobantes, verificar fechas e importes y construir una planilla consistente. Esta aplicación organiza ese proceso en cuatro pasos: cargar, revisar, resumir y exportar.

La solución

Una aplicación Python y Streamlit recibe imágenes de comprobantes o gastos manuales. Tesseract extrae texto mediante OCR y la tabla permite corregir proveedor, fecha, referencia, descripción e importe antes de generar el archivo.

El resumen muestra los gastos y su distribución por proveedor. openpyxl construye el Excel mediante código, con conversiones, totales, saldo y espacios para firmas; no necesita una plantilla externa. La interfaz está disponible en español e inglés.

Una revisión humana en el flujo

El OCR depende del formato y la calidad de la imagen. Si la extracción falla, se pueden completar los campos manualmente. La app consulta la tasa de referencia del BCV y registra su procedencia y fecha; si no puede obtenerla, permite indicar una tasa manual.

Demostración con datos ficticios

La demostración documentada utiliza tres gastos de 1.250,50, 749,50 y 500 Bs: 2.500 Bs en total. A una tasa ficticia de 50 Bs/USD, corresponden a 50 USD de gastos y 50 USD de saldo sobre un fondo de 100 USD. Es un ejemplo de funcionamiento, no una medición de ahorro o rendimiento.

Revisión de un gasto ficticio en Streamlit

Alcance

La demostración usa únicamente datos sintéticos. El OCR requiere supervisión y la planilla debe revisarse antes de utilizarse. El proyecto no acredita autenticación, operación multiusuario ni escalabilidad de producción.

El repositorio incluye código, instrucciones y pruebas. La demo en Streamlit permite explorar el flujo con datos ficticios.