Discussion technique : Traitement efficace des factures grâce à l'automatisation de l'OCR

Les factures sont au cœur de l'activité commerciale, qu'il s'agisse de B2B ou de B2C. Chaque entreprise doit traiter des factures de différents volumes provenant de ses fournisseurs.

Pour nos clients et leurs équipes de comptabilité fournisseurs, les factures étaient à la fois une ressource et un obstacle. Leur défi consistait à traiter de nombreux fichiers PDF et à saisir manuellement les détails des factures dans leur système, une tâche extrêmement chronophage et redondante.

Nous avons entrepris de construire un logiciel capable d'automatiser et d'accélérer cette tâche en utilisant la technologie de reconnaissance optique de caractères (OCR). En d'autres termes, la capacité de l'IA à reconnaître le texte présent dans les documents. Cette technologie devrait s'avérer utile dans de nombreux cas d'utilisation pour diverses industries qui traitent beaucoup de données et de documents.

Outils existants

Sur le marché, il existe plusieurs projets de traitement des factures. Nous avons décidé d'explorer ce domaine en premier lieu afin d'évaluer les principaux outils disponibles. Malgré plusieurs projets, nous n'avons pas pu conclure à l'existence d'un outil capable de montrer simultanément :

  • un niveau suffisant de précision de lecture,

  • un niveau suffisant de flexibilité des modèles,

  • et un niveau de personnalisation suffisant pour répondre aux besoins de nos clients.

Pour répondre à ce besoin, nous avons développé notre propre solution.

La solution OCR

Nous avons développé un outil permettant de traiter les factures reçues sous forme de PDF ou d'image. Le premier obstacle était la capacité d'extraire le champ exact nécessaire, qui pouvait être de différentes formes. Pensez à une date, par exemple. Elle peut avoir plusieurs formats, tels que jj/MM/aaaa, jj/mm/aaaa, aa/mm/jj, ou être écrite avec des lettres. Nous avons commencé par définir des expressions régulières pour chaque champ afin de résoudre ce problème. Mais cela n'a pas suffi. Vous pouviez avoir différentes dates sur les factures - date de naissance, date de facturation, date d'échéance, date de rappel, etc.

Nous avons décidé de minimiser ce problème en incluant une deuxième couche logique. Nous pouvons supposer certaines règles pour toutes les dates identifiées afin de trier et d'étiqueter les dates candidates. Par exemple, si la date identifiée est la plus ancienne et qu'elle se situe à des dizaines d'années de la date actuelle, vous pouvez supposer qu'il s'agit de la date de naissance.

Une fois que nous avons préparé cette action initiale, nous avons constaté que notre résultat ne correspondait pas au niveau de précision que nous souhaitions. Imaginez maintenant que vous puissiez indiquer manuellement sur la facture où se trouve la date de naissance. A ce stade, vous disposez des coordonnées, de l'expression régulière et des règles logiques pour détecter la date de naissance sur un fichier de plusieurs centaines de mots et parfois de plusieurs pages. Appliquez cette logique à chaque champ nécessaire et vous obtenez un modèle qui peut lire presque n'importe quelle facture avec une précision suffisante.

Coordonnées

Cependant, le problème est que notre modèle d'OCR repose sur l'accès aux coordonnées de chaque champ. Nous devons encore identifier et structurer quel morceau de texte se trouve dans quel champ extrait. Cela signifie-t-il que pour chaque facture, nous devons encore enregistrer manuellement toutes les coordonnées de chaque champ ? Heureusement, non.

Notre modèle est facile à utiliser pour l'identification sur le terrain. Il affiche simplement l'image et permet à l'utilisateur de cliquer et de glisser sur la zone spécifique. Supposons que vous ayez dix champs à identifier. Vous répétez cette opération dix fois. Ensuite, pour chaque facture, notre programme reconnaîtra son modèle et vérifiera s'il est référencé dans notre base de données existante. Si c'est le cas, les utilisateurs n'auront plus rien à faire. Dans le cas contraire, ils auront la possibilité d'enregistrer le modèle à l'aide de la méthode décrite précédemment. Voici un exemple de la manière dont nous pouvons identifier les coordonnées dans le modèle :

Résultats

Les résultats de notre modèle sont affichés dans un fichier Excel avec un score de précision et divers signaux d'alerte.

Notre score de précision dépend de la qualité de la numérisation du PDF, de la moyenne pondérée de la notation de la qualité de l'OCR et de la présence ou de l'absence de caractères non valides. Par exemple, des chiffres dans un nom. Les drapeaux d'avertissement permettent une supervision humaine rapide. Nos avertissements portent sur la qualité de la numérisation, l'identification de champs non cohérents potentiels ou de montants non valides. Dans le cas présent, nous avons inclus un indicateur pour le montant total des valeurs aberrantes par rapport à la distribution des fichiers de lots.

Enfin, cet excel peut être revu par une personne pour détecter d'éventuelles incohérences. La principale valeur ajoutée de notre projet OCR est le gain de temps qu'il permet. Cependant, l'automatisation du traitement des factures peut également réduire les coûts et éliminer les erreurs, ce qui se traduit par une diminution des obstacles et une augmentation de la productivité.

Ce qui aurait dû prendre des heures peut maintenant être lancé et fonctionner pendant que vous travaillez sur un autre projet ou que vous prenez une pause café bien méritée pour lire un autre article sur Agilytic !

Précédent
Précédent

Team Quest : Développer une solution de pointe en seulement 9 heures

Suivant
Suivant

Réflexion sur le stage : L'expérience de Maxime à Agilytic