I realize that this is becoming more and more popular now. Many banks have ATMs that scan your checks as you deposit them (no more envelopes). They can also read the amount on the check, even if it’s handwritten. I like this because it gives me a record of all the checks I deposit in an email, and it’s even saved me a couple of times (I use it for my wife’s business account as well) since I was able to find a deposited check that we somehow had no record of.
In addition, some banks offer apps for smartphones that allow you to submit a picture of the front and back of the check. I assume they can read the amount of the check as well.
What I’m wondering is if modern OCR is really that good, or if there are offshore employees reading these scans on a screen and manually entering the amount. The reason I suspect the latter is that the technology seems to work no matter how sloppily the amount is written, as long as it’s somewhat legible, and there are occasional screwups where the “scanned” amount in no way resembles what’s written on the check (this happened to me once with a check that had been machine printed), as if an operator wasn’t paying attention.
I wouldn’t be surprised if OCR tech has gotten that good. We beta tested a similar feature for the go payment app back in December, and got pretty good results using nothing more than software and the iPhone camera.
The OCR isn’t that good. The one in my town couldn’t even read certain printed checks.
You have proof that the ATM fails miserably occasionally. Automatic tellers cost a lot of money to run, but a lot less than a human teller, even in a foreign country. It makes much more sense that its OCR.
OCR for this problem is pretty straightforward. The output space is limited (the answer must be a number), the information is available twice (numerals and text), and the banks have at least a decade of old checks to train* the system on (even my tiny bank started sending me digital images of my own cleared checks 15 years ago). It’s still not perfect, of course. I’ve had a BofA ATM misread a quantity once. I just clicked “enter amount manually” and carried on.
*For those unfamiliar: these systems work via machine learning, wherein a generic and highly flexible pattern recognition algorithm is “trained” on a large set of samples whose correct answers are known. During the training, the internal knobs of the algorithm (which can number in the thousands or beyond without trouble) are continually updated until the system is doing as well as it can on the training set. [Nitpickers stay away regarding splitting the training sample into statistically independent sets for overtraining protection.]
Yes, but you don’t have to pay someone to be a teller, just to read a screen and do basic data entry. A small number of people could handle thousands of machines (it’s not like they have to wait around while you press buttons on the screen; they can be processing other people’s transactions). I was envisioning a scenario like: the ATM attempts OCR, and if it didn’t have enough confidence, passes it off to a human.
I read somewhere a description of how the USPS processes envelopes. Most are read by machine, but a few need to be processed by human eye. They have a very small number of centers where human operators view remote images of envelopes that the computers couldn’t process. In a very short time the USPS staff can read the hand-written ZIP code or address information. So I suspect the banks use a similar system for checks. Most are processed by machine but a few need human assistance.
And a few months ago, I deposited a computer-generated check at the ATM. It had the dollar amount in numerical format but not in words. The amount was 784.61, and the dollars and cents digits were separated by a vertical line. The ATM interpreted the amount as 7841.61 but I corrected that. I suspect that the bank flagged the check so that a bank employee could verify the amount I manually entered.
At my bank (PNC) they employed a system for about 6 months that had you put in the check and then type in the number. I assumed this was a learning thing because now they just take the check and tell you the number. The other branch down the street was about 2 months behind.
That raises another question - are there any checks in place to ensure that the system works properly? If the machine scans the check incorrectly, and I don’t notice it, is that it? Am I SOL?
At the ATM in my bank (BankAmerica) I’d say the ATM doesn’t correctly read about 1/4 of the handwritten checks. It then prompts me to enter the amount. I’ve never yet had it think it read the amount right but gotten it wrong.
In any case, when it displays the amount it has read, one of the options is to have the machine return the check so if it were wrong I could get it back. Furthermore, all of the deposits are checked by a human. This is no change from previously when you deposited all of the checks in an envelope and told the ATM what the total was. Everything was checked and still is.
The cost savings isn’t avoiding a human looking at the deposits, it’s primarily a way to smooth their timing need for tellers. The ATM doesn’t get an hourly wage if no one is using it for 15 minute stretches. Secondarily, you can think of the machine serving as an audit for the teller that checks the deposits rather than vice versa.
Do you know this for a fact? It’s fine that the check images are saved, but chances are once you’re done with your deposit, you’re not going to notice something’s amiss with the amount (unless it’s off by a large amount).
I am about 90% sure…my business banks with bofa, I deposit about 75 checks a month I have recieved pictures of checks with various corrections to my deposit.
Modern OCR is definitely good enough to read hand written numbers accurately.
Please check out the open source tesseract-ocr engine as a reference: tesseract-ocr · GitHub
It’s not just checks, all USPS mail is OCR scanned as well. Commercial mail has barcodes which have all of the same information, but the zip code is read using OCR in the event there is no barcode.
I’ve worked on design of check scanning apps for a major bank (desktop physical scanner and mobile) and the answer is both.
The OCR really is very good, especially on the pre-printed parts of the check.
But also for any dodgy scans (or simply for transactions that trigger risk rules) there is also a queue for manual review and that goes to a pool of people who just sit and work through them. But considering the volume of checks the number that end up being manually reviewed are amazingly small.
And it isn’t necessarily a recent thing. In 2000 I was working on a lockbox product for Wells Fargo and got to see the details of a processing center for one of the large telecom accounts. Payments came in in envelopes containing a check and a payment stub.
Machines opened the enveloped, pulled the contents, scanned both sides of each (and anything extra that might be in there, figured out what the billing account was and what the check said and applied payments accordingly. 99% of mailed payments got processed without human intervention and it was reasonably old hat then.
I was told by a teller that all check deposits to the ATM were verified. I do know that I recently had a check deposit reversed because the check was stale dated. I don’t know if the ATM even checks that. It certainly didn’t indicate such to me. But I don’t know this for a fact other than my experience and being told.
I do know at BoA that you are told the “read amount” as you deposit the check and have a chance to correct things then.
Also, you might want to have a good documented record of the check, just in case there’s a mis-read that you need corrected. ATM’s offer an option (at least at my bank) where the printed receipt you get includes a picture of the check it scanned.
Citibank offers the option to have the receipt emailed to you, in a higher resolution than the printed receipt, which will fade within a year anyway and will probably get lost.
At my bank in the UK, I am pretty sure that there are no humans involved. I recently deposited three cheques, two were printed and one hand written. The machine asked me to enter one of the printed cheque amounts as it couldn’t read it.
I did wonder what happens after that. Suppose I entered the wrong number (accidently of course); I assume that there must be subsequent checks, possibly at the issuer end of the chain, to stop any fraud.
That’s really the trick; retail OCR software packages like you’d see on someone’s PC or Mac aren’t so good at recognizing really funky handwriting or anything other than something similar to the printed word or very neat printed handwriting.
But take a large-scale commercial package that learns, and feed it tens of thousands of checks with known values, and it’ll get really good at identifying written numbers within a certain part of the check.