Everyday Lean: Online Bill Pay


Here's the latest in the series on Everyday Lean.

I love online bill payment. My bank and the web make it easy to view and pay bills while on the road and eliminates a lot of paper that would otherwise accumulate in my mailbox. I am able to save the expense (minimal) and hassle (sometimes significant) of writing checks and mailing them.

Screen Shot 2015-07-28 at 4.06.32 PMBut, a few years ago, I made a mistake that almost made me swear off online bill payment forever. I had received a bill from the cable company, due for something like $106.11. With the bill payment website, I had to enter the amount I wanted to pay. In my haste, I didn't type the decimal point and clicked “submit”, obviously not noticing my error. Now, I didn't have $10611 in my checking account! I would have expected the payment to “bounce” and to not go through.

I found out, logging in a few days later to see I had nothing in my checking account. The bank had (I later found out as a “courtesy” to me) paid the full amount to the cable company!!! The bank also charged me $29 for the “courtesy” overdraft protection. Now, long story short, it took many days of phone calls to the bank and the cable company to get a refund expedited so I could get square with the bank.

I decided, rather than swearing off online bill payment, to make a fundamental change to my process. For one, I would be “more careful,” but that isn't really error proofing. The best I could come up was this:

For each bill, I will only pay WHOLE DOLLAR amounts. If the bill is $106.11, I will round up and enter “107” into the bill payment amount field. Never again will I skip a decimal place and pay the wrong amount. Rounding up costs little, the extra 50 cents, on average, just goes toward the next month's bill. This method has worked — no disasters like that in over 2.5 years. Now, I recognize I haven't completed error proofed the process. But that's the best I have. Does anyone else have a better error proofing method for this process?

What do you think? Please scroll down (or click) to post a comment. Or please share the post with your thoughts on LinkedIn – and follow me or connect with me there.

Did you like this post? Make sure you don't miss a post or podcast — Subscribe to get notified about posts via email daily or weekly.

Check out my latest book, The Mistakes That Make Us: Cultivating a Culture of Learning and Innovation:

Get New Posts Sent To You

