job-reporte-ventas-online¶
Reportes de venta online/retail enviados por correo. Piloto 2 de la estructura estándar. Los tres jobs comparten el mismo flujo; lo que cambia (vistas SQL, asunto, texto, destinatarios, auditoría) está en src/reporte_ventas_online/perfiles.py.
| Job | Catálogo | Estado |
|---|---|---|
reporte_venta_online_excel |
L01 | ✅ Migrado |
reporte_venta_online_retailtrans |
L02 | ✅ Migrado |
reporte_retail_dia_anterior |
L13 | ✅ Migrado (ver nota de variante en job.yaml) |
¿Qué hace cada job?¶
- L02
reporte_venta_online_retailtrans: el mismo reporte con la vista RetailTransactions, asunto “… - RETAILTRX”, otra lista de destinatarios, y deja constancia en la tabla de control de procesos. - L13
reporte_retail_dia_anterior: reporte de ayer, 07:58 diario; incluye giftcards de venta física y el Ecommerce excluye envíos MELI. También deja constancia en la tabla de control.
reporte_venta_online_excel (L01)¶
Varias veces por la tarde (13:32, 15:32, 17:32, 19:32, 21:32 y 23:42) arma el Reporte de Venta Diaria: venta acumulada del mes y venta de la jornada, por canal, banner y sucursal. Lo envía por correo con el cuerpo en HTML, un PDF y un Excel adjuntos. Solo lee datos; no escribe en ninguna base.
¿Qué hacer si falla o no llega el reporte?¶
- Revisar en el panel si la ejecución terminó en error (
EXIT_NONZERO) o no se ejecutó (RUN_MISSING) y abrir su log. - Causas habituales: base de datos no disponible, vista sin filas de venta online (el job falla a propósito para no enviar un reporte vacío), o correo rechazado por Office 365.
- Un fallo no pisa el último reporte generado. Reejecutar es seguro. Detalle en
RUNBOOK.md.
Para desarrolladores¶
python3.11 -m venv .venv && . .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env && chmod 600 .env
pytest && ruff check .
# <job> = venta-online-excel | venta-online-retailtrans | retail-dia-anterior
python -m reporte_ventas_online <job> --dry-run # genera en tmp/, no envía ni audita
python -m reporte_ventas_online <job> --prueba # envía solo a los destinatarios de prueba
Comparación con el script original (no modifica la carpeta legacy):
Dependencias del sistema (imagen Docker): wkhtmltopdf, unixodbc + msodbcsql18 y fuentes.
Datos y logs viven fuera del repo (estructura_carpeta_job.md, sección 4).
Fuente: repositorio job-reporte-ventas-online, versión 926ecf2 (con cambios locales). Página generada con tools/publicar_docs.py.