Tienes cuatro cuentas bancarias. Tal vez seis. Ocho si incluyes las cuentas de las filiales.

Y ahora mismo, en este momento, no sabes cuánto dinero hay en total.

No exactamente.

Tienes un Excel que alguien de tesorería actualizó el miércoles por la tarde. O el CRM de tu banco, que solo muestra una entidad. O un correo con el extracto que llegó esta mañana y que nadie ha procesado todavía.

La mayoría de CFOs de empresa mediana tienen una foto de ayer del dinero de hoy.

Y toman decisiones de hoy con esa foto.

El problema no es la información. El problema es que la información llega tarde, fragmentada, y en formatos que no puedes comparar.

Esto no es un problema de herramientas. Es un problema de arquitectura. Y se resuelve en una semana.

Por qué el CFO mediano sigue ciego a su propio cash

El CFO de una gran empresa tiene un treasury management system (TMS) conectado a todos sus bancos, que consolida saldos en tiempo real y genera alertas automáticas.

El CFO de empresa mediana tiene... el portal web de cada banco abierto en pestañas distintas.

Tres razones por las que esto sigue pasando:

1. Los TMS enterprise son caros y lentos de implementar

SAP Treasury, Kyriba, GTreasury — estas plataformas cuestan entre 50.000 y 200.000 euros al año y requieren meses de implementación. No es para una empresa de 50 millones de facturación.

2. Las APIs bancarias están disponibles pero nadie las usa

Open Banking (PSD2 en Europa, equivalentes en LatAm) abrió las APIs bancarias hace años. Plaid, Belvo, Salt Edge, TrueLayer — agregadores que conectan con casi cualquier banco con una llamada HTTP. El problema no es acceso. Es que nadie ha construido el flujo que lo une todo.

3. El Excel sigue siendo el denominador común

Porque funciona. Hasta que no funciona. Hasta que hay una decisión de inversión, un pago de nómina urgente, o una renegociación con un proveedor donde necesitas saber — ahora mismo — si tienes liquidez para aguantar 60 días.

La arquitectura del dashboard que cambia esto

Lo que vas a construir es simple en concepto: un agente que cada mañana a las 8:00 consolida todos tus saldos bancarios, los cruza con tu calendario de cobros y pagos, y te envía un brief de tesorería al correo o al Slack.

Tres piezas:

┌─────────────────────────────────────────────────────────────────┐
│                    TREASURY INTELLIGENCE AGENT                   │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  FUENTES DE DATOS                 MOTOR DE PROCESO              │
│                                                                  │
│  Banco 1 ──┬                     ┌─── Consolidación de saldos   │
│  Banco 2 ──┤──► Agregador API ───├─── Cruce cobros/pagos        │
│  Banco 3 ──┤    (Salt Edge /     │─── Cálculo runway            │
│  Banco 4 ──┘     Belvo / Plaid)  └─── Detección de anomalías    │
│                                                                  │
│  CALENDARIO                   ANÁLISIS IA                       │
│                                                                  │
│  Cobros pendientes ─────►  Claude analiza                        │
│  Pagos programados          contexto + tendencias                │
│  Nóminas, proveedores        y genera narrative                   │
│  Impuestos, alquileres      brief ejecutivo                      │
│                                                                  │
│  ─────────────────────────────────────────────────────────────  │
│                                                                  │
│  OUTPUT: Email 8:00 AM + Slack alert si hay riesgo               │
│                                                                  │
│  • Saldo total consolidado por banco y entidad                   │
│  • Proyección de liquidez a 7/14/30 días                         │
│  • Alertas de gap: ¿cuándo entra menos de lo que sale?           │
│  • Cuentas con saldo mínimo configurado                          │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

Tiempo de setup: 4-6 horas

Mantenimiento: prácticamente cero una vez corriendo

Coste mensual: menos de 50 dólares entre APIs y compute

Paso a paso: cómo construirlo en n8n

Conexión bancaria: elige tu agregador

Según tu geografía:

[Tabla: Agregadores bancarios por región — España: Salt Edge o TrueLayer (BBVA, Santander, CaixaBank, Sabadell, ING, Bankinter) | México/Colombia/Chile: Belvo (Bancomer, Bancolombia, BCI, Santander LatAm) | USA/Global: Plaid (Bank of America, Chase, Wells Fargo, 11.000+ instituciones) | Multi-región: Nordigen/GoCardless (UE completa, gratuito hasta volumen bajo)]

Todos tienen SDKs y documentación de API REST. Salt Edge y Belvo tienen tier gratuito para empezar.

El workflow n8n completo

Guarda esto como treasury-agent.json e impórtalo directamente en tu instancia de n8n:

