FactusPe es una solución moderna para la gestión y extracción automatizada de datos de comprobantes electrónicos (facturas y boletas) para ayudar a contadores peruanos.
- Frontend: Next.js (Utilice TailwindCSS 4 y Shadcn/ui para los componentes).
- Backend/Auth: Supabase (Google OAuth)
- OCR: Se probo LiteParse & PaddleOCR y me quede con LiteParse al ser más ligero y Optimizado para hardware limitado.
- Base de Datos: PostgreSQL (Supabase)
- Carga Drag & Drop: Sube múltiples archivos simultáneamente.
- Validación Instantánea: Pre-visualiza y corrige los datos extraídos antes de guardarlos.
- OCR Híbrido: Uso de LiteParse (mejor rendimiento en equipos de 4GB RAM).
- Gráficos Evolutivos: Visualización de ventas y compras a lo largo del tiempo.
- Filtros Avanzados: Consulta rápida de comprobantes procesados.
- Clientes y Proveedores: Integración con consulta RUC/DNI.
- Categorización: Gestión de categorías contables para organizar tus gastos e ingresos.
| Método | Tiempo | Proceso |
|---|---|---|
| Anterior (Manual/Power Automate) | ~30 minutos | Uno por uno |
| FactusPe (Actual) | ~15 minutos | Procesamiento masivo automatizado, solamente arrastras tus facturas y listo |
Nota: Los documentos de ventas (SUNAT) se procesan casi instantáneamente; las compras (escaneos) pueden tardar ligeramente más.
- Compatibilidad PDF: Para escaneos desde Google Drive Mobile, se recomienda usar
pdf-cleanerantes de subir los archivos (ver sección correspondiente). - Dispositivos: Optimizado exclusivamente para Web (Desktop). No compatible con mobile.
- Desarrollo de API REST para scraping de tipo de cambio SUNAT en tiempo real.
- Almacenamiento histórico de tipos de cambio.
- Creación de una aplicación mobile para escanear facturas de manera más fácil y solucionar el problema de responsive.
Puedes encontrar el detalle técnico de las tablas, relaciones e índices en el Diccionario de Datos.
FactusPe/
├── app-factuspe/ # Aplicación fullstack (Next.js + Supabase)
└── pdf-cleaner/ # Script de conversión de PDFs escaneados
cd app-factuspe
npm install # instala dependencias del frontendConfigura tus variables de entorno en .env.local con tus credenciales de Supabase y ejecuta:
npm run devcd pdf-cleaner
uv init
uv add pyautogui pyperclip
uv run app.py¿Por qué existe este script?
Al usar una cuenta de Google Workspace, los PDFs generados al escanear facturas desde el celular con Google Drive quedan en un formato que LiteParse no puede leer correctamente. Este script automatiza la conversión: abre cada PDF en Chrome, lo re-genera vía "Imprimir como PDF" y lo guarda en una carpeta limpia — todo sin intervención manual y sin exponer los archivos a servicios externos, manteniendo la confidencialidad de los datos.
Escaneo desde celular (Google Drive)
↓
carpeta data/ ← coloca aquí los PDFs originales
↓
uv run app.py ← ejecuta el script
↓
carpeta data_clear/ ← PDFs listos para subir a FactusPe
↓
carpeta app-factuspe/ ← Arrastras tus comprobante ya sea facturas o boletas.
- Python + uv.
- Google Chrome instalado.
- Configuración de base de datos supabase o puedes a adaptarlo a uno local.
- Configuración de autentificación de Google en google cloud console.
- Cuenta Google Workspace (Para mantener la confidencialidad de los comprobantes).
- Ventas esta enfocado en facturas de Sunat y compras en pdf que vienen de Google Drive.
- LiteParse funciona bien en este proyecto y puedes adaptarlo a tu gusto, pero tiene limitaciones con PDFs escaneados desde Google Drive, requiriendo un paso extra con
pdf-cleaner. Para facturas escaneadas como imagen, PaddleOCR es una mejor alternativa detecta bien todos los caracteres de la factura, aunque es muy pesado, lo usé via Hugging Face para no correrlo localmente y demora mucho. Se buscarán mejores soluciones.



