Python · CSV · Validación de IBAN

Validar IBAN de un archivo CSV con Python

Verifique una lista IBAN exportada y cree un nuevo archivo CSV con el estado de validación, el nombre del banco y el BIC. El script descargable utiliza la biblioteca estándar de Python, conserva el orden de las líneas y comprueba los IBAN duplicados solo una vez por ejecución.

Este es un flujo de línea de comando local para Python versión 3.10 o posterior. Cada IBAN diferente y no vacío se envía a la API IBAN-Test. Necesita su propio token API y una cuota de solicitudes suficiente.

Descargar script para comprobar CSV

El archivo ZIP contiene iban_csv.py, un CSV de muestra, un archivo README y pruebas automatizadas. No se requieren paquetes adicionales de Python.

Descargar paquete inicial (ZIP)

Python 3.10+ · Biblioteca estándar · CSV de ejemplo

Estado de las pruebas: Nueve pruebas automatizadas locales cubren la construcción de solicitudes, líneas duplicadas y vacías, resultados de verificación, protección de cuotas, manejo de errores, enmascaramiento de CSV y preservación de archivos existentes. Para este ejemplo no se realizó un pase autenticado contra Live API.

1. Prepare el archivo de entrada

Exporte sus datos de origen como UTF-8 CSV. Utilice el encabezado de columna en minúsculas iban y, opcionalmente, una columna reference para asignar resultados a sus registros. El script solo incluye estas dos columnas de entrada en la salida; otras columnas no se tienen en cuenta. Mantenga su exportación original.

reference,iban
example-valid,DE89 3704 0044 0532 0130 00
example-duplicate,de89370400440532013000
example-invalid-checksum,DE00370400440532013000
example-empty,

Estas son muestras de prueba, no instrucciones de pago. Las dos primeras líneas dan como resultado el mismo IBAN normalizado. La línea vacía obtiene MISSING sin una solicitud de API. Guarde los IBAN y las referencias como texto al exportar desde una hoja de cálculo.

2. Realizar una primera pequeña comprobación

Desempaquete el paquete, abra una terminal en su directorio y verifique si Python está disponible:

python3 --version
python3 iban_csv.py sample.csv results.csv

En Windows, utilice py -3 en lugar de python3 si es necesario, dependiendo de su instalación. El programa consultará su token API sin mostrar los caracteres que ingresó. Puede encontrar el token en la descripción general de API de su cuenta IBAN-Test. No está escrito en el archivo CSV.

El límite predeterminado es 10 IBAN diferentes, no vacíos. El script los cuenta antes de la primera solicitud y se detiene cuando se exceden. El ejemplo anterior requiere dos solicitudes de API si ambas se completan con regularidad.

Si tiene éxito, el programa genera el número de líneas y solicitudes. Solo crea el archivo de salida cuando hay un resultado de verificación utilizable para cada IBAN solicitado. Por lo tanto, un error de API no deja un resultado CSV parcialmente verificado.

3. Lea el número

columnaSignificado
reference, ibanSu referencia y aportes originales, con protección de fórmula tabular si es necesario.
iban_normalizedIBAN en mayúsculas sin espacios en blanco.
statusVALID, INVALID o MISSING.
code, messageCódigo de resultado API y mensaje explicativo. Para decisiones automatizadas, utilice el código, no el texto del mensaje.
bank, bicDatos bancarios disponibles; Los campos pueden estar vacíos.
checked_at_utcMarca de tiempo UTC registrada después de la respuesta para este IBAN. Los duplicados comparten el resultado y la marca de tiempo; las entradas vacías no tienen marca de tiempo.

VALID requiere el código 2100 y error: false. Los códigos 3100, 3101 y 3102 con error: true dan como resultado INVALID. Los fallos de autenticación, la cuota agotada, los errores del servidor y las respuestas inesperadas detienen el programa con un código de salida distinto de cero.

4. Procesar otras exportaciones y listas más grandes

Para exportar con punto y coma, seleccione el separador explícitamente. Se aplica a la entrada y a la salida:

python3 iban_csv.py customers.csv checked-customers.csv --delimiter ";"

