Homepage > Journal > Which OCR for invoices? We test ABBYY FlexiCapture
Journal

Which OCR for invoices? We test ABBYY FlexiCapture

How you like that:

Solutions that allow document recognition through artificial intelligence (AI) are becoming increasingly popular because we save a significant amount of time thanks to them. One of the popular choices for Entrepreneurs is ABBYY FlexiCapture. I tested it with other members of The Story. How good is the popular OCR (Optical Character Recognition), which has been developed to improve accounting systems?

Let's start with important information: the system doesn't work "straight out of the box." It requires the configuration and creation of an appropriate data infrastructure.

System configuration is complicated. This is due to the enormity of available parameters and adaptability, as well as the need to configure additional environments, such as input databases, for the proper functioning of the OCR system.

A photo of the main reception at the ABBYY headquarters
The headquarters of the Russian company ABBYY which was founded in 1989 by David Yang. | Source: pl.m.wikipedia.org
OCR (Optical Character Recognition) — a set of techniques or software for recognizing characters and entire texts in a raster graphic file (bitmap).

The system must have access to the existing database of authorized contractors, orders, shopping items, etc. To everything that is needed to ensure the correct operation of reading algorithms and gain even greater insights into the company's purchases.

The main assumption of the OCR system is that the delegated person should participate in the entire workflow. Their task is to verify the results of the system as well as continuously make improvements to the machine learning processes.

Are you looking for a Web Development Company?

OCR for Invoices — processing. Proof of Concept for the ABBYY solution

We allocated two business days for the invoice OCR test. The test was conducted using a collection of 15 scanned and 20 traditionally generated Polish invoices.

We can test the machine learning system with a more extensive data set, i.e., about five thousand invoices and a person who, with considerable effort, teaches the algorithm using a special tool that supports machine learning.

ABBYY FlexiCapture - OCR test for invoices
ABBYY FlexiCapture needs training based on a database and the assistance of an operator. | Source: Pixabay.com

In this OCR test, we used the ABBYY FlexiCapture solution.

FlexiCapture is available in a server version, but it's possible to host it in the AB cloud. Hosting in the cloud eliminates maintenance costs and the need to update the software.

Method of analysis

Due to the complexity of the application, and the large amount of work needed to configure the test environment, I chose exploratory testing as the main analytical method.

Subject of analysis

Enterprise software — software that solves a business problem, which is characterized by, among others, security, scalability, and modularity.

The analysis uses the cloud version of FlexiCapture software on an R2 engine — enterprise software for OCR containing semi-structured documents, the addition of which facilitates the recognition of invoices from Europe.

Machine learning is used for invoice OCR systems
Machine learning plays a huge role in ABBYY FlexiCapture's operation. The solution proves useful as the program has many clients. | Source: pl.m.wikipedia.org

Test plan

The planned OCR tests were divided into the following groups:

  • Environment configuration.
  • Machine learning mechanisms.
  • Invoice recognition.
  • Recognition of other documents.
  • Exporting data (e.g., personal data on the invoice).
  • API communication.

All OCR tests were performed using the following environments:

  • Windows 10 Home (Version 1903).
  • 16 GB RAM.
  • Intel Core i7 2.80 GHz.

Tasks were carried out with the following software:

  • FC in the Cloud version.
  • FC Administrator Station.

Database:

  • Microsoft SQL Server Express 2017.
A robot on the background of the board with mathematical formulas
Full testing of the ABBYY FlexiCapture machine learning system is possible with a large data set. | Source: Mike MacKenzie / Flickr.com

OCR for Invoices: machine learning mechanisms

ABBYY FlexiCapture uses machine learning mechanisms to extract data from images.

Like any AI of this type, FlexiCapture needs training by a database and with the help of an operator who indicates to the artificial intelligence where the particular data is in the image. Teaching in this way always happens in two stages.

Firstly, we "throw" the invoice to OCR, verify and correct it, and finally forward it to AI. Secondly, the system operator must pair the data or improve recognition of the document in a special learning tool.

The tool is simple and effective — data can be selected both from the image level and from the level of read data. This allows you to quickly find errors and make corrections.

The last stage allows the operator to choose which of the corrected invoices should be transferred for AI training.

In my opinion, leaving the decision to the operator makes sense: not every correction results from the lack of an AI pattern. Many factors, such as image quality and ambient light during scanning, can cause errors in reading.

Let's not forget, FlexiCapture is also characterized by extensive logic designed to recognize patterns typical for invoices, such as the VAT ID.

