Llevo tiempo escribiéndote sobre IA y finanzas.

Pero el sector cambia rápido y tu agenda también.
Esta newsletter es la referencia en habla hispana de IA para finanzas, y quiero que siga ayudándote a tomar decisiones, no solo a estar informado.

Estoy planteando nuevos formatos y necesito tu opinión

Cuéntame por favor.

Mientras tanto, vamos al trabajo.

En las últimas semanas hemos visto aquí cómo Claude para Excel audita modelos financieros en 4 minutos, cómo un agente de covenants te avisa antes de que llame el banco, y cómo un sistema de conciliación bancaria cruza 40 movimientos en 90 segundos.

Hoy juntamos todo en el proceso que más tiempo consume a cualquier equipo financiero: el cierre mensual.

El diagnóstico que nadie quiere escribir en el informe

El 70% del tiempo del cierre mensual se va en tareas que no requieren criterio humano.

Recopilar datos de distintas fuentes. Cruzar partidas. Detectar diferencias. Calcular desviaciones. Formatear tablas. Redactar la narrativa del deck.

El 30% restante es donde está tu valor como CFO: interpretar qué significan los números, decidir qué le cuentas al board y cómo, y tomar decisiones sobre partidas complejas donde el contexto importa más que el dato.

El problema no es la cantidad de trabajo. Es que tu equipo dedica el 70% de sus horas al trabajo de menor valor.

Hoy te enseño a construir tres agentes con Claude Code que se encargan del 70%. Tú te quedas con el 30%.

Agente 1: Conciliación Express

El dolor

El lunes de cierre, el controller llega a la oficina con 40 movimientos bancarios sin cruzar.

Los que cuadran se validan uno a uno. Los que no cuadran se buscan en el ERP. Los de fecha desajustada se confirman con el banco. Los que llevan más de un mes sin aclarar se escalan al CFO.

Cuatro horas de trabajo manual para un proceso que tiene reglas completamente definibles.

La lógica del agente

El agente cruza por importe exacto con tolerancia de ±€0,50 y fecha con ventana de ±3 días. Lo que no cruza en ninguna combinación va a la lista de revisión humana. Lo que lleva más de 30 días sin cruzar recibe un flag crítico.

Noventa segundos de procesamiento. Diez minutos de revisión humana sobre los pendientes reales.

Flujo del proceso

Extracto banco (CSV) + Libro contable (CSV)
        │
        ▼
Claude Code cruza partidas (tolerancia ±€0,50 / ±3 días)
        │
        ├── Coincidencias → Pestaña "Cruzadas" (Excel)
        ├── Sin cruzar banco → Pestaña "Pendiente banco"
        └── Sin cruzar contabilidad → Pestaña "Pendiente contabilidad"
                │
                ▼
        Resumen ejecutivo (totales, % cruzado, flags críticos >30 días)
                │
                ▼
        Email automático al controller
                │
                ▼
        Controller revisa pendientes reales (10 min)

El prompt para Claude Code

Abre tu terminal, lanza Claude Code, y pégale esto:

Necesito un script en Python para conciliación bancaria automática.

CONTEXTO:

Tengo dos archivos CSV: extracto_banco.csv y libro_contable.csv

Columnas banco: fecha, descripcion, importe, referencia

Columnas contabilidad: fecha, cuenta, concepto, debe, haber, referencia

LÓGICA DE CONCILIACIÓN:

Cruzar por importe (tolerancia ±€0,50) Y fecha (ventana ±3 días)

Si hay referencia en ambos, usar referencia como primer criterio de cruce

Lo que no cruza → lista de partidas pendientes

Partidas sin cruzar con antigüedad >30 días → flag "CRÍTICO"

LO QUE NECESITO:

Script conciliacion.py que:

Lea los dos CSVs

Ejecute el algoritmo de cruce

Genere un Excel con 3 pestañas:

"Cruzadas": partidas que cuadran (con columna de confianza del cruce)

