Neintuitiven uporabniški vmesnik je Citigroupu povzročil 900 milijonov dolarjev škode

Matej Huš

20. feb 2021 ob 21:12:58

Ameriška banka Citigroup je lanskega avgusta hedge skladom nakazala 900 milijonov dolarjev. Naslednji dan jim je sporočila, da so naredili napako, in da lepo prosijo, če jim lahko denar vrnejo. Skladi so dejali, v resnici ste nam bili ta denar dolžni. Banka je rekla, teoretično res, ampak zgodba je komplicirana, se vidimo na sodišču. In po najnovejši razsodbi sodišča so imeli skladi prav. A zgodba je zanimiva predvsem zato, ker se je bizarna napaka zgodila zaradi katastrofalnega uporabniškega vmesnika na zanič programski opremi, ki jo uporablja Citigroup. To je v resnici zgodba o pomenu načrtovanju uporabniških vmesnikov.

Citigroup je koordiniral sindicirano posojilo podjetju Revlon, ki je bilo odobreno leta 2016 za sedem let. Ker je imel Revlon nekaj finančnih težav, so posojilo reprogramirali, tako da so nekateri posojilodajalci dobili zavarovani dolg, drugi pa ne, zaradi česar so želeli podjetje tožili. Potem pa jim je en dan pred vložitvijo tožbe od Citigroupa prejeli 900 milijonov dolarjev, torej poplačilo celotne glavnice in vseh obresti. To je bilo nekoliko nenavadno, še bolj nenavadno pa je bilo obvestilo Citigroupa, da gre za pomoto, in da Revlon ni plačal ničesar, zato naj nakazila vrnejo Citigroupu. Nekdo v Citigroupu je kliknil narobe.

Zgoditi bi se moralo tole. Posojilodajalci v novi shemi bi morali dobiti poplačane natečene obresti, potem pa bi se glavnica reprogramirala. Citigroup zaradi omejitev programske opreme ni mogel izplačati natečenih obresti le nekaterim posojilodajalcem, saj bi moral to storiti ročno, zato je uspel prepričati Revlon, naj plačajo vseh 7,8 milijona dolarjev, kolikor so vse obresti. To je neverjetno amatersko po sebi, a Revlon je plačal, tako da so vsi upniki dobili poplačane obresti. Toda zgodba se tu šele zakomplicira.

Eden izmed upnikov (oziroma upniki, katere je zastopalo eno podjetje) bi moral dobiti izplačano tudi glavnico, ker bi potem vstopili v drugo posojilno shemo za Revlon, ostali pa ne. Tako tudi za tega upnika v resnici ne bi šlo za denarno transakcijo, temveč knjigovodsko operacijo - poplačilo njihovega dela v tem sindiciranem posojilu in vstop v drugo posojilno shemo. Sindicirano posojilo bi se tako zmanjšalo za njihov delež, hkrati pa bi se relativni deleži vseh ostali sorazmerno povečali. To je naloga, ki jo zna izračunati vsak dijak, očitno pa ne Citigroup. Edini praktični način, da se to izvede, je da v programski opremi Flexcube izvedejo poplačilo vsem upnikom, a izplačilo izvedejo na poseben račun znotraj Citigroupa (wash account), s katerega denar ne zapusti banke. Torej pretvarjati se je treba, da je posojilo poplačano, da lahko izračunajo nove deleže.

Še bolj bizaren pa je način, ko se to izvede. Privzeta možnost v Flexcubu je seveda dejansko izplačilo, zato je treba pri vnosu naloga odkljukati polje Overwrite default settlement instruction. Trojka, ki je to plačilo izvedla, je to vedela, zato je pri vnosu PRINCIPAL (glavnica) odkljukala to možnost. In to je bil razlog za katastrofo. Nakazilo je šlo v izvedbo, denar pa iz banke. Ko so se takoj obrnili na tehnični podporo, češ da je očitno nekaj zelo narobe s programom, so dobili hladen odgovor. Ne, vse deluje normalno, le da bi morali isto okence odkljukati še pri poljih FUND in FRONT (glej sliko). To je povsem neintuitivno. Brez treh kljukic denar ne potuje na delovni račun, temveč v resnici zapusti banko. Res, s priloženega posnetka to sploh ni očitno.

Zgodba je epilog dobila na sodišču. Čeprav je treba napak prejeta nakazila vrniti (neupravičena obogatitev), v tem primeru sodišče ni bilo tega mnenja. Ker je Citigroup dejansko dolgoval ta denar upnikom (kot posrednik pri sindiciranem posojilu), upniki pa niso naredili nič, s čimer bi Citigroup spravili v zmoto ali kako drugače povzročili izplačilo, lahko sredstva obdržijo. Sodišče je zavzelo stališče, da kadar nam nekdo nekaj dolguje, potem pa to izplača, tega ne more več terjati nazaj niti se upniku ni treba ukvarjati z vprašanjem, ali je prišlo do kakšne napake. Še več, šele ko je Citigroup naslednji dan poslal obvestilo o napaki, so se upniki začeli med seboj norčevati iz Citigroupa(na Bloombergu). To kaže, da ob prejemu nakazila niso vedeli in niso mogli vedeti, da je kaj narobe. Z njihovega zornega kota se je pač Revlon pred tožbo odločil, da vrne dolgovano.