An illustration of invoice payment
ABBYY FlexiCapture is doing well, including the reading of document dates. | Source: PublicDomainPictures.ne

Document: online recognition

The team used the following sets of documents for invoice recognition tests:

  • 15 Polish invoices traditionally scanned
  • 20 Polish invoices traditionally generated.

The recognition was tested in terms of detecting the following elements of the document:

  1. Buyer and seller details on invoices, including tax identification number.
  2. Document Date.
  3. Document Number.
  4. Total Purchase Amount.
  5. Shopping Items on the document.
  6. VAT Rates.
  7. Bank Account Number.

Recognition of contractors' online data by OCR

The personal data of contractors were found without major problems (100% effectiveness) as long as they were in the database. FlexiCapture looks for contractors' data within the company's database on the invoice image and returns the data from the database after recognition.

A keyboard, computer mouse, pendrive, pens, documents and coffee cup on a desk
ABBYY FlexiCapture is convenient for many offices. | Source: Pixabay.com

How the OCR system recognizes invoice issue dates

The date of issue on documents was read correctly 90% of the time. Dates containing the name of the month caused particular problems, e.g., May 5, 2019, where it was necessary to manually indicate the area with the date.

After the operator indicates the area, the data is read correctly every time.

Invoice scanning: invoice numbers, i.e., integration with OCR

ABBYY FlexiCapture did not always detect invoice numbers the first time. But after indicating where the invoice number was on the document, FlexiCapture succeeded with no problems. On 35 documents the program achieved a score of 90% on the second attempt.

Only in 10% of cases the AI could not be trained properly. This is probably related to having a small amount of training data to work with.

A tablet, notebook, pen, keyboard and a phone on a desk
Sometimes ABBYY FlexiCapture requests confirmation of the correctness of the amount read due to image quality. | Source: Pixabay.com

OCR for Invoices: Shopping items

The items on the document were detected with decent accuracy. In 80% of test cases, the individual items were read almost perfectly.

Although, the system was not always able to correctly divide the data into columns, and there were also typos resulting from image quality or typeface. However, the results were improved with the help of AI training tools.

The test environment was not integrated with the ordering system and the shopping items database, which is why the system was completely relying on data from OCR. I believe that if the bases were connected, the results would improve significantly.

Detection of VAT rates in the OCR system

90% of VAT rates were detected correctly by the system. As with other elements, machine learning was able to significantly improve the results on subsequent documents of contractors — even with such a small set of documents.

A keyboard, computer mouse, pendrive, pens, documents and coffee cup on a desk
Detecting VAT rates is one of the elements of ABBYY software. | Source: Marco Verch / Flickr.com

Improvement of accounting systems: bank account number

The FlexiCapture program's bank account number recognition was correct 70% of the time without any additional learning.

Scanning and processing. How ABBYY OCR detects information on invoices

Just a quick reminder that together with the team, I performed the tests using a collection of 15 scanned and 20 traditionally generated Polish invoices.

The results of this quick test showed that ABBYY OCR detects information on invoices as follows:

  1. Buyer and seller details on invoices: 90%
  2. Document date: 90 percent (after the intervention of the operator: 100%)
  3. Document number: 90%
  4. Total purchase amount: 90%
  5. Shopping items on the document: 80%
  6. VAT rates: 90%
  7. Bank account number: 70%

However, in a few cases, the results would have been better if the system had received more training data and the test lasted longer. The rating would also be improved if the AI had access to more data about the company.

REST (Representational State Transfer) — a style of software architecture that is based on a set of predefined rules. These rules describe how resources are defined and also allow access to them.

I will also add that the features of the FlexiCapture program are not limited to reading invoices. It also has powerful data validation and configuration mechanisms. It can be used to read any documents, such as forms, surveys, ballots, etc. FlexiCapture can process anything with a determined structure.

API (Application Programming Interface) — a set of rules that define communication between computer programs.

In addition, ABBYY allows integration with any IT solution using the REST API.
 
Hero shot: PxHere.com

How you like that:
Journal / JPG / Jarek - avatar
Author: Yaroslav Shatkevich
A programmer with 17 years of experience. Co-founder and CTO of The Story. Fascinated with planning programming works, author of numerous IT and DevOps specifications. Honored by Awwwards, awarded iF Design Award 2018. He works in Python, PHP, React and JavaScript technologies. He created over 90 web and mobile applications and dedicated systems.

Are you interested in working with us? Take a look at our Portfolio