Don CFO: IA para directores financieros
❝

¿Te quieres formar en IA aplicada a finanzas y no sabes por dónde empezar?
➡️ Echa un vistazo a la formación de Próximo: su intensivo en finanzas y programas para montar tu negocio como fractional.

Hola, una semana más.

Cuando un equipo de finanzas se entera de un problema de liquidez, el problema lleva semanas en los datos.

Nadie lo vio porque nadie miró.

Más del 60% de los profesionales de tesorería dice que el forecast de caja es su tarea más difícil.

Y en muchas empresas se sigue haciendo en Excel, una vez por semana. En un entorno donde los pagos, los cobros y los compromisos cambian cada día.

Esto no es un problema de herramientas. Es un problema de arquitectura.

Y tiene solución.

En esta edición:

Por qué el Excel de tesorería siempre llega tarde (y no es culpa del Excel).

Los 3 cuellos de botella que convierten el forecasting en arqueología.

Cómo montar un agente de tesorería que te avisa antes de que el problema exista.

Un caso real: de 2,5 horas cada lunes a una alerta automática cada mañana.

El Excel no es el problema. El proceso lo es.

Cuando el CFO de una empresa de distribución me preguntó por qué su forecast de caja siempre fallaba, pasé 20 minutos con él mirando el proceso.

No el modelo. El proceso.

Esto es lo que encontramos:

Lunes por la mañana, el equipo de tesorería abre el ERP y exporta los saldos bancarios del viernes.

Luego busca en el correo los confirmados de cobro de la semana pasada.

Luego llama a tres comerciales para saber si los pedidos grandes que vencen esta semana van a cobrar en fecha.

Luego mete todo en el Excel y actualiza el modelo.

Luego lo envía al CFO.

Son las 11 de la mañana del lunes.

El forecast que acaba de leer describe lo que pasó la semana pasada.

Punto.

Son las 11:00 del lunes: ERP, correo, teléfono y Excel antes de que el forecast llegue al CFO

No hay ningún modelo de Excel que te salve de eso.

El input llega tarde, fragmentado y sin contexto.

Los 3 cuellos de botella del forecasting manual

Los 3 cuellos de botella del forecasting manual: datos tarde, datos fragmentados y sin capa de alertas

1. El dato llega tarde.

El ERP registra lo que ya ocurrió. El banco muestra el saldo de ayer.

Las cuentas a cobrar son una foto fija de la semana pasada.

Cuando consolidas todo eso en un modelo, estás mirando el retrovisor y llamándolo forecast.

2. El dato llega fragmentado.

La liquidez real de una empresa mediana está en 4 o 5 sitios a la vez: banco principal, banco secundario, cuentas de cobro de clientes, línea de crédito, factoring.

Nadie los consolida en tiempo real porque hacerlo a mano son 2 horas de trabajo diarias que nadie tiene.

3. No hay capa de alerta.

El Excel no te llama por teléfono cuando una posición de caja empieza a deteriorarse.

No te avisa cuando un cliente que representa el 18% de tu cobro pendiente lleva 5 días sin mover nada.

No detecta patrones. Solo muestra lo que le dices que muestre, cuando tú decides mirar.

El resultado. Te enteras del problema cuando ya es un problema.

La pregunta no es si esto te ha pasado.

La pregunta es cuántas veces.

El agente de forecasting de tesorería: qué hace y cómo funciona

Un agente de tesorería no es un dashboard más sofisticado.

Es un proceso autónomo que consolida datos, construye el modelo y lanza alertas sin que nadie lo active.

Funciona en 4 capas:

El agente de tesorería en 4 capas: ingesta, modelo de forecast, motor de alertas y narrativa

Capa 1: Ingesta de datos
Conecta con las fuentes en tiempo real o near-real-time: banco vía API (Salt Edge, Belvo, Plaid), ERP vía webhook o exportación programada, CRM para estado de cobros pendientes, Excel o CSV si el resto no tiene API.

Capa 2: Modelo de forecast
Construye un rolling forecast a 7, 14 y 30 días combinando saldos actuales, cobros esperados (por fecha de vencimiento y probabilidad histórica de pago en fecha), pagos comprometidos y compromisos de crédito.

Capa 3: Motor de alertas
Compara el forecast contra umbrales que tú defines (mínimo de caja operativa, días hasta breach de covenants, concentración de cobro en un solo cliente). Cuando se cruza un umbral, genera una alerta con contexto.

Capa 4: Narrativa y recomendación
Claude analiza la alerta y genera un párrafo de contexto: qué está pasando, por qué, qué opciones tienes. No es un número. Es un briefing.

