Portal XML OFS

Servicio Flask para el OFS que reemplaza 09-xml-php con procesamiento por lotes, omisión inteligente de XML inútiles y despliegue dedicado en xml.omar-xyz.shop.

README

Portal XML OFS

Servicio Flask para el OFS que reemplaza 09-xml-php con procesamiento por lotes, omisión inteligente de XML inútiles y despliegue dedicado en xml.omar-xyz.shop.

Funcionalidades

  • Extraer CFDI de gasto a Excel.
  • Extraer percepciones, deducciones y subsidios de nómina.
  • Clasificar XML en ZIP por tipo.
  • Validar CFDI contra el SAT.
  • Ignorar XML corruptos, duplicados o fuera del alcance de la herramienta.
  • Aceptar cargas directas de XML o ZIP con limpieza de archivos innecesarios.

Estructura

  • app.py: aplicación Flask, uploads, descargas y filtrado inteligente de lotes.
  • run.py: entrypoint para Gunicorn y desarrollo.
  • scripts/: lógica Python reutilizada desde la versión PHP.
  • templates/: dashboard y vistas de herramientas.
  • static/: CSS, JavaScript e imágenes institucionales.
  • desploy/: plantillas de systemd y nginx para producción.

Instalación local

bash python3 -m venv venv source venv/bin/activate pip install --only-binary=:all: -r requirements.txt python3 run.py

La aplicación queda disponible en http://127.0.0.1:5005.

Variables importantes

  • PORT=5005
  • SECRET_KEY=...
  • XML_PUBLIC_FULL_NAME=...
  • XML_PUBLIC_ROLE=Publico general

Despliegue

Revisa desploy/README.md.

Notas

  • La validación SAT requiere conectividad saliente hacia el servicio SOAP del SAT.
  • El portal mantiene compatibilidad de rutas con index.php y templates/*.php para no romper accesos heredados.
  • El despliegue productivo de desploy/portfolio-xml.service ya no depende de venv ni .venv; usa /usr/bin/python3 con .python-packages.
Pruebas rápidas

Revisa el README para el flujo de pruebas recomendado.

Volver a proyectos