¿ Alguien sabe cómo se calcula el Código BIC o SWIFT ?

147 views
Skip to first unread message

arti...@gmail.com

unread,
Apr 22, 2015, 1:35:03 PM4/22/15
to publice...@googlegroups.com
Hola, me gustaría saber si alguien conoce el procedimiento para el cálculo del 

Código BIC o SWIFT


En una aplicación que tengo he puesto el cálculo automático de IBAN y ahora quiero implementar este código. Saludos.

Francisco

unread,
Apr 22, 2015, 1:52:59 PM4/22/15
to publice...@googlegroups.com
Creo recordar que no se calcula cada banco tiene uno asignado... tienes que tener una tabla lo más extensa posible para esto... por ejemplo yo uso esta, pero es para España y depende como ves de la entidad... faltan muchas pero bueno... están las principales.... se puede ir ampliando... 


*************************************************************************
FUNCTION GenBic(pcEntidad, plMsg)
**************************************************************************
**----------------------------------------------------------------------**
* Rutina para calcular el código BIC a partir del código CCC --VALIDO solo para ESPAÑA
* Parámetros:
* pcEntidad = Código de la entidad. Corresponde a las posiciones 1 a 4 de la CCC
* plMsg = Opción para activar mensajes de advertencia
*-----------------------------------------------------------------------**
plMsg = IIF(vartype(plMsg)='L', plMsg, .F.)

IF empty(pcEntidad)
if plMsg
Messagebox('Se desconoce el código de entidad',32,'Código BIC')
endif
return('')
endif

IF vartype(pcEntidad)='N'
pcEntidad = PADL(alltrim(str(pcEntidad)),4,'0')
endif

IF len(pcEntidad)!=4
if plMsg
Messagebox('Código de entidad incorrecto',32,'Código BIC')
endif
return(space(11))
endif

local lcBIC, llError, lcDevuelve

lcBIC = 'BIC'+pcEntidad

