La conciliación bancaria automática cruza cada movimiento del banco con la factura o el pago que lo explica, sin puntear extractos. Los movimientos llegan por fichero Norma 43 o por API a través de un proveedor de información sobre cuentas regulado por PSD2, y unas reglas de casación deciden qué cuadra y qué pasa a revisión. Encaja en el desarrollo de software financiero a medida en Madrid.
Puntear a mano retrasa el cierre y esconde errores: un cobro sin asignar mantiene a un cliente como moroso y un pago duplicado a un proveedor tarda en aparecer. Tu sistema ya registra cada factura emitida con Verifactu en el software de facturación a medida; la conciliación cierra el círculo cuando entra el dinero.
Al terminar sabrás qué fuente de movimientos usar y qué reglas automatizar en tu app web a medida para gestión financiera.
Qué es la conciliación bancaria automática
La conciliación bancaria automática es el proceso por el que un sistema compara los movimientos de tus cuentas con facturas y pagos pendientes mediante reglas de casación por importe, fecha, referencia y NIF, y deja solo las diferencias en una cola de revisión humana.
El resultado es contable: cada casación genera el asiento de cobro o de pago y cambia el estado de la factura en el ERP. Con la obligación de factura electrónica entre empresas, el destinatario tendrá que comunicar el pago completo de cada factura recibida, y ese dato sale de aquí.
Fuentes de movimientos: Norma 43 o API PSD2
Los movimientos llegan a tu sistema por dos vías: el fichero que genera el banco o una API de información sobre cuentas.
- Fichero Norma 43: es el cuaderno 43 de la AEB, "Información normalizada de cuenta corriente". Cada movimiento trae fecha de operación, fecha valor, importe, número de documento y dos referencias, más conceptos complementarios opcionales. La periodicidad se pacta con el banco y puede ser diaria.
- API vía agregador: el Real Decreto-ley 19/2018 de servicios de pago, que transpuso la Directiva (UE) 2015/2366 (PSD2), reconoce en su artículo 7 el derecho a usar servicios de información sobre cuentas sin contrato con el banco. Un agregador autorizado te da una sola API para varias entidades.
El acceso por API caduca. El Reglamento Delegado (UE) 2022/2360 permite consultar saldo y operaciones de los últimos 90 días sin autenticación reforzada, pero obliga a repetirla cuando pasan más de 180 días desde la última. Tu producto tiene que avisar antes de que toque renovarla.
- Norma 43 si: trabajas con pocas cuentas y un cierre diario te basta.
- API si: operas con varias entidades y tesorería quiere ver los cobros el mismo día.
Reglas de casación: exacta, parcial y agrupada
Una regla de casación compara campos del movimiento con campos de la factura y solo concilia cuando hay una única candidata.
- Por referencia: el concepto contiene el número de factura y el importe coincide. Es la regla más fiable.
- Por importe y ventana de fechas: mismo importe dentro de unos días del vencimiento, para transferencias sin referencia.
- Por ordenante: el nombre o el NIF del cliente, cuando el banco lo informa, acota las candidatas.
- Parcial: un anticipo cubre parte de la factura y deja saldo pendiente.
- Agrupada: una transferencia paga varias facturas, o una liquidación de tarjeta agrupa muchas ventas con la comisión descontada. Depende de tus tipos de pasarela de pago y de cómo liquida Redsys en tu integración de cobros.
Excepciones y revisión humana
Siempre quedan movimientos sin casar, como comisiones bancarias o pagos con la referencia equivocada. El diseño correcto los lleva a una cola con la mejor sugerencia y deja que una persona decida.
Cada decisión manual guarda autor y hora, igual que en el circuito para automatizar aprobaciones de gastos. Los tokens del agregador se tratan como secretos, con los controles de seguridad OWASP para la API bancaria.
Integración con contabilidad y ERP
La conciliación vive entre el banco y el ERP, y la arquitectura decide si el dato llega a tiempo. Las importaciones de movimientos y los asientos resultantes viajan mejor por una cola que por llamadas síncronas; lo explicamos en API, webhook o cola de mensajes para tesorería.
CodeZone Pro Tip: casa movimientos bancarios con facturas pendientes por referencia y por importe dentro de una ventana de fechas, y aparta los ambiguos para revisión.
from collections import namedtuple
from datetime import date
from decimal import Decimal # Decimal y no float: 0.1 + 0.2 no debe descuadrar una factura
Movimiento = namedtuple("Movimiento", "fecha importe concepto")
Factura = namedtuple("Factura", "numero vencimiento pendiente")
def casar(movs: list, facturas: list, ventana_dias: int = 5):
casados, revision = [], []
libres = {f.numero: f for f in facturas if f.pendiente > 0}
for m in movs: # 1º referencia: si el concepto trae el número de factura, manda sobre la fecha
cand = [f for f in libres.values() if f.numero.lower() in m.concepto.lower() and f.pendiente == m.importe]
if not cand: # 2º importe exacto dentro de la ventana, solo con candidata única
cand = [f for f in libres.values() if f.pendiente == m.importe
and abs((m.fecha - f.vencimiento).days) <= ventana_dias]
if len(cand) == 1:
casados.append((m, cand[0].numero))
del libres[cand[0].numero] # una factura no se casa dos veces
else:
revision.append(m) # ambiguo o sin candidata: decide una persona
return casados, revision
if __name__ == "__main__":
facturas = [Factura("A2026-0101", date(2026, 10, 10), Decimal("1210.00")),
Factura("A2026-0102", date(2026, 10, 12), Decimal("605.00"))]
movs = [Movimiento(date(2026, 10, 11), Decimal("1210.00"), "TRANSF CLIENTE A2026-0101"),
Movimiento(date(2026, 10, 14), Decimal("605.00"), "PAGO FRA"),
Movimiento(date(2026, 10, 14), Decimal("99.90"), "COMISION")]
ok, pendientes = casar(movs, facturas)
print("Casados:", [(m.concepto, n) for m, n in ok], "Revisión:", [m.concepto for m in pendientes])La regla de la candidata única es la decisión de negocio que importa: el sistema prefiere dejar un movimiento en revisión antes que asignarlo a la factura equivocada, porque una conciliación errónea arrastra el error al asiento contable y al estado de la factura.
Lo Que Te Cuesta Seguir Punteando Extractos a Mano
Cada día sin conciliar es un día en que tesorería decide con datos viejos, y con la factura electrónica B2B el pago tendrá además un plazo para comunicarse. Automatizar la parte repetitiva deja a tu equipo las excepciones, que es donde aporta criterio.
En Codezone diseñamos conciliaciones que leen Norma 43 o agregadores y escriben en tu ERP. Cuéntanos con qué bancos trabajas y te proponemos la arquitectura.