A new module for a better invoicing 

We created the Sorting Invoicing module which was designed in order to meet the needs of one of our partners, Belgian restaurant chain (which includes: Ultime atome or Yababa, etc.) with the objective of simplifying their accounting operations. As a matter of fact, it allows the financial department to automatically sort their suppliers’ invoices in predefined categories (e.g. to recognize automatically which company of your group is concerned by such invoice).

The general flow of information can be described as follows:

How does it work ?

First, the different suppliers’ invoices are received by a central mailbox, which is connected to the Odoo “documents” module. Moreover, each invoice is automatically stored in the database once submitted.

Afterwards, the customized Python program interacts with the Odoo database and takes as inputs all the current invoices that need to be processed (which is represented by a tag). To trigger the process, we once again coded a button to interact with the Python’s program, which simplifies the use of the algorithm.

Once triggered, the program starts with the scanning of the invoice (it supports multiple documents’ format such as .pdf, .docx, and also scanned documents) and then performs some text processing operations. Finally, it searches for the VAT number of the existing companies encoded in the database and sorts the invoices in the related company’s folder.

The benefits of this implementation

As a result of this implementation, there is a huge time-saving factor and human errors avoidance. In fact, before this module, a company’s employee had to manually sort the different invoices received by first opening them, and then classifying them in the related folder. Now, the worker only has to select the invoices he/she desires to process, and then click on the designed button in the Odoo interface. After waiting a couple of seconds, the job is done.

The limits of this interface

Regarding the limits of this module, those are mostly related to bad VAT manipulations. For example, as explained before, if the supplier makes a mistake in the invoice concerning the VAT number of the specific restaurant it was addressed to, it will raise an error. But if a correct VAT number is entered in the invoice, the program finds it at a 99% rate (fails only if the invoice is a badly scanned version of the original document).

Nevertheless, this new module was already successfully implemented on the Belrest (Belgian Horeca Management) Odoo database.