BIC0003='BDEPESM1XXX'
BIC0011='ALLFESMMXXX'
BIC0019='DEUTESBBXXX'
BIC0021='BCNDESM1XXX'
BIC0030='ESPCESMMXXX'
BIC0031='ETCHES2GXXX'
BIC0036='SABNESMMXXX'
BIC0046='GALEES2GXXX'
BIC0049='BSCHESMMXXX'
BIC0057='BVADESMMXXX'
BIC0058='BNPAESMMXXX'
BIC0059='MADRESMMXXX'
BIC0061='BMARES2MXXX'
BIC0065='BARCESMMXXX'
BIC0072='PSTRESMMXXX'
BIC0073='OPENESMMXXX'
BIC0075='POPUESMMXXX'
BIC0078='BAPUES22XXX'
BIC0081='BSABESBBXXX'
BIC0083='RENBESMMXXX'
BIC0086='NORTESMMXXX'
BIC0093='VALEESVVXXX'
BIC0094='BVALESMMXXX'
BIC0099='AHCRESVVXXX'
BIC0106='LOYDESMMXXX'
BIC0107='BNLIESM1XXX'
BIC0108='SOGEESMMXXX'
BIC0113='INBBESM1XXX'
BIC0121='OCBAESM1XXX'
BIC0122='CITIES2XXXX'
BIC0125='BAOFESM1XXX'
BIC0128='BKBKESMMXXX'
BIC0129='INALESM1XXX'
BIC0130='CGDIESMMXXX'
BIC0131='BESMESMMXXX'
BIC0132='PRNEESM1XXX'
BIC0133='MIKBESB1XXX'
BIC0136='AREBESMMXXX'
BIC0138='BKOAES22XXX'
BIC0144='PARBESMXXXX'
BIC0145='DEUTESM1XXX'
BIC0149='BNPAESMSXXX'
BIC0151='CHASESM3XXX'
BIC0152='BPLCESMMXXX'
BIC0154='BSUIESMMXXX'
BIC0155='BRASESMMXXX'
BIC0156='ABNAESMMXXX'
BIC0159='COBAESMXXXX'
BIC0160='BOTKESMXXXX'
BIC0161='BKTRESM1XXX'
BIC0162='MIDLESMMXXX'
BIC0167='GEBAESMMXXX'
BIC0168='BBRUESMXXXX'
BIC0169='NACNESMMXXX'
BIC0182='BBVAESMMXXX'
BIC0184='BEDFESM1XXX'
BIC0186='BFIVESBBXXX'
BIC0188='ALCLESMMXXX'
BIC0190='BBPIESMMXXX'
BIC0196='WELAESMMXXX'
BIC0198='BCOEESMMXXX'
BIC0200='PRVBESB1XXX'
BIC0205='DECRESM1XXX'
BIC0211='PROAESMMXXX'
BIC0216='POHIESMMXXX'
BIC0217='HLFXESMMXXX'
BIC0218='FCEFESM1XXX'
BIC0219='BMCEESMMXXX'
BIC0220='FIOFESM1XXX'
BIC0223='GEECESB1XXX'
BIC0224='SCFBESMMXXX'
BIC0225='FIEIESM1XXX'
BIC0226='UBSWESMMXXX'
BIC0227='UNOEESM1XXX'
BIC0228='IXIUESM1XXX'
BIC0229='POPLESMMXXX'
BIC0231='DSBLESMMXXX'
BIC0232='INVLESMMXXX'
BIC0233='POPIESMMXXX'
BIC0234='CCOCESMMXXX'
BIC0235='PIESESM1XXX'
BIC0236='LOYIESMMXXX'
BIC0237='CSURES2CXXX'
BIC0486='TRESES2BXXX'
BIC0487='GBMNESMMXXX'
BIC0488='BFASESMMXXX'
BIC1000='ICROESMMXXX'
BIC1113='BSUDESM1XXX'
BIC1116='SCSIESM1XXX'
BIC1127='SCBLESM1XXX'
BIC1156='IRVTESM1XXX'
BIC1164='ESBFESM1XXX'
BIC1168='BNACESM1XXX'
BIC1173='COURESB1XXX'
BIC1182='HYVEESM1XXX'
BIC1191='HANDES21XXX'
BIC1193='PKBSES21XXX'
BIC1196='AEEVESM1XXX'
BIC1197='BILLESB1XXX'
BIC1199='CRGEESM1XXX'
BIC1209='ABCMESM1XXX'
BIC1210='REDEESM1XXX'
BIC1221='PNBMESM1XXX'
BIC1224='RHRHESM1XXX'
BIC1227='BSSAESB1XXX'
BIC1231='BOCAES21XXX'
BIC1233='BCMAESM1XXX'
BIC1234='PRBAESM1XXX'
BIC1236='HELAESM1XXX'
BIC1238='BIMEESM1XXX'
BIC1240='LOFPESB1XXX'
BIC1241='STOLESM1XXX'
BIC1242='SOLAESB1XXX'
BIC1245='BEIVESM1XXX'
BIC1248='WAFAESM1XXX'
BIC1249='NPBSES21XXX'
BIC1251='IHZUES21XXX'
BIC1255='AARBESM1XXX'
BIC1451='CRCGESB1XXX'
BIC1454='NEWGESM1XXX'
BIC1457='LLISESM1XXX'
BIC1459='PRABESMMXXX'
BIC1460='CRESESMMXXX'
BIC1462='ASSCESM1XXX'
BIC1463='PSABESM1XXX'
BIC1464='NFFSESM1XXX'
BIC1465='INGDESMMXXX'
BIC1466='FRANESM1XXX'
BIC1467='EHYPESMXXXX'
BIC1469='SHSAESM1XXX'
BIC1470='BPIPESM1XXX'
BIC1472='UCSSESM1XXX'
BIC1473='PRIBESMXXXX'
BIC1474='CITIESMXXXX'
BIC1475='CCSEESM1XXX'
BIC1478='MLIBESM1XXX'
BIC1479='NATXESMMXXX'
BIC1480='VOWAES21XXX'
BIC1485='BOFAES2XXXX'
BIC1488='PICTESMMXXX'
BIC1490='SELFESMMXXX'
BIC1491='TRIOESMMXXX'
BIC1494='BCITESMMXXX'
BIC1497='ESSIESMMXXX'
BIC1501='DPBBESM1XXX'
BIC1502='IKBDESM1XXX'
BIC1505='ARABESMMXXX'
BIC1506='MLCBESM1XXX'
BIC1522='EFGBESMMXXX'
BIC1524='UBIBESMMXXX'
BIC1525='BCDMESMMXXX'
BIC1534='KBLXESMMXXX'
BIC1538='ICBKESMMXXX'
BIC1544='BACAESMMXXX'
BIC1545='AGRIESMMXXX'
BIC2000='CECAESMMXXX'
BIC2010='CECAESMM010'
BIC2013='CESCESBBXXX'
BIC2017='CECAESMM017'
BIC2018='CECAESMM018'
BIC2031='CECAESMM031'
BIC2038='CAHMESMMXXX'
BIC2043='CECAESMM043'
BIC2045='CECAESMM045'
BIC2048='CECAESMM048'
BIC2051='CECAESMM051'
BIC2052='CECAESMM052'
BIC2056='CECAESMM056'
BIC2066='CECAESMM066'
BIC2077='CAHMESMMXXX'
BIC2080='CAGLESMMVIG'
BIC2081='CECAESMM081'
BIC2085='CAZRES2ZXXX'
BIC2086='CECAESMM086'
BIC2090='BSABESBBXXX'
BIC2091='CAGLESMMXXX'
BIC2095='BASKES2BXXX'
BIC2096='CSPAES2LXXX'
BIC2099='CECAESMM099'
BIC2100='CAIXESBBXXX'
BIC2101='CGGKES22XXX'
BIC2103='UCJAES2MXXX'
BIC2104='CSSOES2SXXX'
BIC2105='CECAESMM105'
BIC2107='BBVAESMM107'
BIC2108='CSPAES2L108'
BIC3001='BCOEESMM001'
BIC3005='BCOEESMM005'
BIC3007='BCOEESMM007'
BIC3008='BCOEESMM008'
BIC3009='BCOEESMM009'
BIC3016='BCOEESMM016'
BIC3017='BCOEESMM017'
BIC3018='BCOEESMM018'
BIC3020='BCOEESMM020'
BIC3023='BCOEESMM023'
BIC3025='CDENESBBXXX'
BIC3029='CCRIES2A029'
BIC3035='CLPEES2MXXX'
BIC3045='CCRIES2A045'
BIC3056='BCOEESMM056'
BIC3058='CCRIES2AXXX'
BIC3059='BCOEESMM059'
BIC3060='BCOEESMM060'
BIC3062='BCOEESMM062'
BIC3063='BCOEESMM063'
BIC3064='BCOEESMM064'
BIC3067='BCOEESMM067'
BIC3070='BCOEESMM070'
BIC3076='BCOEESMM076'
BIC3080='BCOEESMM080'
BIC3081='BCOEESMM081'
BIC3082='BCOEESMM082'
BIC3084='CVRVES2BXXX'
BIC3085='BCOEESMM085'
BIC3089='BCOEESMM089'
BIC3095='CCRIES2A095'
BIC3096='BCOEESMM096'
BIC3098='BCOEESMM098'
BIC3102='BCOEESMM102'
BIC3104='BCOEESMM104'
BIC3105='CCRIES2A105'
BIC3110='BCOEESMM110'
BIC3111='BCOEESMM111'
BIC3112='CCRIES2A112'
BIC3113='BCOEESMM113'
BIC3115='BCOEESMM115'
BIC3116='BCOEESMM116'
BIC3117='BCOEESMM117'
BIC3118='CCRIES2A118'
BIC3119='CCRIES2A119'
BIC3121='CCRIES2A121'
BIC3123='CCRIES2A123'
BIC3127='BCOEESMM127'
BIC3130='BCOEESMM130'
BIC3134='BCOEESMM134'
BIC3135='CCRIES2A135'
BIC3137='CCRIES2A137'
BIC3138='BCOEESMM138'
BIC3140='BCOEESMM140'
BIC3144='BCOEESMM144'
BIC3146='CCCVESM1XXX'
BIC3150='BCOEESMM150'
BIC3152='CCRIES2A152'
BIC3157='CCRIES2A157'
BIC3159='BCOEESMM159'
BIC3160='CCRIES2A160'
BIC3162='BCOEESMM162'
BIC3165='CCRIES2A165'
BIC3166='BCOEESMM166'
BIC3171='CXAVESB1XXX'
BIC3172='CCOCESMMXXX'
BIC3174='BCOEESMM174'
BIC3177='BCOEESMM177'
BIC3179='CCRIES2A179'
BIC3183='CASDESBBXXX'
BIC3186='CCRIES2A186'
BIC3187='BCOEESMM187'
BIC3188='CCRIES2A188'
BIC3189='BCOEESMM189'
BIC3190='BCOEESMM190'
BIC3191='BCOEESMM191'
BIC6814='MNTYESMMXXX'
BIC6852='BMEUESM1XXX'
BIC8233='CSFAESM1XXX'
BIC8512='UCINESMMXXX'
BIC8835='SBFCESMMXXX'
BIC9000='ESPBESMMXXX'

