FacturIA
Sistema de Automatización de Facturas con IA
Sistema automatizado 100% gratuito para procesar facturas en PDF (texto e imágenes), extraer información con Google Gemini Vision, almacenar datos en SQLite y visualizarlos en Power BI. Compatible con fotos de WhatsApp y facturas escaneadas.
📋 Descripción del Proyecto
FacturIA es un sistema completo de automatización diseñado para optimizar la gestión documental de facturas en formato PDF. El proyecto integra tecnologías modernas de análisis de datos e inteligencia artificial para transformar documentos no estructurados en información valiosa para la toma de decisiones financieras.
Origen: Este proyecto fue desarrollado a partir de una práctica del curso "Introductorio a Data Analytics" de TuPrimeraExperiencia.com, donde adapté y amplié la propuesta original incorporando mejoras en la estructura del código, presentación de resultados y documentación profesional.
🎯 Problema que Resuelve
Las empresas reciben decenas o cientos de facturas mensualmente en formato PDF. El procesamiento manual de estos documentos consume tiempo valioso y es propenso a errores. FacturIA automatiza completamente este proceso:
- Antes: Abrir cada PDF, copiar datos manualmente a Excel, verificar importes, clasificar por proveedor (horas de trabajo)
- Con FacturIA: Procesar automáticamente todas las facturas en minutos, extraer datos con IA, almacenar en base de datos y visualizar en dashboards interactivos
⚙️ Cómo Funciona (Flujo de Trabajo)
- Ingesta de Datos: El sistema recorre carpetas organizadas con facturas en PDF (acepta PDFs con texto, escaneados, fotos de WhatsApp)
- Detección Inteligente: Analiza automáticamente si el PDF contiene texto extraíble o es una imagen
-
Extracción Dual:
- PDFs con texto: Extrae con PyMuPDF y envía a Google Gemini
- PDFs con imagen: Convierte a imagen y usa Google Gemini Vision (IA multimodal que "ve" la factura)
-
Procesamiento con IA: Google Gemini Vision
analiza la factura y extrae:
- Fecha de emisión (formato dd/mm/aaaa)
- Nombre del proveedor
- Concepto o descripción del servicio/producto
- Importe total
- Moneda (EUR, USD, pesos, u otros)
- Estructuración: La IA devuelve los datos en formato CSV estructurado
- Conversión de Divisas: Convierte automáticamente dólares a euros (tasa configurable)
- Almacenamiento: Guarda todos los registros en una base de datos SQLite
- Visualización: Conecta Power BI a la base de datos para crear dashboards interactivos
🛠️ Tecnologías Utilizadas
Backend & Procesamiento
- Python 3.x - Lenguaje principal
- Pandas - Manipulación de datos
- PyMuPDF (fitz) - Extracción de PDFs
- Google Gemini Vision API - IA multimodal (texto + imágenes) 🆓
- Pillow (PIL) - Procesamiento de imágenes
- SQLAlchemy - ORM para base de datos
- python-dotenv - Gestión de variables de entorno
Almacenamiento & Visualización
- SQLite - Base de datos ligera
- Power BI - Dashboards interactivos
- ODBC - Conexión Power BI ↔ SQLite
Ventajas
- 100% Gratuito - Usa Google Gemini API sin costos
- Sin OCR adicional - Gemini Vision lee imágenes directamente
📊 Resultados Obtenidos
Dashboard de Power BI
El sistema genera un dashboard interactivo que permite:
- KPIs Principales: Total de facturas procesadas, importe total, gasto promedio por factura
- Análisis Temporal: Evolución del gasto mes a mes con gráficos de líneas
- Análisis por Proveedor: Top proveedores por importe, distribución de gastos
- Análisis por Concepto: Clasificación de gastos por tipo de servicio/producto
- Filtros Interactivos: Por fecha, proveedor, rango de importes, moneda
Métricas del Proyecto
| Métrica | Resultado |
|---|---|
| Tiempo de procesamiento | ~3-5 segundos por factura |
| Precisión de extracción | 95%+ con Google Gemini Vision |
| Reducción de tiempo manual | 80-90% vs. entrada manual |
| Formatos soportados | PDFs con texto, escaneados, fotos de WhatsApp, capturas de pantalla |
💡 Aprendizajes Clave
- IA Multimodal: Implementar Google Gemini Vision para procesar tanto texto como imágenes en un mismo flujo, permitiendo leer facturas escaneadas y fotografías sin OCR adicional
- Detección Inteligente: Desarrollar lógica para identificar automáticamente si un PDF contiene texto extraíble o imágenes, aplicando el método de procesamiento apropiado para cada caso
- Ingeniería de Prompts: Diseñar prompts efectivos para que la IA extraiga datos estructurados de manera consistente, tanto de texto como de imágenes visuales
- Procesamiento de Imágenes: Convertir PDFs a imágenes de alta calidad (2x zoom) usando PyMuPDF y procesarlas con Pillow para enviarlas a la API de visión
- APIs Gratuitas: Aprovechar Google Gemini API (100% gratuita) como alternativa viable a servicios pagos, manteniendo alta precisión en la extracción de datos
- Manejo de Errores Robusto: Implementar validaciones exhaustivas para facturas con formatos no estándar, imágenes borrosas o datos incompletos, evitando que el sistema se detenga
- Integración de Tecnologías: Conectar Python → Google Gemini Vision → SQLite → Power BI en un flujo automatizado end-to-end
- Seguridad de Datos: Proteger API keys y datos sensibles usando .env y .gitignore, asegurando que información confidencial nunca se suba al repositorio