Cómo montarlo: paso a paso

Paso 1: Define tus fuentes de datos

Antes de escribir una sola línea de código, haz el inventario:

- ¿Qué bancos tienes y tienen API agregada (Salt Edge cubre más de 2.000 bancos europeos)?
- ¿Tu ERP exporta posiciones de cobro por fecha de vencimiento?
- ¿Tu CRM tiene el estado de pedidos pendientes de facturar?

Si alguna fuente no tiene API, la alternativa es una exportación programada vía SFTP o un Google Sheet que el equipo actualiza diariamente.

No es ideal, pero es funcional.

Paso 2: Monta el flujo de ingesta en n8n

Este workflow se ejecuta cada mañana a las 7:00. Recoge los datos, los consolida en un JSON y los envía al agente.

Flujo diario en n8n a las 7:00: saldos y cobros, consolidación, briefing de Claude y alerta de tesorería
{
  "workflow_name": "Ingesta diaria tesorería",
  "schedule": "0 7 * * 1-5",
  "nodes": [
    {
      "name": "Salt Edge - Saldos bancarios",
      "type": "HTTP Request",
      "endpoint": "https://www.saltedge.com/api/v5/accounts",
      "output": ["account_id", "balance", "currency", "updated_at"]
    },
    {
      "name": "ERP - Cobros vencidos próximos 30 días",
      "type": "HTTP Request",
      "endpoint": "{{ERP_API}}/receivables?due_date_from=today&due_date_to=+30d",
      "output": ["invoice_id", "client_id", "amount", "due_date", "days_overdue"]
    },
    {
      "name": "ERP - Pagos comprometidos próximos 14 días",
      "type": "HTTP Request",
      "endpoint": "{{ERP_API}}/payables?due_date_from=today&due_date_to=+14d",
      "output": ["payment_id", "vendor_id", "amount", "due_date"]
    },
    {
      "name": "Consolidar JSON",
      "type": "Code",
      "description": "Merge all data into single treasury snapshot"
    },
    {
      "name": "Enviar a agente Claude",
      "type": "HTTP Request",
      "endpoint": "https://api.anthropic.com/v1/messages"
    }
  ]
}

Paso 3: El prompt del agente de tesorería

Este es el prompt que le pasas a Claude junto con el JSON de datos consolidados.

Cópialo, ajusta los umbrales a tu empresa y úsalo mañana mismo.

Eres el agente de tesorería de [EMPRESA]. Analiza el snapshot de tesorería adjunto y produce un briefing diario.

DATOS:
- Saldos bancarios actuales: {{saldos_json}}
- Cobros esperados próximos 30 días: {{cobros_json}}
- Pagos comprometidos próximos 14 días: {{pagos_json}}
- Histórico de pagos por cliente (últimos 90 días): {{historico_json}}

UMBRALES DE ALERTA:
- Mínimo caja operativa: [IMPORTE_MINIMO] EUR
- Días de runway mínimo: [DIAS_RUNWAY]
- Concentración máxima en un cliente: 25% del cobro pendiente

INSTRUCCIONES:
1. Calcula la posición de caja proyectada para 7, 14 y 30 días.
2. Identifica si algún umbral se rompe en ese horizonte.
3. Para cada cliente con más de [IMPORTE_UMBRAL] EUR pendiente de cobro,
   calcula la probabilidad de pago en fecha basándote en el histórico.
4. Si detectas alguna anomalía (cliente que habitualmente paga en 30 días
   y lleva 5 días sin movimiento en un vencimiento próximo), márcala.
5. Produce un briefing en este formato:

## Posición de caja hoy: [X] EUR
## Forecast 7 días: [X] EUR | Forecast 14 días: [X] EUR | Forecast 30 días: [X] EUR

### Alertas activas
[Lista de alertas con contexto: qué está pasando, por qué importa, qué opciones hay]

### Cobros en riesgo
[Clientes con baja probabilidad de pago en fecha + importe en riesgo]

### Recomendación
[1 párrafo de acción concreta si hay alerta. Si no hay alertas, confirmar posición sana.]

REGLAS:
- Si no tienes datos suficientes para calcular algo, di "DATO FALTANTE: [qué falta]".
- No inventes cifras. No hagas suposiciones no fundadas en los datos.
- Si la posición es sana y no hay alertas, dilo en una línea. No rellenes.

Paso 4: Cierra el loop con la alerta

El agente envía el briefing por email o Slack cada mañana.

Si hay una alerta activa (algún umbral roto), el mensaje lleva asunto "ALERTA TESORERÍA" y copia al CEO.

