Connect
Consultar tus datos

Validar un pago por transferencia

Confirma contra la cuenta de BCI de la empresa que una transferencia llegó, con el monto, el día y el RUT de quien pagó. Devuelve los movimientos candidatos con un nivel de confianza y sus motivos.

Un comprobante de transferencia se puede editar o reenviar. La forma segura de saber que un pago llegó es mirar la cuenta que lo recibe. bci_pyme.transferencias.buscar hace esa comprobación: le das el monto, el día y, si lo tienes, el RUT de quien pagó, y devuelve los movimientos de la cuenta de BCI que pueden ser ese pago, cada uno con un nivel de confianza.

Por ahora funciona con Banco BCI Empresas (bci_pyme).

En beta

Cualquier conexión de BCI Empresas puede usarla, sin pedir activación. Mientras la probamos con clientes, la forma de calcular la confianza y la respuesta pueden ajustarse; cada cambio queda anotado en el changelog. Todavía estamos midiendo con qué frecuencia BCI informa el RUT de quien paga: cuando no lo informa, la mejor confianza posible es media.

Antes de empezar

  • Una conexión de BCI con el alcance movimientos habilitado. Si la empresa todavía no está conectada, sigue las guías para conectar.
  • Una clave de API de Connect con el permiso bci_pyme:read, y el connectionId de la conexión. La guía de la API muestra cómo obtener los dos.

Buscar la transferencia

curl
curl -X POST https://connect.emisso.ai/api/v1/tools/bci_pyme.transferencias.buscar/execute \
  -H "Authorization: Bearer connect_sk_…" \
  -H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
  -H "Content-Type: application/json" \
  -d '{"input":{"monto":1450000,"fecha":"2026-07-15","rutContraparte":"76.543.210-3"}}'
CampoRequeridoQué es
montosíEl monto del pago, sin signo. Se compara exacto, al peso.
fechasíEl día de la transferencia (AAAA-MM-DD), según quien pagó.
rutContrapartenoEl RUT de quien pagó, con o sin puntos. Sin él, la confianza máxima es media.
toleranciaDiasnoCuántos días antes y después de fecha se busca, de 0 a 7. Por defecto, 1.

Por defecto se buscan abonos (plata que entró) en las cuentas en pesos. La referencia describe los demás campos: sentido, moneda y numeroCuenta.

Leer la respuesta

{
  "data": {
    "candidatas": [
      {
        "confianza": "alta",
        "motivos": ["rut_coincide", "monto_coincide", "fecha_exacta"],
        "diferenciaDias": 0,
        "movimiento": {
          "numeroCuenta": "78012345",
          "fechaMovimiento": "2026-07-15T00:00:00.000Z",
          "monto": 1450000,
          "type": "debit",
          "counterparty": { "name": "Distribuidora Andina Ltda", "rut": "76543210-3", "bank": "Banco de Chile", "account": null }
        }
      }
    ],
    "ambigua": false,
    "ultimaLecturaEn": "2026-07-15T17:02:11.904Z",
    "completo": true
  }
}

El ejemplo muestra solo algunos campos del movimiento; la respuesta real lo trae completo.

Cada candidata trae una confianza y los motivos que la explican:

ConfianzaCuándo
altaCoinciden el RUT y el monto.
mediaCoincide el monto, pero no hay RUT con qué comparar: no lo enviaste o el banco no lo informó en ese movimiento.
bajaCoincide el monto, pero pagó otro RUT; o pagó el mismo RUT, por otro monto.

Las candidatas vienen ordenadas, la más probable primero. Además:

  • ambigua: true significa que hay más de una candidata con la mejor confianza. Por ejemplo, el mismo cliente pagó dos veces el mismo monto ese día. No des el pago por validado sin otro dato que las distinga.
  • Un movimiento valida un solo pago. Connect no sabe qué movimientos ya usaste: guarda tú la relación entre el pago y el movimiento, y descarta los ya asignados.
  • Una lista vacía no prueba que el pago no exista. Revisa los dos campos de la sección siguiente.

Hasta dónde mira la búsqueda

La búsqueda lee los movimientos que Connect ya sincronizó desde BCI; no entra al banco en ese momento. Connect sincroniza cada conexión de forma automática cada pocas horas.

  • ultimaLecturaEn es el último momento en que Connect leyó movimientos de la cuenta. Una transferencia posterior todavía no puede aparecer.
  • completo es false si BCI entregó la cartola cortada para algún mes de la búsqueda, y null si no se sabe. En esos casos, una búsqueda vacía tampoco es concluyente.

Si el pago es más reciente que ultimaLecturaEn, pide una sincronización con bci_pyme.conexion.sincronizar y vuelve a buscar cuando llegue el webhook sync.succeeded de esa conexión. Una sola sincronización sirve para todos los pagos pendientes: agrúpalos en vez de pedir una por cada pago.

BCI permite una sola sesión activa por usuario. Cada sincronización inicia sesión en el banco y cierra la que esa persona tenga abierta en el portal.

Con un agente de IA

Un agente conectado a Connect por MCP usa la misma búsqueda. Puedes pedírselo con tus palabras, por ejemplo: «¿Llegó a BCI la transferencia de 1.450.000 del RUT 76.543.210-3 del 15 de julio?».

En esta página