Jump to content
  • 0

IBAN en BIC


EricJ

Question

Geacht Forum,

 

Misschien al eens ter sprake gebracht maar ik heb het op dit forum niet kunnen vinden:

Is er iemand die zich al eens bezig heeft gehouden met de conversie van bankrekeningnummers naar IBAN en BIC nummers?

 

Er zijn waarschijnlijk genoeg FMP-gebruikers die bakken vol rekeningnummers in hun dBases hebben staan.

Hoe mooie zou het niet zijn om deze middels een berekening om te zetten naar IBAN en BIC.

Mijn voorbeeld daarvoor is te vinden op: IBAN-Converteren.nl

Daar heb je GEEN BIC-code nodig en hoeft je ook NIET te weten van welke bank het rekeningnummer is.

 

Op de site voer je een rekeningnummer in, bijvoorbeeld: 3755 12345

Het resultaat is:

Rekeningnummer: 3755 12345

IBAN: NL03RABO3755 12345

BIC: RABONL2U

Banknaam: RABOBANK GROEP

 

Is dit überhaupt te realiseren middels een berekening of moet er ergens gelinkt gaan worden met een grote bank database?

 

EricJ

Link to comment

12 answers to this question

Recommended Posts

  • 0

Eric,

 

Ik heb ooit eens iets in mekaar geknutseld om de inhoud uit een webviewer te filteren.

Misschien kan je hier mee aan de slag?

 

Je tikt het rekeningnummer in in de webviewer, converteren en dan klikken op de knop om de resultaten in

de velden te krijgen.

 

Het komt er op neer dat je de woorden of karakters voor het rekeningnummer opzoekt en dan alles weergeeft wat tussen het beginword en lastword komt .

ibanconverteren.fmp12

Link to comment
  • 0

Functienaam: IBANvanRekening ( Rekeningnummer ; Bankcode ; Land )

