FYI: Check Digit


In Spain, bank accounts have twenty digits, two of which represent the check digits (known in Spanish as "Digito de Control"). The purpose of a check digit is to perform a validation of a value. In this case, we have four digits representing the bank, four representing the branch, ten for the actual account number and last but definitely not least, the two check digits. It's important to have them since you can often get confused why typing in twenty numbers and find you've incorrectly put in a two instead of a three. You don't want the 1M€ to be transferred to the wrong account.

Now any good system should verify the check digit and notify the user if it's incorrect. That's what my bank does. However, mine goes one step further. It actually tells me what the correct control digit is!!! @#!??!¡%$&. Only one scenario comes to mind where that would be useful. Otherwise I think it can cause more harm than good.

[Translation: the check digit is incorrect. It should be 41]

Comments: 

Aleksander Oven 2008-01-11 11:18:42
He he, you should definitely post this to http://thedailywtf.com. :)
Thomas Mueller 2008-01-12 03:56:56
If somebody is stupid enough to just "correct" the control digits without checking the whole account number, he deserves to transfer money to the wrong account. But of course there are always lawyers that will try to shift the blame the bank so they can cash in on such a technical non-issue. (No, I am not suggesting that all lawyers are like that, but there are some and unfortunately that's enough.)
Richard Foersom 2008-01-12 04:45:05
Indeed bad scheme, you should not help people avoiding a checksum.

For the curious, the mentioned bank code here is the ES version of IBAN (International Bank Account Number) an ISO bank standard. How to calculate the checksum is no secret, it is all explained in Wikipedia page.

Doei RIF

Laurent 2008-01-12 08:30:06
You can find a delphi function to check a complete bank account number on this link :

http://www.delphi3000.com/articles/article_732.asp

Cheers,

Laurent


Add your comment: 

Name:  
E-Mail:  
URL:  
Comment:  
Please add 5 and 6 and type the answer here: