GET IN TOUCH

Optical Character Recognition Module for Invoice Capture Software

Computer vision Machine learning Mobile app development OCR

Each invoice that companies receive holds data which is crucial for various accounting, resource planning, and business intelligence applications. Today invoices come in digital formats such as PDF files or scanned images. To access key data in digital invoices and streamline workflow, companies use automated invoice processing software. This software uses a machine learning technique such as Optical Character Recognition (OCR) to recognize and extract data fields from a document format.

Request

A London-based provider of solutions for retailers was looking to build a mobile application that could recognize and extract invoice data from PDFs or images to be transferred to financial software or other enterprise applications. They needed a company with expertise in machine learning and artificial intelligence. 

Solution

Our solution needed to make it possible to extract not only metadata such as the invoice date, invoice number, and the total sum of the purchase but also line-items or detailed data about the merchandise included in an invoice.

There were two options we could use to implement Optical Character Recognition (OCR) technology. One was to integrate Google Vision API and the other option was to go with the Tesseract library.

Google Vision API was certainly the best possible solution, but it could get very costly with time. Tesseract, on the other hand, is a free open source library. We choose Tesseract because we had previous experience working with this library and wanted to lower the cost of ownership of the app for our client.

To get higher OCR accuracy we needed to train the image processing library which was the most challenging part of the project.


Scope of work

  • Image pre-processing: cleaning up noise and artifacts, making the images more contrast.
  • Integrating the Tesseract library.
  • Analyzing results.
  • Training the library using more than 10,000 paper invoices and documents.

Technologies Used

  • REST API approach was used for the interaction between mobile applications and the Cloud.
  • OpenCV library was used for preprocessing purposes, such as deskewing, removing scanning artifacts and noise, and binarization.
  • Tesseract library was used for OCR.
  • Java language was used for Android app development.
  • Objective-C language was used for iOS app development.

Result

We developed mobile applications using Optical Character Recognition (OCR) technology for Android and iOS platforms. The app uses a camera to read the information from shop receipts and supplier invoices such as line-item details and their cost and converts these data into a usable format. It allows for managing piles of paper invoices much better.

Examples of invoices for recognition

The accuracy of data extraction

90%

Documents for training

10000