This is why all account numbers should end in a 6 to 12 digit checksum verification, to protect against human input error. If this bank had implemented this simple precaution then the entire situation would have never occurred.
This system already exists and is called the IBAN (although it has only two checksum digits, mod 97). I thought it was used for all bank transfers in the EU now, but apparently the old system is still in use in the UK.
Almost all the UK banks still use sort code and account for transfers, even though the accounts have IBANs.
It is often possible to perform foreign transfers using destination IBANs, but they seem to prefer (or require) the traditional approach for UK Sterling transfers.
I can understand why they retain the old system, but it would be useful if they in addition offered the ability to specify the target via IBAN for domestic transfers, since they already do for transfers to the rest of the EU.
Even when doing a SWIFT transfer, the IBAN (if one has it) is useful.
It was actually the "same" account number at a different Barclays branch. The account-holder may even have been largely unaware that the sort-code was a critical part of the unique identifier for his Barclays account.
Yeah, so the problem is that the account number plus short code had no checksum validation. This is the banks fault for implementing a rubbish account system. A proper system would look more like this sudo code:
where 1234567890 is the account number, 1234 is the short code, and then 6 characters are typed in at the end are a checksum.
The short code is unique. So if you type in the correct checksum but not the correct short-code the fully-qualified unique identifier does not pass the validation step. Like-wise, if you type in the correct short-code but not the checksum then the unique identifier also does not pass the validation step. Thus, the user is protected against typing in an incorrect short code.
wcoenen|6 years ago
https://www.xe.com/ibancalculator/sample/?ibancountry=united...
dfawcus|6 years ago
It is often possible to perform foreign transfers using destination IBANs, but they seem to prefer (or require) the traditional approach for UK Sterling transfers.
I can understand why they retain the old system, but it would be useful if they in addition offered the ability to specify the target via IBAN for domestic transfers, since they already do for transfers to the rest of the EU.
Even when doing a SWIFT transfer, the IBAN (if one has it) is useful.
zozbot234|6 years ago
really3452|6 years ago
1234567890-1234-checksum(1234567890-1234).substring(0, 6)
where 1234567890 is the account number, 1234 is the short code, and then 6 characters are typed in at the end are a checksum.
The short code is unique. So if you type in the correct checksum but not the correct short-code the fully-qualified unique identifier does not pass the validation step. Like-wise, if you type in the correct short-code but not the checksum then the unique identifier also does not pass the validation step. Thus, the user is protected against typing in an incorrect short code.
rhinoceraptor|6 years ago