
Extraire est facile ; savoir que l'extraction était fausse est l'exigence
Les factures arrivent dans n'importe quelle mise en page qu'un fournisseur invente. Les lire est un travail mécanique qui prend la matinée d'un comptable et produit un tableau déjà sur la page.
Le danger n'est pas que l'extraction échoue de façon évidente. C'est qu'elle réussisse de façon acceptable : 1 240 plutôt que 1 420, dans un document que personne ne revérifie parce que le total global était correct.
C'est pourquoi l'arithmétique est un contrôle, pas une étape de mise en forme. Les lignes doivent s'additionner au sous-total indiqué. La taxe doit correspondre au taux de la juridiction. Sous-total plus taxe doit égaler le total. Si une facture échoue à l'un de ces contrôles, elle a été mal lue ou elle est fausse. Dans les deux cas, une personne doit s'en occuper.
La devise et la date sont les champs le plus souvent présumés. Si une facture dans une seconde devise est passée au mauvais taux, l'erreur ne se trouve qu'à la réconciliation, des semaines plus tard.
Comment l'ActionFlow s'exécute sur le canevas
Les factures arrivent en PDF par un nœud Email qui lit la boîte comptable, ou par un nœud Document Upload lorsque quelqu'un dépose un document directement.
Un nœud Extract Data sélectionne les pages qui portent les lignes dans un document de plusieurs pages. Un nœud PDF4me extrait le contenu du document. Les deux s'exécutent avant qu'un modèle ne voie le fichier.
Un nœud Generate Object renvoie le fournisseur, le numéro de facture, la date, la devise, un tableau de lignes, les lignes de taxe et les totaux indiqués. Chaque champ vient du document ou reste vide. Rien n'est inféré.
Un nœud Math lance ensuite les contrôles : lignes contre sous-total, taxe contre taux, et sous-total plus taxe contre le total. Ces contrôles sont dans un nœud de calcul pour que le modèle ne vérifie pas sa propre lecture.
Un nœud Validate applique des règles de format : format de date, code devise, et champs obligatoires. Un nœud If agit ensuite sur le résultat combiné.
Les factures propres vont à un nœud PostgreSQL ou Google Sheets comme lignes passées. Les factures qui échouent à un contrôle vont à un nœud Slack dans la catégorie Human in the Loop, avec la ligne en échec nommée, pour que le réviseur regarde un chiffre plutôt que tout le document.
Un nœud Google Sheets consigne chaque extraction et le résultat du contrôle. Ce journal est la façon dont vous apprenez qu'un format d'un fournisseur casse le processus chaque mois.
Nœuds utilisés par cet ActionFlow
- Email (Communication) : lit la boîte comptable. Document Upload (Data) prend les dépôts directs.
- PDF4me (Data) : extrait le contenu du document.
- Extract Data (Data) : réduit les documents longs aux pages qui portent les lignes.
- Generate Object (AI Core) : renvoie fournisseur, numéro, date, devise, lignes et totaux sous forme de structure.
- Math (Util) : contrôle les lignes contre le sous-total, la taxe contre le taux, et le total indiqué.
- Validate (Data) : applique les règles de format et les champs obligatoires.
- Slack (Human in the Loop) : envoie les factures en échec avec la ligne en échec nommée.
- PostgreSQL (Data) : reçoit les lignes propres. Google Sheets et MySQL occupent le même emplacement.
Questions fréquentes
Newsletter
Recevoir les mises à jour produit
Nouveaux nœuds, agents et notes produit. Nous n'envoyons un e-mail que lorsqu'il vaut la peine de l'ouvrir.