// treasury-agent.json  PARTE 1: Nodos de datos
{
  "name": "Treasury Intelligence Agent — Alerta Diaria 8:00",
  "nodes": [
    {
      "name": "Trigger Diario 8:00",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.1,
      "position": [200, 300],
      "parameters": {
        "rule": { "interval": [{ "triggerAtHour": 8, "triggerAtMinute": 0 }] }
      }
    },
    {
      "name": "Obtener Cuentas Bancarias",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [420, 300],
      "parameters": {
        "method": "GET",
        "url": "<https://www.saltedge.com/api/v5/accounts>",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            { "name": "App-id", "value": "={{ $vars.SALT_EDGE_APP_ID }}" },
            { "name": "Secret", "value": "={{ $vars.SALT_EDGE_SECRET }}" }
          ]
        }
      }
    },
    {
      "name": "Consolidar Saldos",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [640, 300],
      "parameters": {
        "jsCode": "// ver codigo completo en snippet siguiente"
      }
    },
    {
      "name": "Leer Calendario Cobros/Pagos",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.3,
      "position": [640, 480],
      "parameters": {
        "operation": "readOrTake",
        "documentId": { "value": "={{ $vars.GOOGLE_SHEET_ID }}" },
        "sheetName": { "value": "Calendario Tesoreria" }
      }
    }
  ]
}
// PARTE 2: Nodos IA + Output
{
  "nodes": [
    { "name": "Claude — Análisis de Tesorería", "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic", "position": [860, 380] },
    { "name": "Detectar Alertas Críticas", "type": "n8n-nodes-base.code", "position": [1060, 380] },
    { "name": "Email al CFO", "type": "n8n-nodes-base.gmail", "position": [1280, 240],
      "parameters": { "sendTo": "={{ $vars.CFO_EMAIL }}", "subject": "=📊 Treasury Brief — {{ $now.toISO().split('T')[0] }}" }
    },
    { "name": "¿Alerta Crítica?", "type": "n8n-nodes-base.if", "position": [1280, 460] },
    { "name": "Slack — Alerta Urgente", "type": "n8n-nodes-base.slack", "position": [1500, 380],
      "parameters": { "channel": "#tesoreria-alertas" }
    }
  ],
  "connections": {
    "Trigger Diario 8:00": { "main": [[{ "node": "Obtener Cuentas Bancarias" }, { "node": "Leer Calendario Cobros/Pagos" }]] },
    "Consolidar Saldos": { "main": [[{ "node": "Claude — Análisis de Tesorería" }]] },
    "Leer Calendario Cobros/Pagos": { "main": [[{ "node": "Claude — Análisis de Tesorería" }]] },
    "Claude — Análisis de Tesorería": { "main": [[{ "node": "Detectar Alertas Críticas" }]] },
    "Detectar Alertas Críticas": { "main": [[{ "node": "Email al CFO" }, { "node": "¿Alerta Crítica?" }]] },
    "¿Alerta Crítica?": { "main": [[{ "node": "Slack — Alerta Urgente" }], []] }
  },
  "settings": { "executionOrder": "v1" }
}

El prompt de Claude que hace el análisis real

El nodo de Claude en este workflow usa el siguiente system prompt. Puedes ajustarlo según tu empresa:

Eres el CFO assistant de la empresa. Analiza la situación de tesorería
y genera un brief ejecutivo conciso.

SALDO CONSOLIDADO:
{{ JSON.stringify($('Consolidar Saldos').item.json, null, 2) }}

CALENDARIO PRÓXIMOS 30 DÍAS:
{{ JSON.stringify($('Leer Calendario Cobros/Pagos').all().map(i => i.json), null, 2) }}

GENERA UN BRIEF con este formato exacto:

## ESTADO DE TESORERÍA — [fecha]

**Saldo total consolidado:** [importe]
**Posición vs ayer:** [+ o - con porcentaje]

### PROYECCIÓN DE LIQUIDEZ
- 7 días: [análisis con importe proyectado]
- 14 días: [análisis con importe proyectado]
- 30 días: [análisis con importe proyectado]

### ALERTAS ACTIVAS
[Lista de máx. 3 alertas priorizadas por urgencia]

### ACCIONES RECOMENDADAS
[Máx. 2 acciones concretas para hoy]

Tono: ejecutivo, directo, sin adornos. Máximo 300 palabras.
No uses frases como "es importante destacar" o "cabe mencionar".

Este prompt te da un brief de tesorería que puedes leer en 90 segundos.

Lo que ve el CFO cada mañana

📊 Treasury Brief — 2026-03-14

## ESTADO DE TESORERÍA — 2026-03-14

Saldo total consolidado: €487.320,44
Posición vs ayer: +€12.400 (+2,6%)

### PROYECCIÓN DE LIQUIDEZ
- 7 días: €441.200 estimados (nómina €42.000 el día 16, cobro cliente sin confirmar)
- 14 días: €398.700 estimados (pago proveedor principal €38.000 el día 24)
- 30 días: €312.400 — ATENCIÓN: margen ajustado si cobros se retrasan