Let (
[
xLength = Case ( 
theCountry = "AD" ; 24 ; 
theCountry = "BE" ; 16 ; 
theCountry = "BA" ; 20 ; 
theCountry = "BG" ; 22 ; 
theCountry = "CY" ; 28 ; 
theCountry = "DK" ; 18 ; 
theCountry = "DE" ; 22 ; 
theCountry = "EE" ; 20 ; 
theCountry = "FI" ; 18 ; 
theCountry = "FR" ; 27 ; 
theCountry = "GI" ; 23 ; 
theCountry = "GB" ; 22 ; 
theCountry = "HU" ; 28 ; 
theCountry = "IS" ; 28 ; 
theCountry = "IE" ; 22 ; 
theCountry = "IL" ; 23 ; 
theCountry = "IT" ; 27 ; 
theCountry = "HR" ; 21 ; 
theCountry = "LV" ; 21 ; 
theCountry = "LI" ; 21 ; 
theCountry = "LT" ; 20 ; 
theCountry = "LU" ; 20 ; 
theCountry = "MK" ; 19 ; 
theCountry = "MT" ; 31 ; 
theCountry = "MU" ; 30 ; 
theCountry = "MC" ; 27 ; 
theCountry = "ME" ; 22 ; 
theCountry = "NL" ; 18 ; 
theCountry = "NO" ; 15 ; 
theCountry = "AT" ; 20 ; 
theCountry = "PL" ; 28 ; 
theCountry = "RO" ; 24 ; 
theCountry = "SM" ; 27 ; 
theCountry = "RS" ; 22 ; 
theCountry = "SK" ; 24 ; 
theCountry = "SI" ; 19 ; 
theCountry = "ES" ; 24 ; 
theCountry = "CZ" ; 24 ; 
theCountry = "TN" ; 24 ; 
theCountry = "TR" ; 26 ; 
theCountry = "SE" ; 26 ; 
theCountry = "CH" ; 21
) - 8 ;
xAccount = Right ( "0000000000000000000000000000000000000000" & theRekening ; xLength ) ; 
xCountry = Position ( "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ; Left ( theCountry ; 1 ) ; 1 ; 1 ) + 9 & 
Position ( "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ; Right ( theCountry ; 1 ) ; 1 ; 1 ) + 9 ;
xBank = Position ( "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" ; Middle ( theBank ; 1 ; 1 ) ; 1 ; 1 ) & 
Position ( "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" ; Middle ( theBank ; 2 ; 1 ) ; 1 ; 1 ) & 
Position ( "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" ; Middle ( theBank ; 3 ; 1 ) ; 1 ; 1 ) & 
Position ( "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" ; Middle ( theBank ; 4 ; 1 ) ; 1 ; 1 ) ;
xMod = Mod ( xBank & xAccount & xCountry & "00" ; 97 ) ; 
xCheck = Right ( "000" & 98 - xMod ; 2 )
] ; 

theCountry & xCheck & theBank & xAccount

)

 

Bankcode zijn de eerste 4 tekens van de BIC code, Land is de twee letters vooraan een IBAN.

 

rmw

Link to comment
  • 0

De functie van rmw werkt uitstekend om te controleren of een IBAN aan de gestelde standaard voldoet, maar je moet wél zelf de juiste bankcode weten (eerste 4 karakters van BIC) en er wordt niet gecontroleerd of het bankrekeningnummer wel bestaat.

 

Tot 30 september 2014 kon iedereen gratis gebruikmaken van http://www.ibanbicservice.nl'>http://www.ibanbicservice.nl om zijn lijsten met rekeningnummers te laten omzetten naar IBAN (multicheker-service) sindsdien kan je daar alleen nog maar één rekeningnummer tegelijk omzetten en dat duurt nog tot 1 maart 2015, daarna kan het niet meer. Bij die service wordt nu ook nog gecontroleerd of een rekeningnummer werkelijk bestaat.

 

Er zijn nog meer sites waarop een bankrekeningnummer kan worden omgezet naar IBAN, maar niet allemaal controleren ze of een nummer wel bestaat, ze zetten het alleen om naar het juiste formaat en checken daarbij (niet altijd) in welke bank-poule het nummer staat. Een voorbeeld is http://www.openiban.nl,'>http://www.openiban.nl, daar zet je snel en gemakkelijk een nummer om (als je een API wilt gebruiken, kost dat minimaal 15 euro per maand voor maxiimaal 100 rekeningnummers), maar een controlenummer van een niet meer bestaand nummer bij de ABN-AMRO leverde daar wél een IBAN op (en dus of dat zijn geld waard is?), terwijl er op http://www.ibanbicservice.nl geen IBAN werd gevonden. Het laatste antwoord is eigenlijk degene die je wilt, want je wil een rekeningnummer foutloos kunnen omzetten.

 

Voorbeelden van andere checkers:

 

Kortom er zijn op dit ogenblik maar weinig sites (en web-services) waarop je een beetje betrouwbaar nummers kan omzetten terwijl je laat controleren of ze wel bestaan, de meesten controleren eigenlijk alleen maar of er een geldig (in de zin van syntax) IBAN kan worden gegenereerd. Hoe lang het kunnen omzetten nog duurt weet je niet, want de banken laten op een gegeven moment alle zaken die nu (soms) nog worden gebruikt om de geldigheid te controleren, zoals de 11-proef, poules van rekeningnummers en naam rekeninghouder, gewoon los. Heb je dan één getalletje verkeerd én is het wél een bestaand rekeningnummer, dan wordt een betaling gewoon verwerkt.

 

Ik vertel je niet wat je moet doen, maar ik wil je alleen het een en ander ter overweging geven.

 

mvg, Menno

Link to comment
  • 0

Dank je wel Menno voor je uitgebreide uitleg. In mijn geval zijn er behoorlijk wat klanten nog die te maken hebben met oude bankrekening nummers, die moeten omgezet worden. Ze gebruiken meestal inderdaad een web-service hiervoor, het leek mij wel erg handig voor hun als ik dat zelf kon inbouwen in de door mij ontwikkelde applicaties. Natuurlijk zou ik willen dat het foutloos gaat, en bij voorkeur gecontroleerd op juistheid (bestaand nummer en geldig nummer), ik begrijp uit jou verhaal dat dit steeds lastiger gaat worden.

 

Dit neemt niet weg dat al de bestaande web-services ook een tabel achter de calculator hebben hangen waarin de herkenning van de NL bank zit, vandaar dat ik dacht dat er wel een actuele tabel voor handen zou zijn die er in ieder geval voor zorgt dat de bankcode ook automatisch ingevuld staat. De landcode kan ik uit de relatiekaart halen van mijn applicaties. Dus zou er alleen een rekeningnummer moeten worden opgegeven. Uiteraard zal ik bij mijn software vermelden dat het niet 100% foutloos is, gezien de omstandigheden, maar het zal mijn klanten toch echt een hoop tijd besparen als het 95% werkt.

Link to comment
  • 0

Twee aanvullingen op wat menno schrijft.

 

1.

Voor Nederland is er een overzicht van de meeste voorkomende BIC codes: http://www.ibannl.org/uitleg-over-bic/ .

En er is een betaalde dienst die je alle BIC codes aanbied: http://swiftref.swift.com/bic-directory

 

2.

IBAN nummers zijn net als gewone bankrekeningnummers voorzien van een interne controle.

Die zit ook in deze custom functie, want daarmee bereken je de twee cijfers na de landcode. Zie http://www.ibannl.org/uitleg-over-iban/ .

 

Maar of aangeboden rekeningen echt bestaan en bij welke bank ze nu zijn ondergebracht zit er niet in.

Zelfs de 11 proef op het aangeboden rekeningnummer zit er niet in. Ik heb namelijk geen idee of die check voor andere landen ook geldt.

Dus het gaat om het genereren van een IBAN nummer op basis van de aangeboden info.

Er wordt van uitgegaan dat die info klopt...je moet ergens van uitgaan 8)

 

rmw

Link to comment
  • 0

Dag Rmw, dank voor je uitleg. Wat ik meer bedoelde was een lijst / tabel van uitgegeven Nederlandse banknummers (dus niet IBAN nummers) waarbij de eerste twee cijfers worden gebruikt om de banknaam aan te geven. Ik heb wel een lijst (vrij oud) kunnen vinden maar volgens mij moet er wel iets meer recents zijn, accurater wellicht. Dit is de lijst die ik nu heb;

 

40-59	ABN-AMRO bank			ABNA
72-74	Aegon Bank			AEGO
7774		AK Bank N.V.			AKBK
27		Amsterdam Trade Bank		ATBA
7820		Argenta Bank			ARSN
7075		ASN Bank			ASNB
6000		Bank of Scotland		BOFS
20		Bankgirocentrale BV	
2660		Citibank Europe PLC		CITI
28		Delta Loyd			DLBK
7339		Dresdner Bank			DRES
7731		DSB Bank B.V.			SBHO
7294		Finansbank (Holland) N.V. 	FBHL
21-25	Fortis Bank			FTSB
29		Friesland Bank			FRBK
2657		GarantiBank International N.V.	UGBI
7865		IceSave Bank	
65-69	ING bank			INGB
2236		Kas bank			KASA
26		Landschot bank			FVLB
63		Mizuho Cor. bank		MHCB
60		Nederlandse bank		NWAB
2132		NIBC Direct			DNIB
2508		Ohra Spaarbank			OHAA
10-19	Rabo bank			RABO
6350		SNS bank			SNSB
85		SNS Bank (ASN Bank)		ASNB
880		SNS Bank (spaarrekening)	SNSB
7846		The Economy Bank N.V.		TEBU
2548		Triodos Bank				TRIO
39		Triodos bank 						TRIO

Link to comment
  • 0

Je kan eigenlijk alleen nog maar checken of een IBAN aan de syntax voldoet, maar niet of het ook werkelijk bestaat en eveneens is het niet gegarandeerd of een IBAN-omzetter je werkelijk het correcte IBAN teruggeeft. Op meerdere sites controleren is handig wanneer je dat met de hand doet, maar we proberen het hier te automatiseren en wat doe je als je op bijvoorbeeld 4 sites controleert en je krijgt 2 verschillende antwoorden ..... meeste stemmen gelden?

 

@website77: jouw suggestie is ongetwijfeld goed bedoeld, maar ik vind het een onveilige

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...