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 desystemdynginxpara 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=5005SECRET_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.phpytemplates/*.phppara no romper accesos heredados. - El despliegue productivo de desploy/portfolio-xml.service ya no depende de
venvni.venv; usa/usr/bin/python3con.python-packages.