Conciliación bancaria BBVA
Conciliación bancaria BBVA
Conciliar es cruzar lo que dice el banco contra lo que dicen tus libros: cada peso que entró o salió de la cuenta BBVA debería tener su documento en ERPNext que lo explique. Cuando un movimiento del banco no tiene contraparte en los libros, eso es exactamente la señal que quieres ver — un gasto que no registraste, un cobro que no aplicaste.
El sistema hace esto en tres tiempos:
- Carga los movimientos del banco (doctype BBVA Bank Movement).
- Los cruza contra tus documentos y deja registro de cada corrida (doctype BBVA Reconciliation Run).
- Te muestra lo que no cuadra para que lo resuelvas — desde el Desk o desde Telegram con Contabot.
Importante: La conciliación no contabiliza nada por su cuenta. Cruzar un movimiento solo confirma que ya tiene su papel; lo que queda sin cruzar (Unmatched) es el entregable, no un error. Cuando tú armas la póliza que falta y la sometes, la conciliación cierra el movimiento sola.
1. De dónde salen los movimientos
Los movimientos llegan a BBVA Bank Movement por dos caminos que se respaldan entre sí:
- Webhook — el banco avisa al instante cuando hay actividad.
- Poll (sondeo) — de forma periódica, el sistema pregunta al banco por la ventana reciente (por defecto los últimos 3 días) y trae lo que haya. Esto rellena lo que un webhook perdido no trajo.
Cada movimiento tiene un Movement ID único que sirve de llave de idempotencia: si el mismo movimiento llega por webhook y por poll, la segunda vez es un no-op. Nunca se duplica.
Cada fila de BBVA Bank Movement guarda: fecha (Posting Date), monto (Amount), dirección (Direction: In = entró dinero / Out = salió), la contraparte (Counterparty Name, Counterparty CLABE), el Concepto, el origen (Source: Webhook/Poll) y su Match Status (Unmatched / Matched / Ignored).
Nota: La configuración de la conexión (habilitar, ambiente Sandbox/Producción, cuenta a sondear, cuenta contable BBVA espejo) vive en BBVA Banking Settings y la maneja el administrador. Como usuario de la contabilidad no necesitas tocarla.
[VERIFICAR: si la conexión BBVA ya está en Producción o sigue en Sandbox/emulador en el tenant. Si sigue en sandbox, la carga automática de movimientos reales aún no está activa y la conciliación se alimenta a mano / desde otros orígenes.]
Cargar movimientos manualmente
Normalmente la carga es automática. Si necesitas forzar un sondeo (por ejemplo, para traer lo del día ahora mismo):
- En el Desk, abre la lista de BBVA Reconciliation Run.
- Dispara una corrida manual (Run Poll, solo System Manager).
- Se crea un registro de BBVA Reconciliation Run con los contadores de esa corrida.
2. Qué hace el sistema al conciliar
Cada corrida (automática o manual) hace lo mismo: trae la ventana reciente, guarda los movimientos nuevos como Unmatched, e intenta cruzarlos. Al terminar, registra una BBVA Reconciliation Run con:
- Fetched — cuántos movimientos trajo del banco.
- New Movements — cuántos eran nuevos.
- Matched — cuántos se cruzaron con un documento.
- Unmatched — cuántos quedaron sin explicar.
- Status — OK (todo cuadró) o Manual Review (quedaron Unmatched que requieren tu atención).
[captura: lista de BBVA Reconciliation Run mostrando las columnas Matched / Unmatched / Status]
La regla de cruce (qué concilia solo y qué no)
Hoy el cruce automático es deliberadamente conservador:
- Un movimiento entrante (In) se cruza con un Pago recibido (Payment Entry, tipo Receive) del mismo monto dentro de una ventana de fechas (±3 días). Si lo encuentra, marca el movimiento como Matched.
- Los movimientos salientes (Out) — es decir, tus gastos — se dejan Unmatched a propósito. Esos son justo los que quieres revisar y explicar tú.
Nota: La regla de cruce es el lugar donde se afina el comportamiento a como realmente cobras y pagas (por ejemplo, leer el folio dentro del Concepto del SPEI, o reconocer una CLABE conocida). Mientras tanto, lo entrante se confirma solo y lo saliente pasa por tu revisión.
Advertencia: Un movimiento Unmatched no es un problema del sistema — es dinero que se movió por el banco sin un asiento que lo explique. Es la señal que la conciliación existe para levantar. Tu trabajo es explicarlo, no ignorarlo.
3. Revisar lo que no cuadra — desde el Desk
- Abre la lista de BBVA Bank Movement.
- Filtra por Match Status = Unmatched (el filtro estándar ya está a la mano).
- Revisa cada fila: fecha, monto, concepto, contraparte.
- Para cada una, o bien la explicas creando el documento que falta, o la marcas Ignored si es un movimiento que no requiere asiento (una transferencia entre tus propias cuentas, por ejemplo).
Cuando crees y sometas el documento que explica un Unmatched, la corrida de conciliación lo encontrará en su siguiente pasada y cerrará la fila sola — una sola fuente de verdad para el cruce.
4. Conciliar desde Telegram con Contabot
La forma más rápida de limpiar los gastos sin explicar es preguntarle a Contabot. Este flujo resuelve cada movimiento con dos taps.
Pasos:
- En el chat con @erpassistantbot, escribe
¿qué del banco no cuadra?(también entiende "movimientos sin conciliar", "qué falta conciliar", "banco sin explicar"). - Contabot lista los movimientos de salida sin explicar (hasta 6), con un botón por cada uno:
🏦 3 movimiento(s) sin explicar: 1. [BBVA] $1,327.00 · 2026-07-01 · CFE domiciliación 2. [BBVA] $549.00 · 2026-07-01 · Telmex 3. [MP] $250.00 · 2026-07-02 · salida MercadoPago Tap para explicar uno — te pregunto la categoría y armo la póliza (borrador). - Toca el movimiento que quieres explicar (1️⃣ Explicar $1,327.00).
- Contabot te pregunta la categoría con botones de tus cuentas de gasto más usadas (y un 🤷 Gastos varios por si ninguna aplica).
- Toca la categoría. Contabot crea la póliza en borrador (gasto al Debe, cuenta del banco al Haber):
✅ Póliza creada (borrador): «ACC-JV-2026-00072» $1,327.00 · Servicios básicos - GD ← BBVA Débito https://…/app/journal-entry/ACC-JV-2026-00072 Al enviarla, la conciliación casa el movimiento sola. «No, eso no» la deshace. - Abre el enlace, revisa y dale Submit en el Desk.
- En la siguiente corrida, la conciliación cruza el movimiento solo — no lo marcas Matched a mano.
Nota: El flujo de Telegram cubre movimientos de salida (gastos) de BBVA y también de MercadoPago (MercadoPago Money Out), todo en la misma lista. Los cobros entrantes ya se concilian solos contra el Payment Entry, así que no aparecen aquí.
Casos borde del flujo por chat
- Nada pendiente: "🏦 Nada pendiente — todos los movimientos del banco están explicados 🎉".
- La lista expiró: si tardas mucho en tocar un botón (más de una hora), la lista caduca. Vuelve a escribir "¿qué del banco no cuadra?" para refrescarla.
- Te equivocaste de póliza: responde
no, eso nopara deshacer la última que armó el bot. - Solo Dueño: este flujo maneja dinero, así que es surface de Dueño; el Staff no lo ve.
5. Resumen del ciclo
- El banco manda movimientos → llegan a BBVA Bank Movement (Unmatched).
- La corrida (BBVA Reconciliation Run) cruza lo entrante contra Pagos recibidos; lo saliente queda para ti.
- Revisas los Unmatched — en el Desk (filtro Match Status) o con Contabot (
¿qué del banco no cuadra?). - Armas la póliza que falta (borrador) y le das Submit.
- La siguiente corrida cierra el movimiento sola.
Importante: El único paso que contabiliza es tu Submit. Todo lo demás —traer, cruzar, listar, prearmar la póliza— es preparación reversible. Si borras un borrador que armó el bot, su rastro se limpia solo y el movimiento vuelve a quedar como pendiente de explicar.
[VERIFICAR: nombres exactos de las cuentas mostradas en los ejemplos ("Servicios básicos - GD", "BBVA Débito") contra el catálogo de cuentas del tenant productivo]