Select list(s):
Previous articleToyota and Quality Trends
Next article"Remaking" GM?
Mark Graban
Mark Graban is an internationally-recognized consultant, author, and professional speaker, and podcaster with experience in healthcare, manufacturing, and startups. Mark's new book is The Mistakes That Make Us: Cultivating a Culture of Learning and Innovation. He is also the author of Measures of Success: React Less, Lead Better, Improve More, the Shingo Award-winning books Lean Hospitals and Healthcare Kaizen, and the anthology Practicing Lean. Mark is also a Senior Advisor to the technology company KaiNexus.


  1. I’ve used Quicken’s e-payment service for over 10 years with only two minor errors. Just three days ago I found it has a built-in safeguard against what you experienced… I had to pay an unusually (luckily!) high Amex bill for $14,000 for some overseas plane tickets, and it said the limit per transaction was $10,000… so I had to split it into two transactions. I guess that safeguard is also a nuisance if you regularly have very large bills… though I guess if I regularly had single monthly bills of that size I’d probably have “my people” do the work for me!

  2. Many of the billing companies are working to help with “your” problem. AMEX is one that does a pretty good job. They give you a radio button for the total amount, another for the minimal amount, and one with a line next to it for some other quantity. This is a form of poke yoke. My least favorite, when I was doing business with them, was Sprint PCS because they wouldn’t give you a hint as to what your bill was and you always had to do a separate transaction to learn the balance and then another to pay it. It wasn’t user friendly and many times when I was on the road paying on the run, I would pay my monthly average bill cost because I knew what it was. I also chose to pay in whole dollars to make the event simpler.

  3. To build on Chet’s point, the radio buttons are a big help. That’s partly why I use a “Portal” model for online bill pay instead of an “Aggregator”.

    A portal allows you to set up your accounts along with userids and passwords, and may also provide updated balances and recent transactions. Everything is listed on a central accounts page. However, the portal doesn’t directly pay the bill. You click on the link for each account and get auto-logged in directly to the individual service provider. You can then view your most recent bill, any details, and pay the bill – usually with a radio button. Then you go to the next site on your list.

    We use MS Money for everything financial, except bill paying. Twice a month, my wife logs into the portal and goes down the appropriate list (mid-month or end-month). The portal logs her in to each service provider site where she can view and pay the bill. MS Money automatically upates itself a day later when the software queries the online account for the service provider.

    It’s a fairly lean process, but the next step is to go to automatic payments. I’ve resisted this method in the past, but it’s time to embrace progress. I still have complete review of the finances through Money, and my experience is that the provider’s chance of making an error is less than mine. Besides, most providers will do the transaction right on the due date, allowing me to keep my money longer (at the whopping 1% interest rate).

    Great topic!

  4. A similar thing happened to me recently. I accidentally sent a payment to my cable company (Mediacom) instead of my credit card company (MBNA). I think that I was in a hurry and saw a name that started with M, so I just sent it to them. They wouldn’t send the money back, the just gave me credit. At least it wasn’t a large amount of money though. Any error proof ideas for that?

  5. How to error proof the company name?

    One idea would be to have “auto pay” set up as much as possible, so you don’t have to manually select as many payees, but that works best when it’s the same amount each month (like cable, but not the credit card).

    I hate to say “be careful” because that isn’t error proofing. Is there a confirmation screen that shows what you selected before you confirm and submit?

  6. Auto payments can be tricky as well. They expire and are easily broken up by changing credit cards and bank account information. It can be difficult to tell if an autopay has expired and usually only gives the user a false sense of security. The main problem is that you are human and humans make mistakes. Just pick a set process and stick with it. Most people do not have a set procedure for paying and reviewing bills and just shoot from the hip.

  7. Revisiting this post… I was paying my AmEx bill and tried to use this “round up” method.

    I was forced to enter an amount with decimal. For example, it wouldn’t accept 1000, I had to enter 1000.00.

    While I am trying to errorproof to prevent overpayment (missing the decimal), seems like they have error proofed to to prevent underpayment (someone adding the decimal)???

  8. I found a new failure mode for online bill pay. I had an electric bill due April 24. I mistakenly entered May 23 as the pay date.

    So, by April 30, I had a late payment termination notice from the electric company. Kudos to them for the fast cycle time on getting those out. I paid the bill via credit card on their website.

    I’m not sure how to error proof “wrong date.” You?

  9. I don’t think it is too hard to put in a filter that checks and then puts a big flash message:

    “The date you entered is after the due date. Are you sure you don’t want to put in a date prior to that…”

    You can also make the data entry bias toward a on-time payment: require an extra step to go beyond the due date. How you implement this would depend on the entry method (really easy to do if you are using calendar point and click – grey out all the post due date entries, if click on a greyed out entry, pop-up a message that says “that date is after the due date are you sure…” It gets harder if it is just text entry…

    Even with text entry can popup the message on submit of the form…

    Can follow up with (using this method alone is better than nothing but it is pretty lame so I wouldn’t suggest it as the only method unless nothing else can be done reasonably) email saying “you entered a date after the due date in your last bill payment, if you don’t pay before that late fee…

    Anyone what to hire me to think of ways to make it harder to make an error just let me know. I don’t like processes that allow errors so have become fairly good and thinking up ways to make it harder pretty quickly :-)

    • Brilliant ideas, thanks for sharing. Most of my monthly bills are on credit-card auto pay, which reduces the amount of effort and opportunities for payment error. The bank system I’m using isn’t generally integrated with “e-Bills” (other than my phone company, which I pay automatically with credit card, anyway). So, I’m manually entering dates and amounts and it can’t flag what would be late… I need to automate more of billing, I think that’s a good countermeasure to try.

  10. On the original question:

    A good poka-yoke by the bank would be to interface with the billers and populate the payment amounts for the customers using an online billing system. That is out of your hands (other than selecting a bank that uses a better, customer focused process).

    It probably isn’t worth it in this case, but one method to avoid typos is to cut and paste. So cut the amount from the web site of the biller. Now if you are really just reading it off a piece of paper that is pain (to sign into the other web site…). The whole dollar entry idea seems ok to me. Another thing you can do to reduce errors is pay several months at a time (this mainly reduces errors by reducing the number of times you enter the data so you have fewer chances to make an error). It also gives you fewer times to get in trouble if you totally forget to pay a bill one month (in the sense that you have many months where you don’t need to remember since it is covered).

    Another option for the bank is to force in the decimal place (some online systems and ATMs do this). So if I enter 5 the screen will show .05, to get $5.00 I have to put 500. This isn’t perfect, it can be a tiny hassle to enter the 2 extra 0s and I suppose it might lead to errors of someone entering 50 to pay $50 and it only shows $0.50…

    Another option is to setup automatic billing where the company with the bill automatically deducts the correct amount each month. I find this useful for example for mortgage payments. Instead of having to notice and adjust the amount to be paid as the escrow part (taxes, insurance) fluctuate you can just have them deal with billing the correct amount.


Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.