"Pendiente_Banco": movimientos bancarios sin contrapartida contable

"Pendiente_Contabilidad": apuntes contables sin movimiento bancario

En cada pestaña de pendientes: columna "Antigüedad (días)" y flag "CRÍTICO" si >30 días

Pestaña adicional "Resumen": total cruzado, total pendiente banco, total pendiente contabilidad, monto en crítico, % de conciliación

Enviar el Excel por email (SMTP) al controller con asunto "Conciliación [MES/AÑO] - X% completada"

Incluye requirements.txt con dependencias (pandas, openpyxl, smtplib).
Usa variables de entorno para rutas de archivos y config SMTP.
Añade logging para trazar cada decisión de cruce.

Output esperado (ejemplo real)

Concepto

Valor

Movimientos banco

40

Movimientos contabilidad

38

Partidas cruzadas

35 (87,5%)

Pendiente banco

5

Pendiente contabilidad

3

Monto pendiente total

€12.340

Flags críticos (>30 días)

2 — requieren revisión inmediata

El controller llega el lunes, abre el Excel, y revisa los 8 pendientes reales en lugar de procesar los 78 movimientos totales.

Agente 2: Variance Analyst

El dolor

El variance analysis tarda entre 3 y 4 horas y siempre se hace con prisas el último día antes del comité.

El proceso: descargar el P&L real del ERP, abrir el modelo de forecast, calcular desviaciones línea a línea, calcular impacto en EBITDA, ordenar por impacto, y redactar la columna de "comentarios" que nadie rellena con rigor porque es viernes a las 18h.

El resultado: un análisis que podría ser estratégico se convierte en un ejercicio de relleno de celdas.

La lógica del agente

El agente calcula las desviaciones, identifica el top 5 por impacto en EBITDA, clasifica cada una como favorable o desfavorable, genera una hipótesis plausible del driver, y formula una pregunta de investigación concreta para el CFO.

El CFO no necesita saber por qué el COGS se desvió €47k. Necesita saber si fue un impacto de precio, de volumen, o de mix — y qué pregunta hacerle al responsable de operaciones.

Flujo del proceso


P&L real (Excel) + Forecast aprobado (Excel)
│
▼
Claude Code calcula desviaciones línea a línea
│
▼
Ranking por impacto absoluto en EBITDA (top 5)
│
▼
Claude API genera para cada desviación:

Clasificación: favorable / desfavorable

Hipótesis del driver (precio, volumen, timing, one-off)

Pregunta de investigación para el CFO
│
▼
Documento de variance analysis (Excel + resumen Word)
│
▼
CFO revisa hipótesis y decide qué investigar (20 min)

El prompt para Claude Code


Necesito un script de variance analysis automatizado para cierre mensual.

INPUT:
- Dos archivos Excel: pl_real.xlsx y pl_forecast.xlsx
- Misma estructura de filas (líneas del P&L) y columnas (mes actual + YTD)
- Columna "cuenta" como identificador de línea

CÁLCULOS:
1. Para cada línea: desviación absoluta (real - forecast) y desviación relativa (%)
2. Calcular impacto en EBITDA de cada desviación
3. Clasificar: favorable (mejora EBITDA) o desfavorable (empeora EBITDA)
4. Ranking top 5 desviaciones por impacto absoluto en EBITDA

LLAMADA A CLAUDE API:
Para cada una de las top 5 desviaciones, llamar a Claude con este prompt:
---
Cuenta: {cuenta}
Desviación: {desviacion_eur} EUR ({desviacion_pct}%)
Clasificación: {favorable_desfavorable}
Contexto del P&L: línea de {categoria} (ingresos / coste / gasto operativo)

Genera:
1. Hipótesis del driver más probable (1 línea): precio, volumen, timing, partida no prevista, mix de producto
2. Pregunta de investigación para el CFO (1 línea): qué necesita validar con el equipo responsable
Responde en formato JSON: {"hipotesis": "...", "pregunta": "..."}
---

