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 they save us a significant amount of time. One popular choice for entrepreneurs is Russian 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 and overall business processes?

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. Everything is done 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 system's results and continuously make improvements to the machine learning processes.

Are you looking for a Web Development Company?

ABBYY — Russian company or US-based company?

Our article was written in 2019, and due to changes to the geopolitical situation in the world, some additional information should be provided.

ABBYY Production LLC was founded in Moscow in 1989 and has been a known Russian business specializing in digital transformation, artificial intelligence, natural language processing technologies, machine learning, intelligent document processing, and generally understood intelligent automation.

Due to the Russian invasion of Ukraine, we now find on ABBYY's website information stating that it closed its operation on the Russian market and filed for liquidation of its legal entities. It has ceased sales, development, or service provision in Russia and Belarus. Currently, ABBYY describes itself as a US-based business (headquarters in Delaware) with Marlin Equity Partners as its largest shareholder.

At present, the ABBYY group employs over 1,000 employees worldwide. It provides its services in the following countries: the United States, Germany, the United Kingdom, France, Spain, Cyprus, Serbia, Ukraine, Taiwan, Hong Kong, Singapore, Hungary, Australia, and Japan.

The list of ABBYY customers includes, among others, McDonald's, Simens, Volkswagen, and Deloitte.

Apart from FlexiCapture, ABBYY solutions include the following: ABBYY FineReader PDF, ABBYY Marketplace, ABBYY OCR Container, ABBYY Vantage, ABBYY Timeline process analysis, and more.

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.

An image of multiple devices connected with each other and with robots on their display screens
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 can also be hosted in the AB cloud. Hosting in the cloud eliminates maintenance costs and the need to update the software.

Method of analysis

Due to the application's complexity and the extensive work needed to configure the test environment, I chose exploratory testing as the main analytical method.

Subject of analysis

Enterprise software is software that solves a business problem and is characterized by 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.

A picture of a machine connected to a brain in a water container
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
Complete 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 the document's recognition 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, allowing you to find errors and make corrections quickly.

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 that 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 performing well, including the functionality of reading 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 issue date on documents was read correctly 90% of the time. Dates containing the month's name caused particular problems, e.g., May 5, 2019, where it was necessary to indicate the area with the date manually.

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 consistently detect invoice numbers the first time. However, after indicating where the invoice number was on the document, FlexiCapture succeeded with no problems. On 35 documents, the program scored 90% on the second attempt.

Only in 10% of cases the AI could not be adequately trained. 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, 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, so the system relied entirely on OCR data. I believe that if the bases were connected, the results would improve significantly.

Detection of VAT rates in the OCR system

The system correctly detected 90% of VAT rates. As with other elements, machine learning significantly improved the results on subsequent contractors' documents—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 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% (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 through, for example, corporate search capability.

REST (Representational State Transfer) — a software architecture style 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 FlexiCapture program's features are not limited to reading invoices. It also has powerful data validation and configuration mechanisms. It can read any document, such as forms, surveys, ballots, etc. FlexiCapture can process anything with a determined structure. Thus, it's not only dedicated to solving a singular business process.

API (Application Programming Interface) is a set of rules defining 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