### ALERTAS ACTIVAS
1. CRÍTICO — Cuenta BBVA España: saldo €18.200 (umbral mínimo: €25.000)
2. ADVERTENCIA — Cobro pendiente: €67.000 vence mañana — sin confirmar
3. ADVERTENCIA — Concentración: 38% del saldo esperado depende de 2 clientes

### ACCIONES RECOMENDADAS
1. Transferencia interna €10.000 a BBVA España para cubrir umbral mínimo
2. Contactar cliente con cobro pendiente hoy — confirmar fecha de pago

Las tres configuraciones que marcan la diferencia

1. Umbrales mínimos por cuenta

// Umbrales mínimos por cuenta (configura según tu empresa)
const UMBRALES = {
  'BBVA_ES': 25000,
  'SANTANDER_MX': 50000,
  'CAIXABANK_ES': 30000,
  'DEFAULT': 15000
};

// En el loop de consolidación:
cuenta.alerta_saldo_bajo = cuenta.saldo < (UMBRALES[cuenta.swift_code] || UMBRALES.DEFAULT);

2. Calendario de pagos recurrentes

// Pagos fijos mensuales (completar con los de tu empresa)
const PAGOS_FIJOS = [
  { concepto: 'Nómina', dia_mes: 28, importe_estimado: 85000 },
  { concepto: 'Alquiler oficinas', dia_mes: 5, importe_estimado: 12000 },
  { concepto: 'Seguridad Social', dia_mes: 20, importe_estimado: 22000 },
  { concepto: 'Hacienda IVA', dia_mes: 20, trimestral: true, importe_estimado: 45000 }
];

3. Proyección narrativa de liquidez

Además del brief estándar, añade una sección "Lectura del CFO" de máximo
2 frases donde interpretes la situación:
- ¿La posición es sólida, ajustada o en riesgo?
- ¿Hay algo que requiera atención antes del próximo cierre?
No uses eufemismos. Si hay riesgo, dilo.

El antes y el después

[Tabla: Sin el agente vs Con el agente — 4-6 cuentas en pestañas distintas / Un solo brief consolidado a las 8:00 | Excel con 1-3 días de retraso / Datos bancarios de ayer noche via API | Reunión de tesorería para revisar posición / 90 segundos de lectura del email | Alertas manuales si alguien recuerda mirar / Alertas automáticas al Slack del equipo | Decisiones con incertidumbre de saldo real / Decisiones con saldo consolidado en tiempo real | CFO preguntando "¿cuánto tenemos?" / CFO llegando a la reunión con la respuesta]

El stack completo

┌─────────────────┐    ┌──────────────┐    ┌──────────────────┐
│  DATOS FUENTE   │    │   PROCESO    │    │     OUTPUT        │
├─────────────────┤    ├──────────────┤    ├──────────────────┤
│ Salt Edge (ES)  │──► │    n8n       │──► │ Email brief 8AM  │
│ Belvo (LatAm)   │    │  Trigger     │    │ Slack si alerta  │
│ Plaid (Global)  │    │  8:00 AM     │    │ Google Sheet log │
├─────────────────┤    ├──────────────┤    └──────────────────┘
│ Google Sheets   │──► │  Consolida   │
│ (cobros/pagos)  │    │  + proyecta  │
│ ERP / Holded    │    ├──────────────┤
└─────────────────┘    │   Claude     │
                       │  Analiza +   │
                       │  Narra       │
                       └──────────────┘

Coste estimado mensual:

  • Salt Edge / Belvo API: 0 € (tier gratuito) a ~30 €/mes (tier paid)

  • n8n Cloud: desde 20 €/mes (o self-hosted gratis)

  • Claude API: ~5-10 €/mes (~30 llamadas/mes)

  • Total: menos de 50 €/mes para visibilidad completa de tesorería

La foto de ayer no es el problema. Es el síntoma.

El problema real es que construiste tu departamento financiero con las herramientas de 2015 y el volumen de transacciones de 2026. En algún punto, el Excel — por bueno que seas usándolo — deja de escalar.

La buena noticia: no necesitas un TMS enterprise ni un equipo de treasury de 10 personas. Necesitas un workflow que corra a las 8:00, cuatro APIs bancarias, y 30 minutos de configuración en n8n.

El CFO moderno no decide mejor porque trabaja más horas.

Decide mejor porque tiene los datos correctos en el momento correcto.

La tesorería en tiempo real no es un capricho de CFO moderno. Es la diferencia entre decidir y adivinar.

¿Quieres aprender a hacer esto?

Ultimas plazas para el programa AI CFO Fractional

Este es exactamente el tipo de infraestructura que construimos en el programa AI Fractional CFO de Próximo: agentes de IA para tesorería, reporting, FP&A y due diligence, implementados junto a tu equipo en 30 días.