OUTPUT:
Excel con:
- Pestaña "Variance completo": todas las líneas con desviación y clasificación
- Pestaña "Top 5 EBITDA": las 5 desviaciones más relevantes con hipótesis y pregunta
- Pestaña "Resumen ejecutivo": EBITDA real vs forecast, desviación total, % de cumplimiento

Usa openpyxl. Formato condicional: rojo para desfavorable, verde para favorable.

Output esperado (tabla ejecutiva)

Cuenta

Real (€k)

Forecast (€k)

Desviación%

Impacto EBITDA

Hipótesis

Pregunta CFO

Coste personal

387

350

-10,6%

Desfavorable

Incorporaciones adelantadas

¿Se registraron las contrataciones de Q2 en marzo?

Ingresos SaaS

210

195

+7,7%

Favorable

Upsell en cliente enterprise

¿Es recurrente o one-off?

Marketing

58

45

-28,9%

Desfavorable

Campaña adelantada

¿Se puede diferir el gasto restante a Q2?

El CFO recibe esto, valida las hipótesis en 20 minutos, y llega al comité sabiendo exactamente qué va a preguntar.

Agente 3: Board Pack Writer

El dolor

Son las 19:00 del viernes. El cierre cuadra. El variance analysis está hecho. Y alguien tiene que redactar la narrativa del board pack.

La narrativa no es un resumen de números. Es una historia con argumento: qué pasó, por qué pasó, qué vas a hacer. El CFO sabe contarla. El problema es que escribe desde cero cada mes porque no hay un punto de partida.

El agente cambia el punto de partida. Genera un borrador de 300 palabras basado en los números del cierre y el variance analysis. El CFO lo edita, ajusta el tono, y decide qué énfasis darle al board.

De 2 horas de redacción en blanco a 10 minutos de edición sobre un borrador sólido.

Flujo del proceso

Revenue (real vs forecast) + EBITDA (real vs forecast)
+ Cash position + Top 5 variance analysis
        │
        ▼
Claude Code estructura los inputs en JSON estandarizado
        │
        ▼
Claude API genera narrativa board pack (~300 palabras):
  - Headline de performance del mes
  - 2-3 drivers principales (positivos y negativos)
  - Alerta si la hay (covenant, liquidez, desviación crítica)
  - Outlook del mes siguiente
        │
        ▼
Borrador al CFO (Word o Google Doc)
        │
        ▼
CFO revisa tono y framing (10 min)
        │
        ▼
Listo para el deck

El prompt para Claude Code

Necesito un script que genere el borrador de narrativa para el board pack mensual.

INPUT (JSON estructurado):
{
"mes": "Marzo 2026",
"revenue": {"real": 210000, "forecast": 195000, "variacion_pct": 7.7},
"ebitda": {"real": 42000, "forecast": 38000, "variacion_pct": 10.5, "margen_real": 20.0},
"cash": {"saldo_final": 185000, "variacion_mes": -12000},
"top_3_drivers": [
{"cuenta": "Ingresos SaaS", "impacto_eur": 15000, "tipo": "favorable", "hipotesis": "Upsell cliente enterprise"},
{"cuenta": "Coste personal", "impacto_eur": -37000, "tipo": "desfavorable", "hipotesis": "Incorporaciones adelantadas"},
{"cuenta": "Marketing", "impacto_eur": -13000, "tipo": "desfavorable", "hipotesis": "Campaña adelantada a Q1"}
],
"alertas": [],
"outlook": "Q2 con pipeline sólido. Presión en headcount si se mantiene ritmo de contratación."
}

LLAMADA A CLAUDE API con este system prompt:

Eres el CFO de una empresa. Escribe el Executive Summary del board pack mensual.
Tono: directo, ejecutivo, sin rodeos. Sin frases vacías ni conclusiones obvias.
Estructura OBLIGATORIA:

Headline (1 línea): el resultado del mes en una frase con número y contexto

Drivers (2-3 párrafos): qué impulsó el resultado, positivo y negativo