Si no hay alertas, llega como un resumen de 4 líneas que el CFO puede leer en 30 segundos.

La diferencia con el Excel del lunes. Esto llega a las 7:15 de la mañana, todos los días laborables, con los datos del día anterior.

// n8n Code Node: Clasificar alerta y enviar notificación

const briefing = $input.item.json.briefing;
const hasAlert = briefing.includes('### Alertas activas') &&
                 !briefing.includes('Sin alertas activas');

const emailSubject = hasAlert
  ? 'ALERTA TESORERÍA: Requiere atención'
  : 'Briefing diario tesorería: Posición sana';

const emailRecipients = hasAlert
  ? ['[email protected]', '[email protected]']
  : ['[email protected]'];

return {
  subject: emailSubject,
  recipients: emailRecipients,
  body: briefing,
  priority: hasAlert ? 'high' : 'normal'
};

El caso real: de 2,5 horas cada lunes a una alerta cada mañana (lo he calculado en euros pero aplícalo a tu moneda local)

Una empresa de distribución de alimentación, 180 empleados, facturación de 22 millones de euros.

El equipo de finanzas tenía 3 personas. Cada lunes, una de ellas pasaba 2,5 horas consolidando la posición de tesorería para la reunión de dirección de los martes.

El proceso era el que describí arriba: ERP, banco, Excel, llamadas a comerciales.

Implantaron el agente en 6 semanas.

Las primeras 4 semanas: mapear fuentes, conectar Salt Edge a los 2 bancos principales, configurar la exportación del ERP.

La parte técnica no fue el cuello de botella.

Lo fue decidir los umbrales: cuánto es el mínimo de caja operativa para esta empresa, qué porcentaje de concentración en un cliente es tolerable.

Semana 5: primer briefing automático en la bandeja de entrada del CFO a las 7:20 del lunes.

Semana 6: el agente detectó que un cliente que representaba el 21% del cobro pendiente llevaba 4 días sin movimiento en una factura de 180.000 euros con vencimiento en 3 días.

El equipo llamó ese mismo lunes por la mañana.

El cliente había tenido un problema interno con su proceso de pagos y no lo había comunicado. Resuelto el jueves.

Sin el agente, se habrían enterado el viernes, cuando el cobro ya era fallido.

Caso real implantado en 6 semanas: montaje, primer briefing y alerta de un cobro de 180.000 €

Resultado a los 3 meses: el tiempo dedicado a consolidación bajó de 2,5 horas semanales a 20 minutos de revisión del briefing.

El equipo orientó ese tiempo liberado a analizar márgenes por cliente y categoría, algo que llevaban 2 años queriendo hacer.

Esto no es tecnología para "explorar después".

Es infraestructura.

La arquitectura en una tabla

Capa

Herramienta

Coste aproximado

Tiempo de setup

Agregación bancaria

Salt Edge / Belvo / Plaid

150-400 EUR/mes

1-2 días

Orquestación del flujo

n8n (self-hosted)

50 EUR/mes

3-5 días

Motor de análisis

Claude API (Anthropic)

20-80 EUR/mes según volumen

1 día

Notificaciones

Email / Slack

0 EUR (herramientas existentes)

Medio día

Total

220-530 EUR/mes

6-9 días de trabajo técnico

Ojo: son días de trabajo técnico.

En calendario, cuenta unas 6 semanas, como en el caso: lo que más tarda es decidir los umbrales.

Lo que cuesta al mes: coste y setup por capa, total de 220-530 EUR/mes y 6-9 días de trabajo técnico

Para una empresa que paga 2,5 horas semanales de un perfil de tesorería, el ahorro de horas casi paga la herramienta.

El ROI de verdad. Detectar a tiempo un cobro como el de 180.000 €.

Lo que el agente no hace (y es importante saberlo)

El agente no sustituye al criterio del CFO.

Si el modelo dice que la caja a 30 días es holgada pero tú sabes que hay una renegociación de contrato que puede cambiar el panorama, eso no está en los datos.

El agente no lo sabe.

El agente es tan bueno como los datos que recibe.

Si el ERP tiene posiciones de cobro mal registradas, el forecast será incorrecto.

Y los umbrales los tienes que definir tú.

El agente no sabe cuál es el mínimo de caja tolerable para tu empresa. Nadie lo sabe mejor que tú.

Lo que el agente sí hace: elimina el trabajo manual de consolidación, te avisa antes de que tengas que preguntar y te da contexto en vez de solo números.

El CFO moderno no compite con más horas.

Compite con mejor información, antes.

Separador Don CFO

Nos vemos la semana que viene.