Procesamiento de extractos
Los extractos bancarios son la forma más completa de registrar tu historial financiero en Clatri — más rica que el chat (que es bueno para gastos sueltos del día a día) y disponible para todos los bancos (a diferencia del open banking, que sólo cubre algunos países). El Experto en Extractos del agente se encarga de leer el documento y dejarte un staging editable que tú apruebas antes de que se registre nada.
Este documento describe el proceso completo: tipos de extractos, el flujo de importación, las features inteligentes que aplica el sistema (detección de duplicados, detección de transferencias internas, asociación automática de contrapartes y grupos de gastos) y las instrucciones por entidad que tú puedes escribir para guiar al extractor.
Tipos de extracto
| Tipo | Cuándo lo emite el banco | Qué cubre |
|---|---|---|
| Extracto de cuenta | Mensual o trimestral, según el banco | Movimientos de una cuenta corriente o de ahorros en un periodo. Las tarjetas de débito NO emiten extractos propios — sus movimientos viven en el extracto de la cuenta a la que están vinculadas. |
| Extracto de tarjeta de crédito | Después de cada fecha de corte | Compras, pagos y cargos del ciclo entre el corte anterior y el actual. Si tu tarjeta corta el 15, el extracto de "abril" cubre del 16 de marzo al 15 de abril. |
Por eso es importante configurar correctamente la fecha de corte y fecha de pago al crear la tarjeta en Clatri — el sistema las usa para alinear los extractos que subas y para generar notificaciones.
El flujo de importación
Subes el archivo (PDF, Excel, CSV, captura de pantalla) al chat. El agente delega al sub-agente statement_expert que hace 5 pasos:
- Extracción — el extractor LLM lee el documento y produce una lista estructurada de transacciones. Aquí se aplican tus instrucciones por entidad (ver más abajo).
- Resolución de asociaciones — para cada transacción intenta inferir la contraparte (qué contacto) y el grupo de gastos al que pertenece, consultando tu libreta de contactos y tus grupos existentes.
- Detección de duplicados — compara cada transacción contra las que ya tienes registradas (manual, integración bancaria, extracto anterior) usando monto + fecha + descripción. Las coincidencias se marcan como duplicados.
- Detección de transferencias internas — si dos cuentas tuyas muestran el mismo monto con signos opuestos en fechas cercanas, ambos lados se colapsan en una sola transferencia interna en vez de un gasto + un ingreso.
- Staging y revisión — el agente te devuelve un widget interactivo con la lista de transacciones: nuevas, duplicadas, transferencias detectadas y las que necesitan revisión manual. Editas, descartas o confirmas. Nada se registra hasta que apruebas.
Conciliación vs registro nuevo
Al ejecutar el import puedes elegir entre:
- Registro nuevo (default) — las transacciones se registran y actualizan el balance actual de la cuenta. Útil para un extracto reciente que pone tu cuenta al día.
- Conciliación — registra transacciones históricas sin modificar el balance actual. Útil cuando subes meses pasados y no quieres que recalculen un balance que ya conocías.
Recibir extractos por correo (automático)
No tienes que descargar y subir cada extracto a mano. Tu banco te lo manda por correo cada mes — puedes hacer que llegue solo a Clatri y se procese sin que muevas un dedo.
Cada perfil tiene una dirección de entrada (algo como a1b2c3d4@inbox.clatri.com) a la que puedes reenviar los correos de tu banco. Y si configuras un reenvío automático en Gmail o en Outlook con un filtro por el remitente del banco, cada extracto que llegue entra directo al flujo de importación de arriba: el statement_expert lo lee, lo deja en staging y tú apruebas.
Si el PDF viene con contraseña (la cédula, un código del banco), Clatri intenta abrirlo solo con tu documento de identidad y las contraseñas que guardes.
El paso a paso —incluida la configuración de reenvío en Gmail y Outlook— está en Recibir documentos por correo.
Instrucciones por entidad — lo que falta para que el extractor "te conozca"
Cada entidad en Clatri tiene un campo de texto libre llamado Instrucciones para procesamiento de extractos. Lo encuentras en Ajustes → Entidades → [tu entidad] → Instrucciones de extractos.
Es texto sin estructura, en tu idioma, donde escribes las convenciones y particularidades que el extractor LLM no puede adivinar por sí solo. Se prepende al prompt con prioridad máxima cada vez que importas un extracto, así que el agente "te conoce" sin que tengas que repetirlo en cada chat.
Casos de uso típicos:
Mamá: cualquier transacción a "Julia M.", "María Castro", "MARIA CASTRO" o
"J CASTRO" es a mi mamá. Asociarla con el contacto "Mamá".
4x100 NO es comisión bancaria, es un impuesto. Clasificarlo como "taxes".
Asopagos es seguridad social, no es seguro privado. Categoría: health.
En los extractos de Davivienda los saldos aparecen en la segunda columna
(no en la primera como en la mayoría de bancos).
Ignorar todas las líneas que contengan "INTERESES CORRIENTES" — son
agregados del banco que se duplican con el movimiento real.
Las transferencias entre mis cuentas Nequi y Bancolombia siempre llevan
"NEQUI" o "BANCOLOMBIA" en la descripción — colapsarlas como
transferencias internas.
Como ves, va desde alias de contactos ("Julia M = mamá") hasta reglas de clasificación ("4x100 = impuesto") pasando por convenciones del banco ("saldos en columna 2") y reglas de filtrado ("ignorar líneas X"). Es la única forma de codificar conocimiento que el LLM no puede tener de otra forma porque depende de tu vida, tus contactos y tu banco específico.
Por entidad, no por cuenta: si tienes una entidad Camilo personal y otra Gurwi LLC, puedes tener convenciones diferentes en cada una. Las de tu entidad personal pueden hablar de mamá; las de la empresa, de proveedores y clientes específicos.
Detección de duplicados
Cuando importas un extracto, el sistema compara cada transacción nueva contra las existentes con una heurística que combina:
- Monto exacto (mismo signo, misma moneda)
- Fecha dentro de una ventana de tolerancia (±2 días para extractos, hasta 5 días si la transacción venía de un pago recurrente porque los bancos a veces tardan en procesar)
- Descripción con normalización (mayúsculas, espacios, acentos quitados; matching aproximado)
- Cuenta / tarjeta — solo compara contra transacciones de la misma cuenta
Las transacciones identificadas como duplicados aparecen marcadas con un indicador especial en el widget de revisión. Por defecto NO se registran, pero puedes forzar registro caso a caso si decides que el duplicado en realidad es legítimo (mismo monto el mismo día por casualidad).
El mismo motor de duplicados aplica también al open banking — cuando Plaid reporta una transacción nueva, primero verifica si ya la habías registrado manualmente o por extracto previo.
Detección de transferencias internas
Si transfieres $500.000 de tu cuenta Bancolombia a Nequi, esa transacción aparece dos veces en tus extractos: como egreso de Bancolombia y como ingreso a Nequi. Sin detección automática, terminarías con un gasto fantasma + un ingreso fantasma que distorsionan tu cashflow.
El sistema detecta esto comparando, en cualquier extracto que importes, las transacciones contra los movimientos de tus otras cuentas en una ventana de tiempo cercana. Cuando encuentra una pareja (mismo monto, signos opuestos, fechas próximas, descripciones que suelen mencionar al otro banco), las colapsa en una sola transferencia interna que afecta los dos balances sin contar ni como gasto ni como ingreso.
Esto pasa también con pagos a tarjetas de crédito: si pagas la tarjeta desde tu cuenta corriente, la salida de la cuenta y la entrada (abono al saldo) de la tarjeta se reconcilian como un solo movimiento.
Asociación automática a contactos y grupos
Durante la extracción, el LLM lee la descripción de cada transacción e intenta resolver:
- Contraparte — busca en tu libreta de contactos por nombre o alias. Si encuentra match (o tu instrucción por entidad le da la pista — "Julia M = mamá"), pre-asigna el contacto.
- Grupo de gastos — si la descripción coincide con el nombre o las palabras clave de un grupo existente ("Boda Camila", "Cuentas con Andrés"), pre-asigna el grupo.
Estas sugerencias se muestran en el widget de revisión. Tú las confirmas, las cambias o las descartas antes de ejecutar el import. Si descartas, las transacciones se registran sin la asociación; si confirmas, quedan vinculadas y aparecen automáticamente cuando filtras por ese contacto o por ese grupo.
Multi-moneda y opening balance
Si tu extracto está en una moneda diferente a la moneda principal de la cuenta, el sistema te pregunta el tipo de cambio para la conversión. Las transacciones se guardan en ambas monedas (original + convertida) para que puedas ver el detalle real y el agregado consistente.
También, si el extracto incluye un saldo inicial / final, el sistema lo usa como opening balance para alinear el cálculo de balance histórico con tu balance actual — evita la deriva que ocurriría si solo sumas/restas las transacciones.
Qué hacer cuando algo sale mal
- El extractor no leyó bien una transacción → corrígela en el widget de staging antes de aprobar. Si el error se repite en cada import del mismo banco, agrega la regla al campo de instrucciones por entidad para que no vuelva a pasar.
- El extractor clasificó mal una categoría → corrige en staging. Si pasa siempre, agrega la regla a las instrucciones ("Asopagos siempre es health, no taxes").
- El extractor duplicó una transacción que NO es duplicada → desmarca el flag de duplicado en el widget; se registrará normalmente.
- El extractor colapsó dos cosas como transferencia interna y no era → desmarca el flag en el widget y registra los dos lados por separado.
- El extractor inventó datos (alucinó) → reporta el caso en Settings → Feedback Board. El extractor está afinado pero ningún LLM es perfecto; saber dónde falla nos ayuda a mejorar el prompt.