Automatiser la saisie des factures dans Dolibarr avec OCR et Deep Learning

Sommaire

Introduction

Même dans les petites entreprises, la saisie des factures d’achat et des notes de frais représente une charge de travail significative. Cela représente plusieurs heures de travail par mois simplement pour saisir les données d’un document papier ou électronique dans le logiciel de gestion ou comptable.

Avec les évolutions technologiques récentes, il devient envisageable d’automatiser une bonne partie de ce travail.

Est-ce que cette tâche pourrait-être faite de manière plus efficace ?
Digitalisation réduction des coûts
John Doe
chef d'entreprise

Habituellement, la numérisation d’une facture suit ces 3 étapes :

  1. Convertir le document dans un format numérique :
    • Scanner le document et l’enregistrer au format PDF
    • Prendre une photo avec un mobile, envoyer la photo
  2. Extraire les informations :
    • Saisie humaine des informations de la facture dans un logiciel, relecture pour éviter les erreurs…
    • Si vous disposez de moyens conséquents : utilisation d’un système d’OCR avec intervention humaine pour repérer les zones (fournisseur, lignes de détail, sous-totaux, TVA…).
  3. Stockage des données :
    • base de données
    • Excel
    • ERP (Dolibarr)
    • logiciel comptable

Pourquoi numériser les factures ou les notes de frais ?

Le traitement des factures et des notes de frais représentent un poste de dépense important dans les entreprises.

 

1
heures de saisie / mois
1 %
factures au format papier
1
coût moyen mensuel du traitement des factures

Généralement, les objectifs recherchés sont les suivants :

  • Automatiser le traitement : l’automatisation représente un enjeu dès lors qu’un certain volume de factures est atteint. Elle permet, en effet, d’accélérer le traitement et donc d’augmenter la productivité.
  • Augmenter l’efficacité : la numérisation permet de réduire les coûts de traitement des factures. Les ressources humaines et financières économisées peuvent être consacrées à d’autres tâches.
  • Améliorer la fiabilité : le stockage numérique permet de classer les factures reçues de manière systématique et au bon endroit. La recherche d’information est facilitée.

Une rupture technologique : OCR et deep learning

Les progrès réalisés dans le domaine de l’intelligence artificielle (IA) et plus particulièrement dans une de ses branches permet, aujourd’hui, de concevoir des systèmes de classement et de reconnaissance automatisés.

L’OCR (reconnaissance optique de caractères) existe depuis quasiment 1 siècle. Ainsi la Poste américaine utilise des systèmes d’OCR de tri du courrier depuis les années 1960 !

Comment améliorer les systèmes actuels ?

Depuis plusieurs années, les entreprises ont adopté la numérisation comme système de stockage. Le processus est le suivant :

  • la version digitale est obtenue par l’utilisation d’un scanner
  • le document est relié à un enregistrement dans une base de données ou un ERP.
  • un opérateur effectue la saisie manuellement
  • Vérification pour éviter les erreurs
  • Puis les éléments nécessaires au règlement du fournisseur sont envoyés au service concerné.

La numérisation 4.0

En fusionnant les approches classiques à base d’OCR avec les solutions innovantes de deep learning, les entreprises deviennent capables d’automatiser le process de la phase de numérisation jusqu’à celle de saisie dans l’ERP.

L’approche est alors la suivantes :

  • scanner l’image (y compris avec un smartphone)
  • Uploader l’image sur l’application de classement (backend)
  • Le backend de classement effectue l’extraction des données et les insère dans l’ERP directement
  • Un opérateur vérifie le résultat.

La solution proposée

Tout d’abord, ce que nous allons vous décrire représente les travaux que nous menons. La solution dans son ensemble est en cours de construction.

Elle comprend 3 parties distinctes :

  • une application mobile basée sur le framework IONIC et disponible en PWA (personal Web App).
  • un back end permettant d’effectuer les traitements de classements et de reconnaissance
  • une api web permettant à un ERP (par exemple Dolibarr ou Odoo) de récupérer les données permettant de créer une facture.
Numérisation facture OCR Deep learning

L'application mobile (Personal Web App) : DoliCalendar

Le choix du framework IONIC pour le développement de l’application mobile est assez naturel. D’abord, il est open source et libre, ses évolutions récentes permettent de développer en Angular et surtout il support désormais le standard Personal Web App.

Elle utilise les Rest Api de Dolibarr pour la consultation et la modification des données de l’ERP.

L’application fournit les services suivants :

  • consultation, création, modification des tâches
  • consultation des factures client impayées
  • consultation, création des factures d’achat à payer
  • création des notes de frais

Quelques explications techniques...

Pour obtenir la liste des tâches de l’utilisateur dans Dolibarr, nous utilisons le Rest Api standard. Nous avons donc créé un service Angular qui est chargé de récupérer les données. Dans ce service, nous créons une fonction qui appelle le Rest API de Dolibarr pour charger les tâches de l’utilisateur de l’application mobile. Nous utilisons le même principe pour les notes de frais et les factures d’achat.

chargement taches Rest Api Dolibarr

Concernant la gestion des notes de frais ou des factures d’achat, nous avons implémenté une fonction permettant de scanner les factures au format papier ou les tickets justificatifs.

Cette fonction utilise le module Capacitor d’Ionic qui permet d’accéder aux capteurs du smartphone. Voici comment nous l’avons implémenté :

Tout d’abord, nous déclarons le capacitor :

Déclaration Capacitor Ionic Camera

Puis nous créons une fonction asynchrone qui va nous permettre de prendre une photo :

code utilisation appareil photo comme scanner

Puis dans la vue Html, nous créons un template qui va nous permettre de visualiser la photo avant de l’uploader vers le back end.

Code pour afficher la photo du ticket scanner

Pour scanner un ticket ou une facture, il suffit alors d’utiliser un simple smartphone. Le ticket est ensuite enregistré dans le back end pour traitement.

Scanner ticket restaurant Dolibarr

Description du backend

Le backend est un ensemble de traitements qui vont nous permettre d’effectuer les opérations nécessaires à l’extraction et l’interprétation des données. Avant d’entrer plus en détail, voici un rapide aperçu de ce qu’il doit faire :

Digitalisation ticket note de frais

Le système prend en entrée une image et va appliquer des traitements successifs :

  • mise au format de l’image : cette étape consiste à passer l’image en niveau de gris et à détecter les bords.
  • Détection des zones : le traitement a pour fonction de détecter les zones d’intérêt d’une facture ou d’un ticket (le fournisseur, la date d’opération, le montant total, la TVA, le numéro de facture ou de ticket…)
  • OCR : il s’agit pour chaque zone d’intérêt d’effectuer la reconnaissance de caractères
  • Mise en forme des données : l’objectif étant d’automatiser la saisie, il convient de créer un objet qui permettra d’enregistrer les données dans l’ERP.

La suite dans quelques semaines…

RSS
Follow by Email
LinkedIn
Share