DEBIAN PRO

DEBIAN PRO
DEBIAN

jueves, 16 de enero de 2014

CCC SEPA e IBAN


Ayer tuve que ayudar a mi mujer para que reemplace las cuentas bancarias de clientes en un formato Bancario Internacional Standard (IBAN), vigente a partir de febrero del 2014.
Ver noticia aqui.

A partir de febrero todas las operaciones sobre cuentas se deberán hacer usando ese código, hasta ahora eran 20 dígitos, pero ahora se agregan 4 delante identificando al pais y 2 nuevos dígitos de control.

Para los que sean adivinos les adelanto que el código de España será 'ES'.

Codificación anterior:

AAAA BBBB CC DDDDDDDDDD (4 4 2 10 = 20)

AAAA Código del banco
BBBB Código de la sucursal
CC Dígito verificador
DDDDDDDDDD Número de la cuenta.

Codificación futura:

PP DD AAAA BBBB CC DDDDDDDDDD (4 4 2 10 = 20)

PP Pais (Ej: ES)
DD Dígito verificador
AAAA Código del banco
BBBB Código de la sucursal
CC Dígito verificador
DDDDDDDDDD Número de la cuenta.



Al ver esto y siendo DBA me doy cuenta lo viejo que es el sistema de codificación que existe, 9999 bancos como máximo.... 9999 sucursales o oficinas, dígito verificador (99) algo que tenía sentido cuando la información se podía alterar por problemas de cintas, comunicaciones a 300 baudios y caídas del satélite.
Y "finalmente" el número de la cuenta.

Y con el nuevo IBAN nuevamente se han puesto creativos y agregaron dos letras para el pais y "OTRO" dígito de verificación. Nuevamente otro agregado retrógrado.....

Pero no voy a hablar de lo que ocurre sinó de "COMO SALIR ADELANTE".


Gracias a varios sitios en internet pude hacer este resúmen. Aunque puedo enviar el código en PERL, C, VBasic, Python y otros lenguajes, preferí usar XLS para que sea fácil la conversion de miles de cuentas.
Creé un documento con 4 columnas, que corresponden a los cuatro campos de la cuenta (Banco, Suc, DD, Cuenta)
Y en el quinto la fórmula para obtener el IBAN.

El Proceso paso a paso.

LETRAS DE PAISES
"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"
NUMEROS REEMPLAZO
"10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35"

En el caso de España (ES), el código a utilizar es 1428 (E=14 + S=28).

Supongamos que nuestra cuenta es
0128 0046 86 0123456789
a1 b1 c1 d1 (en el documento)


Juntamos (y no dije SUMAMOS, sino, JUNTAMOS) Banco, Sucursal y España (1428) en la columna e1.
012800461428

En la columna columna E1 decimos.
=98 - RESIDUO( E1; 97 )
o podemos usar una fórmula directa (en la columna F1)
=98 - ( residuo ( valor(a1&b1&"1428"); 97) )
La fórmula calcula el resto/residuo de una división y acaba dando ese nuevo dígito verificador.

En nuestro ejemplo de cuenta nos da '13'.


Y finalmente en la celda g1 decimos.
="ES"&SI(I3=2;G3;"0"&G3)&B3&C3&D3&E3
que daría algo como
ES1301280046860123456789
que es el IBAN de la cuenta.






No hay comentarios:

Publicar un comentario