
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.
¿Qué te gustaría leer en Don CFO?
- 📋 Playbook — Sistema/agente completo con skills, flujos.. (el formato actual)
- 📬 Buzón del CFO — 3 preguntas reales sobre IA aplicada a finanzas de CFOs/Controllers respondidas
- 🏛️ Boardroom Brief (quincenal) — 5 min sobre el tema caliente para un CFO (IA en ESG, IA en auditoría...)
- 🔍 Spotlight (mensual) — Entrevista con CFO o caso de M&A/cierre en profundidad
- 🛠️ Tool Drop — 1 herramienta de IA para finanzas, veredicto rápido
- Otro (por favor cuéntame)
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!