Alerta (si la hay): una sola frase clara sobre el riesgo o desviación crítica

Outlook (1 párrafo): qué esperar el mes siguiente y qué variable seguir de cerca

Máximo 300 palabras. Sin bullet points — texto corrido. Listo para pegar en el deck.

OUTPUT: archivo board_pack_narrativa_[MES].docx
Usar python-docx. Título en negrita, estructura con estilos de Word.

Output esperado (borrador real)

MARZO 2026: MEJOR MES DEL AÑO. REVENUE +7,7% SOBRE FORECAST.

El mes cerró con ingresos de €210k frente a los €195k previstos,
impulsados por el upsell en el cliente enterprise anunciado en Q4.
El EBITDA alcanzó €42k (margen del 20%), por encima del forecast en €4k.

La desviación negativa más relevante fue el coste de personal, que superó
el forecast en €37k por la anticipación de tres incorporaciones previstas
para Q2. No es un problema de control de gasto — es un problema de timing
de registro. Q2 se verá aliviado en esa línea.

El gasto de marketing fue €13k superior al plan por la campaña de captación
adelantada de Q1. El equipo estima que el gasto diferido en Q2 será
proporcionalmente menor.

Cash position: €185k al cierre, -€12k vs inicio de mes. Sin alertas de
liquidez. El runway cubre 6 meses al ritmo de burn actual.

Outlook Q2: el pipeline tiene visibilidad suficiente para mantener la línea
de ingresos. La variable a monitorizar es el headcount: si el ritmo de
incorporaciones se mantiene, el coste de personal presionará el EBITDA
en abril. Recomendación: revisar el forecast de headcount antes del comité
de abril.

Los límites honestos

El agente redacta. El CFO valida.

El agente no sabe qué quiere oír el board. No conoce el contexto político detrás de un número. No sabe si el presidente del comité es conservador con las proyecciones o si el inversor principal está preocupado por el burn.

El 30% que el agente no hace es exactamente el 30% que define si eres un buen CFO o uno extraordinario.

Antes vs. después: los números del cierre

Proceso

Sin agente

Con agente

Conciliación bancaria

4-6 horas manual

90 seg procesamiento + 10 min revisión

Variance analysis

3-4 horas

5 min procesamiento + 20 min revisión

Narrativa board pack

2 horas desde cero

2 min generación + 10 min edición

Total cierre mensual

~4 días

~medio día

No es una estimación optimista. Es la diferencia entre dedicar 3,5 días a construcción y 0,5 días a criterio.

Lo que el agente NO puede hacer

Esto también importa, así que lo escribimos sin rodeos.

El agente de conciliación no detecta errores de clasificación que el ERP ya registró mal. Si el apunte contable está en la cuenta equivocada, el agente lo concilia — no lo corrige. Conciliar no es auditar. No son lo mismo.

El agente de variance analysis no interpreta contexto de negocio. No sabe que la desviación de €37k en personal es consecuencia de una negociación con un sindicato que lleva tres meses. Las hipótesis son estadísticamente plausibles, no contextualmente precisas.

El agente de board pack no sustituye el juicio en partidas complejas: amortizaciones aceleradas, provisiones discrecionales, criterios IFRS donde hay interpretación. Tampoco conoce el tono que necesita cada board.

Los tres agentes juntos hacen el 70% del cierre en el 20% del tiempo. El 30% restante — interpretación, decisión, contexto — es donde está tu valor. Y ese 30% ahora lo haces con foco, no con agotamiento.

La IA no elimina la necesidad del criterio financiero. La amplifica porque por fin tienes tiempo de ejercerlo.

¿Quieres aprender como aplicar la IA en finanzas?

Da un salto en tu carrera aplicando la IA o consigue nuevas fuentes de ingresos como CFO Fractional.

🔥 AI CFO Fractional Program
¡Nos quedan 2 plazas!
Arrancamos en Mayo.
¡Últimos días para unirte al programa!