Agissant pour le compte d'un client débiteur, Citibank doit effectuer des virements en guise de paiement des intérêts dus par son client à ses créanciers. Ces intérêts s'élèvent à 7,8 millions USD, mais à cause d'une erreur dans la conception de l'interface utilisateur du logiciel utilisé, Citibank vire plutôt 900 millions USD.
Se rendant compte de son erreur le lendemain, la banque essaie de rattraper le tir. Elle contacte les créanciers pour leur expliquer l'erreur et demander de renvoyer l'argent. Certains coopèrent et ramènent l'argent, mais d'autres refusent. Le montant viré correspond en effet à la totalité de ce que le client de Citibank doit à ses créanciers. Ces derniers ont donc cru que leur débiteur avait décidé de régler sa dette plus tôt que prévu. En plus, le client de Citibank traverse de grosses difficultés financières depuis le début de la crise de la Covid-19. Les créanciers n'étaient donc même pas sûrs de pouvoir récupérer leur argent. Alors, la faille de Citibank a permis à ces derniers de récupérer l'argent qu'ils n'auraient peut-être jamais récupéré autrement.
C'est une lourde somme de 500 millions USD que Citibank n'a pas pu récupérer à cause des refus de remboursement. La banque décide alors de saisir la justice pour sommer les créanciers de rembourser le virement fait par erreur. Mais le juge fédéral de New York donne raison à ces derniers.
En principe, en vertu de la loi, une personne qui envoie un virement bancaire par erreur a le droit de récupérer l'argent. Mais une exception est faite lorsqu'un débiteur transfère accidentellement de l'argent à un créancier. Dans ce cas, si le créancier n'a pas connaissance au préalable que le paiement était une erreur, il est libre de le traiter comme un remboursement du prêt. Le juge a statué que ce principe s'applique dans cette affaire, même si Citibank a informé ses créanciers de l'erreur dès le lendemain.
Les défendeurs ont quant à eux noté que les montants qu'ils ont reçus correspondaient exactement aux montants que leur devait leur débiteur, ce qui leur permettait de supposer qu'il s'agissait d'un remboursement anticipé du prêt. Le juge estime également que les créanciers avaient le droit de supposer qu'une banque aussi sophistiquée que Citibank n'enverrait pas une telle somme d'argent par accident. « Croire que Citibank, l'une des institutions financières les plus sophistiquées au monde, avait commis une erreur qui ne s'était jamais produite auparavant, à hauteur de près d'un milliard de dollars - aurait été à la limite de l'irrationnel », écrit le juge dans sa décision. Mais comment cette erreur fatale a-t-elle pu se produire ?
Il s'agit en réalité d'une erreur humaine, qu'on peut sans être sévère imputer à l'interface utilisateur du logiciel de la banque appelé Flexcube. Dans la décision du juge, on peut lire que « sur Flexcube, le moyen le plus simple (ou peut-être le seul) d'exécuter la transaction était de la rentrer dans le système comme si l'on remboursait le prêt dans son intégralité, ce qui déclenche les paiements d'intérêts courus à tous les prêteurs, mais en dirigeant le principal (le capital) vers un compte de compensation ». Le compte de compensation est une sorte de compte temporaire dans lequel des fonds sont conservés pour être transférés « en douceur » sur le compte requis lorsque le transfert ne peut pas être effectué directement. C'est un compte interne qui permet de garantir que l'argent ne quitte pas la banque.
Le travail de saisie de cette transaction dans Flexcube a été confié à un sous-traitant en Inde du nom d'Arokia Raj. Ci-dessous l'interface de Flexcube telle qu'elle se présentait à Raj.
Lors de la saisie d'un paiement, l'employé se voit présenter un menu avec plusieurs cases qui peuvent être cochées ainsi qu'un champ associé dans lequel un numéro de compte peut être saisi. Le guide utilisateur explique que, pour supprimer le paiement d'un montant principal, les champs ci-dessous doivent être définis sur le compte de compensation : FRONT, FUND, et PRINCIPAL - ce qui signifie que l'employé devait cocher ces trois cases et saisir le numéro de compte dans les champs appropriés.
La logique et la simplicité voudraient que si l'on souhaite envoyer le principal sur un compte, saisir le numéro du compte dans le champ principal et cocher la case correspondante soient suffisants. C'est en tout cas de cette manière que Raj l'avait compris. Il pensait que cocher la case « Principal » et entrer le numéro d'un compte de compensation Citibank garantirait que le paiement du principal resterait chez Citibank. Mais il s'est trompé. Pour empêcher le paiement du principal, il fallait faire la même chose pour les deux autres cases. C'est visiblement une erreur de conception, puisque les deux autres personnes qui ont approuvé la transaction ont également pensé que définir le champ « Principal » sur un numéro de compte de compensation interne suffirait pour empêcher le paiement du principal. Mais ce n'était pas la seule erreur de conception.
En procédant aux étapes finales pour approuver les virements, le logiciel a donné un avertissement, mais il ne semblait pas assez précis pour attirer l'attention de Raj sur son erreur. Un message indiquait que des fonds seraient envoyés hors de la banque, en demandant à Raj s'il voulait continuer. Le message n'indiquait toutefois pas le montant qui serait envoyé hors de la banque, ni s'il constituait un montant égal au paiement des intérêts prévu, un montant égal au principal, ou la somme des deux. Et bien évidemment, parce que Raj avait l'intention de virer le paiement des intérêts, il a cliqué sur « Oui ».
Le principal n'est pas allé sur le compte de compensation. Lorsque Raj a effectué un examen de routine le lendemain matin, il a remarqué cette erreur. Citibank a envoyé près de 900 millions de dollars au lieu de 7,8 millions. La banque s'est précipitée pour récupérer les fonds en contactant les créanciers, mais certains ont refusé de renvoyer l'argent, laissant à une dette de 500 millions de dollars envers son client. La banque envisage toutefois de faire appel de la décision du juge.
Source : Décision du juge
Et vous ?
Qu'en pensez-vous ?
Erreur humaine ou de conception d'interface utilisateur ? Pourquoi ?
Voir aussi :
Une interface utilisateur évidente est souvent la meilleure interface utilisateur, concevez des interactions claires plutôt qu'intelligentes et les utilisateurs suivront, conseille Google Design
La Russie a perdu contact avec un satellite lancé le mois dernier à cause d'une mauvaise programmation, une erreur humaine qui a coûté 45 millions $
Citibank transfère 900 millions USD par erreur à des créanciers à cause d'une interface utilisateur de logiciel mal conçue
Un juge statue que ces derniers ont le droit de ne pas renvoyer l'argent
Citibank transfère 900 millions USD par erreur à des créanciers à cause d'une interface utilisateur de logiciel mal conçue
Un juge statue que ces derniers ont le droit de ne pas renvoyer l'argent
Le , par Michael Guilloux
Une erreur dans cette actualité ? Signalez-nous-la !