Having already blogged about Sony's bad system design, I'm afraid that this might become a series on this website. But the more of these we look at, the better we'll get at avoiding the same mistakes. Sony's bad design was very public and potentially very damaging to many of their customers; the subject of today's post–my bank's online bill pay system–is a much quieter flaw which, though still potentially damaging, probably will never hit the news in such a notable fashion.
I use online bill paying a lot. And generally, it works flawlessly–I log in to the website, schedule a payment, people get their money, everyone's happy. But last week, the system broke down. I'd scheduled a payment, and then on Friday was contacted by the people I was trying to pay, asking why I was late. I quickly checked my account and confirmed that the payment had been taken from my account on Wednesday, a couple of days after the payment had been sent. So I called the company back and left a rather emphatic message on their answering machine that they had already cashed the check I'd sent. Then, on Tuesday morning (Monday having been a holiday and all), I received a return phone call–they'd just gotten my check in the mail that morning, and would cash it that day.
So, since the company hadn't even received my check, why had the money been taken from my account the previous week? I called my bank to find out. Turns out that the bank contracts with a third-party check-printing service, and the check-printer gets paid from my account roughly two days after printing the check. So I have no visibility to when the check gets cashed–or if it's never even received. If I think there might be an issue, I can call the bank and they can try to research it, but I have to figure out that there's a problem (somehow) first. Not a good system. Imagine your credit card company not receiving your payment, and not finding out until your next bill arrived–how much would they charge you in interest and fees? and how long would it take for the bank to research the issue and return your money to your account so you could pay the new, much larger bill?
What should the system look like? Well, first of all, I'm not sure why the check printer needs to be paid the full amount of my check, unless the checks are actually against their account, rather than mine. Which would work, but it seems a very convoluted path; the printer should be able to print my bank's routing number and my account number on the check, and get paid a fee by the bank for the service. But if that's not an option, then the printer's account should be set up so that it's automatically reimbursed from my account when the check is cashed. That'd be a lot more work to set up, but it would provide the bank's customers with the information they need when they need it–specifically, that the check was received and cashed by the person being paid.
Update, July 11th, 2011: I've managed to confirm that the checks are written against a completely different account, held at a completely different bank (M&I Bank, whose main office is in Antigo, Wisconsin; my bank is headquartered in Vermont). So they've pretty much gone with the worst possible setup.