feat(finanzas/saldos): el resumen acepta los filtros Portafolio y Empresa del Dashboard
GET /api/finanzas/saldos/summary recibe portafolios y empresas (CSV, mismo
contrato que los demás dashboard-summary) y calcula KPIs y filas sobre el
subconjunto, para que el widget y su modal de detalle cuadren.
Las opciones de esos filtros son los valores crudos de ResultadoPF, no los del catálogo con el que se etiquetan las cuentas. Portafolio se compara normalizado (sin acentos ni mayúsculas: «CONSTRUCCIÓN» = «CONSTRUCCION»); Empresa se resuelve con el mismo índice del catálogo y se compara por empresa_id, con respaldo por texto. Medido contra el catálogo de QA/PRD (hoja «Razones sociales»): las 27 empresas y los 7 portafolios del tablero resuelven.
Sin anio/meses a propósito: la tabla es una foto sin historia y fecha_carga es por cuenta, no un corte (mismo criterio que Colaboradores RL). Sin parámetros el endpoint responde igual que antes.
Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com