**/ Gestión de errores para VFP versión 9 
TRY 
  lcDevuelve = &lcBIC
CATCH
lcDevuelve = space(11)
if plMsg
MESSAGEBOX('Código BIC no encontrado o desconocido',16,'ERROR')
endif
ENDTRY
return lcDevuelve
ENDFUNC


Miguel A.

unread,
Apr 22, 2015, 2:02:39 PM4/22/15
to publice...@googlegroups.com
Hola,

El BIC no se calcula es una base de datos bancaria que debe incluir además el número de la entidad.

Con toda la movida que ha habido en España con la banca se puede dar el caso de que un Banco tenga actualmente más de un BIC, por ejemplo el Santander tiene BSCHESMM, pero las cuentas que eran de Banesto siguen pudiendo usar el ESPCESMM. En cualquier caso es una relación biunívoca con la entidad

Sin embargo el IBAN, sí que es una función que depende de la cuenta bancaria de cada uno. Pero como sabes muy bien en las posiciones 5-8 tienes la entidad bancaria y en consecuencia a través de ella puedes saber el BIC.

Te adjunto una tabla bastante actualizada, faltan algunas Cajas porque he preferido quitarlas casi todas, ya que hoy en día los clientes ya han actualizado en su mayoría sus datos y como hemos visto a través del IBAN se puede sacar el BIC.

