Skip to content

yassppy/FactusPe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FactusPe 🚀

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.

🛠️ Tecnologías

  • 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)

✨ Funcionalidades Principales

🔐 Autenticación

📤 Gestión de Comprobantes

  • 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).

📊 Dashboard y Análisis

  • Gráficos Evolutivos: Visualización de ventas y compras a lo largo del tiempo.
  • Filtros Avanzados: Consulta rápida de comprobantes procesados.

👥 Módulos de Gestión

  • Clientes y Proveedores: Integración con consulta RUC/DNI.
  • Categorización: Gestión de categorías contables para organizar tus gastos e ingresos.

⚡ Comparativa de Rendimiento

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.

⚠️ Notas de Uso y Limitaciones

  • Compatibilidad PDF: Para escaneos desde Google Drive Mobile, se recomienda usar pdf-cleaner antes de subir los archivos (ver sección correspondiente).
  • Dispositivos: Optimizado exclusivamente para Web (Desktop). No compatible con mobile.

🔮 Futuras Mejoras que se podría implementar

  • 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.

📂 Base de Datos

Puedes encontrar el detalle técnico de las tablas, relaciones e índices en el Diccionario de Datos.


🗂️ Estructura del Proyecto

FactusPe/
├── app-factuspe/   # Aplicación fullstack (Next.js + Supabase)
└── pdf-cleaner/    # Script de conversión de PDFs escaneados

🚀 Configuración Inicial

app-factuspe

cd app-factuspe
npm install        # instala dependencias del frontend

Configura tus variables de entorno en .env.local con tus credenciales de Supabase y ejecuta:

npm run dev

pdf-cleaner

cd pdf-cleaner
uv init
uv add pyautogui pyperclip
uv run app.py

🧹 pdf-cleaner

¿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.

Flujo

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.

Requisitos

  • 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.

Conclusiones

  • 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.

About

Extractor de comprobante en PDF, esta enfocado para Perú, lee solamente facturas y boletas pero lo puedes personalizar a tu gusto.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors