feat(monday): obra, atrasos, hitos, saldos y flujo de escrituras desde Reporte_EstatusVenta

- Script sync-obra-estatus.py (idempotente, --dry-run, retry/backoff):
  parsea ESTATUS OBRA, SENDA-ACT-AGO2026, SENDA/SOLE DG, Diagonal 38 y
  las hojas de ventas; mapea a Unidades vía maestro-unidades.json
- Board Unidades: +12 columnas (% avance obra, meses atraso, contratista,
  clave catastral, no. oficial, vendedor, broker, venc. autorización,
  fecha entrega obra, 4 checkboxes de hitos documentales) — 147 items
  actualizados (DIAGONAL 38/38, SENDA 109/142)
- Board nuevo 'Flujo Escrituras' (18429252054): 32 items mayo–ago/2026
  por proyecto/semana con escrituras e ingreso
- Board nuevo 'Saldos a Favor' (18429252069): 7 pendientes (Estanza/Sole)
- Receta nativa documentada: recordatorio 7 días antes de Venc.
  autorización al coordinador
- SOLE y MUTUO no existen como inventario en Monday: sus datos de obra
  se reportan como saltados (no se crean unidades)
This commit is contained in:
2026-09-01 21:59:45 +00:00
parent ccd4ca78ca
commit 11213b92c7
4 changed files with 609 additions and 1 deletions

View File

@@ -117,6 +117,22 @@ tablero mantiene el orden sin trabajo manual:
> Si el tablero no tiene grupos, omite esta receta: no afecta nada del servidor.
## 5. Tablero Unidades — recordatorio de vencimiento de autorización de crédito
La columna **Venc. autorización** (date) del board Unidades la llena
`sync-obra-estatus.py` cuando el desarrollo exista en el board (hoy solo la
fuente MUTUO la trae, y MUTUO aún no está en Unidades). La receta queda lista
para cuando la columna tenga datos.
- Board: **Unidades**
- Receta: *"When a date arrives, notify someone"* (categoría **Date
reminders**; en español: "Cuando llegue una fecha, notificar a alguien")
- Parámetros:
- date column: **Venc. autorización**
- when: **7 días antes**, a las **9:00**
- notify: **el coordinador de ventas** (elegir la persona en la receta)
- mensaje: `La autorización de crédito de {item.name} vence en 7 días`
## Verificación rápida (2 min)
1. Crea un item de prueba en **Leads**, asígnate como Vendedor → debe llegarte