Saludos
Miguel A.


El miércoles, 22 de abril de 2015, 19:35:03 (UTC+2), arti...@yahoo.es escribió:
bancos.CDX
bancos.DBF

Miguel A.

unread,
Apr 22, 2015, 2:06:51 PM4/22/15
to publice...@googlegroups.com
Francisco, mientras preparaba la respuesta te me has adelantado.

¿Preparado para el partido? Por aquí ya se respira un gran ambiente, pero todos callados como muertos, no sabemos de qué lado será la tragedia en esta ocasión.
Yo espero que del mismo que en Lisboa, pero ya veremos...

Saludos,
Miguel A.

Jose Mario

unread,
Apr 22, 2015, 4:16:25 PM4/22/15
to publice...@googlegroups.com
san salvador, el salvador, centro america, america,

le voy al real
pero con esos millones que invierte
ya deberian de ir 3 a 0 como barcalona

2.13 todavia 0 a 0
esperando los penaltis, 

Miguel A.

unread,
Apr 23, 2015, 1:38:24 PM4/23/15
to publice...@googlegroups.com
José Mario, lo hacemos así para no quitarle emoción y porque en el fondo a los del atlético les tenemos estima, son "el pupas" y les va más el sufrimiento que a nosotros ganales.
Pero no me dirás que el partido de ayer no fue emocionante, si entre los 2 sumaban 10 copas de Europa!!.
Saludos,

Mario Oviedo

unread,
Apr 23, 2015, 5:31:07 PM4/23/15
to publice...@googlegroups.com
claro que si amigo
puro real, aunque no saco dinero ni euro
para hacerme socio, soy acabado

https://www.facebook.com/RealMadridESA?fref=ts
Reply all
Reply to author
Forward
0 new messages