The client approached me in 2007 to develop an application that would replace his Access database. He wanted to add the ability to collect data from MICR scanners and fingerprint readers as well. This was an ongoing project for about 3 years and I learned a lot about data security and efficiency.
The first edition of the application was simply an interface to an SQL database. We eventually added support for MagTek MICR scanners, SecuGen fingerprint readers, cash registers, and receipt printers making it a fully-functional check cashing solution.
The second edition introduced data sharing via REST calls and a completely new interface that streamlined the process. Bounced and other "bad" check data was stored on the Performance Checking server and was shared with clients in an attempt to prevent bad checks from being processed.
With the third, and final, edition we partnered with Wachovia bank and Worldpay to provide direct deposit, funds capture, and the ability to verify funds at the time of cashing the check. This is all common these days but was uncharted territory back then.