Verifique su cuota de API restante y luego aumente el límite de solicitudes por ejecución si es necesario:

python3 iban_csv.py customers.csv checked-customers.csv --max-requests 100

Las solicitudes individuales se envían una tras otra; no es un endpoint REST por lotes. Es posible que una ejecución fallida ya haya consumido solicitudes. Un reinicio comprueba la lista nuevamente: la eliminación de duplicados se aplica dentro de una ejecución, no en varias ejecuciones. Esta plantilla no tiene repeticiones automáticas ni estados intermedios reanudables.

Para ejecuciones desatendidas, proporcione IBAN_TEST_API_TOKEN a través de la configuración de secretos del sistema de trabajo. No almacene tokens reales en el control de versiones ni los pase como argumento de línea de comando. Para ejecuciones manuales, la entrada interactiva oculta es la más sencilla.

Problemas comunes

  • “CSV must have an iban header”: Verifique la ortografía exacta del encabezado de la columna, la codificación y el separador. XLSX no es CSV.
  • “Choose a new output filename”: El script no sobrescribe los archivos existentes ni su entrada. Utilice un nuevo nombre de archivo para cada ejecución.
  • HTTP 401 o código API 4002: Comprueba tu ficha. No reintente continuamente las autenticaciones fallidas.
  • Código API 4003: La cuota se ha agotado. Detenga el trabajo y verifique su cuota antes de comenzar nuevamente.
  • Error de red o JSON no válido: El flujo se detiene. Verifique la disponibilidad de conexión y API; Un error de transmisión no dice nada sobre la validez del IBAN.

Proteger los datos exportados

Sólo se envía el IBAN a la API; la referencia permanece en su flujo local. Mantenga los archivos de entrada y salida en una ubicación privada adecuada. El script antepone los valores de la tabla potencialmente ejecutables con un apóstrofo para reducir el riesgo de inyección de fórmula. Esto puede cambiar la representación literal de una referencia como =1+1. Conserve la exportación original para una coincidencia precisa.

Un IBAN válido no prueba la existencia, propiedad, saldo de la cuenta o éxito del pago. Puede encontrar información sobre los procedimientos SEPA individuales en las instrucciones del Participación SEPA de un banco. El instrucciones n8n es adecuado para un proceso visual.

Ejecutar pruebas fuera de línea incluidas

python3 -m unittest -v

Las pruebas utilizan respuestas controladas y no consumen solicitudes de API. Revisan las decisiones del programa, no su token ni su información bancaria actual.

Referencias: documentación de la API de IBAN-Test, Referencia CSV de Python, Referencia de Python en solicitudes HTTP.

Crear cuenta API Comparar cuotas de API

Validación de datos bancarios

Validación con directorios bancarios de 40 países

Para estos países, comprobamos los IBAN con los directorios bancarios disponibles y, cuando existen, devolvemos datos como la entidad, la ciudad y el BIC.

ALAlbania ADAndorra ATAustria BEBélgica BGBulgaria HRCroacia CYChipre CZRepública Checa DKDinamarca EEEstonia FIFinlandia FRFrancia DEAlemania GIGibraltar GRGrecia HUHungría ISIslandia IEIrlanda ITItalia LVLetonia LILiechtenstein LTLituania LULuxemburgo MTMalta MDMoldavia MEMontenegro NLPaíses Bajos MKMacedonia del Norte NONoruega PLPolonia PTPortugal RORumanía SMSan Marino RSSerbia SKEslovaquia SIEslovenia ESEspaña SESuecia CHSuiza VACiudad del Vaticano

Comprobación de la sintaxis del IBAN

Comprobación de 115 formatos de IBAN

Comprueba que los IBAN tengan una estructura válida, la longitud correcta y una suma de control coherente. Así puedes detectar errores tipográficos y cifras invertidas antes de que falle un pago. Para los países indicados arriba también ofrecemos validación adicional con directorios bancarios reales.

Servidor MCP para agentes de IA - Conecta clientes de IA con las herramientas de validación de IBAN - https://www.iban-test.eu/mcp - Documentación de la API