Dans le paysage commercial actuel, les organisations recherchent constamment des moyens d'optimiser leurs processus financiers, d'améliorer leur efficacité et de réaliser des économies. Un domaine qui présente un potentiel d’amélioration important est celui des comptes créditeurs. À un niveau élevé, le processus des comptes créditeurs comprend la réception et la numérisation des factures, l'extraction des données pertinentes des factures numérisées, la validation, l'approbation et l'archivage. La deuxième étape (extraction) peut être complexe. Chaque facture et reçu sont différents. Les étiquettes sont imparfaites et incohérentes. Les informations les plus importantes telles que le prix, le nom du fournisseur, son adresse et les conditions de paiement ne sont souvent pas explicitement étiquetées et doivent être interprétées en fonction du contexte. L’approche traditionnelle consistant à faire appel à des examinateurs humains pour extraire les données prend du temps, est sujette aux erreurs et n’est pas évolutive.
Dans cet article, nous montrons comment automatiser le processus des comptes fournisseurs à l'aide de Extrait d'Amazon pour l'extraction de données. Nous fournissons également une architecture de référence pour créer un pipeline d'automatisation des factures qui permet l'extraction, la vérification, l'archivage et la recherche intelligente.
Vue d'ensemble de la solution
Le diagramme d'architecture suivant montre les étapes d'un workflow de traitement des reçus et des factures. Cela commence par une étape de capture de documents pour collecter et stocker en toute sécurité les factures et reçus numérisés. L'étape suivante est la phase d'extraction, où vous transmettez les factures et les reçus collectés à Amazon Textract. AnalyzeExpense
API pour extraire les relations financières entre le texte, telles que le nom du fournisseur, la date de réception de la facture, la date de la commande, le montant dû, le montant payé, etc. À l'étape suivante, vous utilisez des règles de dépenses prédéfinies pour déterminer si vous devez automatiquement approuver ou rejeter le reçu. Les documents approuvés et rejetés sont placés dans leurs dossiers respectifs dans le Service de stockage simple Amazon (Amazon S3). Pour les documents approuvés, vous pouvez rechercher tous les champs et valeurs extraits en utilisant Service Amazon OpenSearch. Vous pouvez visualiser les métadonnées indexées à l'aide des tableaux de bord OpenSearch. Les documents approuvés sont également configurés pour être déplacés vers Hiérarchisation intelligente d'Amazon S3 pour la conservation et l'archivage à long terme à l'aide des politiques de cycle de vie S3.
Les sections suivantes vous guident tout au long du processus de création de la solution.
Pré-requis
Pour déployer cette solution, vous devez disposer des éléments suivants :
- Un compte AWS.
- An AWSCloud9 environnement. AWS Cloud9 est un environnement de développement intégré (IDE) basé sur le cloud qui vous permet d'écrire, d'exécuter et de déboguer votre code avec un simple navigateur. Il comprend un éditeur de code, un débogueur et un terminal.
Pour créer l'environnement AWS Cloud9, fournissez un nom et une description. Gardez tout le reste par défaut. Choisissez le lien IDE sur la console AWS Cloud9 pour accéder à l'IDE. Vous êtes maintenant prêt à utiliser l'environnement AWS Cloud9.
Déployez la solution
Pour mettre en place la solution, vous utilisez le Kit de développement AWS Cloud (AWS CDK) pour déployer un AWS CloudFormation association.
- Dans votre terminal IDE AWS Cloud9, clonez le GitHub référentiel et installez les dépendances. Exécutez les commandes suivantes pour déployer le
InvoiceProcessor
empiler:
Le déploiement prend environ 25 minutes avec les paramètres de configuration par défaut du dépôt GitHub. Des informations de sortie supplémentaires sont également disponibles sur la console AWS CloudFormation.
- Une fois le déploiement AWS CDK terminé, créez des règles de validation des dépenses dans un Amazon DynamoDB tableau. Vous pouvez utiliser le même terminal AWS Cloud9 pour exécuter les commandes suivantes :
- Dans le compartiment S3 qui commence par
invoiceprocessorworkflow-invoiceprocessorbucketf1-*
, créez un dossier de téléchargement.
In Amazon Cognito, vous devriez déjà disposer d'un groupe d'utilisateurs existant appelé OpenSearchResourcesCognitoUserPool*
. Nous utilisons ce pool d'utilisateurs pour créer un nouvel utilisateur.
- Sur la console Amazon Cognito, accédez au groupe d'utilisateurs
OpenSearchResourcesCognitoUserPool*
. - Créez un nouvel utilisateur Amazon Cognito.
- Fournissez un nom d'utilisateur et un mot de passe de votre choix et notez-les pour une utilisation ultérieure.
- Télécharger les documents facture_aléatoire1 ainsi que les facture_aléatoire2 au S3
uploads
dossier pour démarrer les workflows.
Passons maintenant à chacune des étapes du traitement des documents.
Capture de document
Les clients traitent les factures et les reçus dans une multitude de formats provenant de différents fournisseurs. Ces documents sont reçus via des canaux tels que des copies papier, des copies numérisées téléchargées sur le stockage de fichiers ou des périphériques de stockage partagés. Lors de l'étape de capture de documents, vous stockez toutes les copies numérisées des reçus et des factures dans un stockage hautement évolutif tel que dans un compartiment S3.
extraction
L'étape suivante est la phase d'extraction, où vous transmettez les factures et les reçus collectés à Amazon Textract. AnalyzeExpense
API pour extraire les relations financières entre le texte, telles que le nom du fournisseur, la date de réception de la facture, la date de commande, le montant dû/payé, etc.
Analyser les dépenses est une API dédiée au traitement des documents de factures et de reçus. Il est disponible sous forme d'API synchrone ou asynchrone. L'API synchrone vous permet d'envoyer des images au format octets et l'API asynchrone vous permet d'envoyer des fichiers aux formats JPG, PNG, TIFF et PDF. Le AnalyzeExpense
La réponse de l'API se compose de trois sections distinctes :
- Champs récapitulatifs – Cette section comprend à la fois les clés normalisées et les clés explicitement mentionnées ainsi que leurs valeurs.
AnalyzeExpense
normalise les clés pour les informations relatives aux contacts telles que le nom et l'adresse du fournisseur, les clés liées à l'identification fiscale telles que l'ID du contribuable, les clés liées au paiement telles que le montant dû et la remise, et les clés générales telles que l'ID de facture, la date de livraison et numéro de compte. Les clés qui ne sont pas normalisées apparaissent toujours dans les champs récapitulatifs sous forme de paires clé-valeur. Pour une liste complète des champs de dépenses pris en charge, reportez-vous à Analyse des factures et des reçus. - Éléments de campagne – Cette section comprend des clés d'article normalisées telles que la description de l'article, le prix unitaire, la quantité et le code produit.
- Bloc OCR – Le bloc contient l’extrait de texte brut de la page de facture. L'extrait de texte brut peut être utilisé pour le post-traitement et l'identification des informations qui ne sont pas couvertes dans les champs de résumé et de poste.
Ce message utilise le Constructions CDK Amazon Textract IDP (Composants AWS CDK pour définir l'infrastructure des flux de travail de traitement intelligent des documents (IDP)), qui vous permet de créer des flux de travail IDP personnalisables et spécifiques à un cas d'utilisation. Les constructions et les exemples sont un ensemble de composants permettant de définir des processus IDP sur AWS et publiés sur GitHub. Les principaux concepts utilisés sont les constructions AWS CDK, les Piles AWS CDKet la Fonctions d'étape AWS.
La figure suivante montre le flux de travail Step Functions.
Le workflow d'extraction comprend les étapes suivantes :
- InvoiceProcessor-Décideur - Un AWS Lambda fonction qui vérifie si le format du document d'entrée est pris en charge par Amazon Textract. Pour plus de détails sur les formats pris en charge, reportez-vous à Documents d'entrée.
- Séparateur de documents – Une fonction Lambda qui génère des morceaux de 2,500 XNUMX pages (max) à partir de documents et peut traiter de gros documents de plusieurs pages.
- État de la carte – Une fonction Lambda qui traite chaque morceau en parallèle.
- TexttractAsyncTexttractAsync – Cette tâche appelle Amazon Textract à l'aide de l'API asynchrone suivante les meilleures pratiques comprenant Service de notification simple d'Amazon (Amazon SNS) notifications et utilisations
OutputConfig
pour stocker la sortie Amazon Textract JSON dans le compartiment S3 que vous avez créé précédemment. Il se compose de deux fonctions Lambda : une pour soumettre le document pour traitement et une qui est déclenchée sur la notification SNS. - TextAsyncToJSON2 - Parce que le
TextractAsync
la tâche peut produire plusieurs fichiers de sortie paginés, leTextractAsyncToJSON2
Le processus les combine en un seul fichier JSON.
Nous discutons des détails des trois prochaines étapes dans les sections suivantes.
Vérification et approbation
Pour l'étape de vérification, le SetMetaData
La fonction Lambda vérifie si le fichier téléchargé est une dépense valide selon les règles configurées précédemment dans la table DynamoDB. Pour cet article, vous utilisez les exemples de règles suivants :
- La vérification est réussie si
INVOICE_RECEIPT_ID
est présent et correspond à l'expression régulière(?i)[0-9]{3}[a-z]{3}[0-9]{3}$
ainsi que les ifPO_NUMBER
est présent et correspond à l'expression régulière(?i)[a-z0-9]+$
- La vérification échoue si l'un ou l'autre
PO_NUMBER
orINVOICE_RECEIPT_ID
est incorrect ou manquant dans le document.
Une fois les fichiers traités, la fonction de vérification des dépenses déplace les fichiers d'entrée vers approved
or declined
dossiers dans le même compartiment S3.
Pour les besoins de cette solution, nous utilisons DynamoDB pour stocker les règles de validation des dépenses. Cependant, vous pouvez modifier cette solution pour l'intégrer à vos propres solutions de validation ou de gestion des dépenses ou à celles des entreprises.
Index et recherche intelligents
Avec la OpenSearchPushInvoke
Fonction Lambda, les métadonnées de dépenses extraites sont poussées vers un index OpenSearch Service et sont disponibles pour la recherche.
Le final TaskOpenSearchMapping
Cette étape efface le contexte, qui autrement pourrait dépasser le Quota des fonctions d'étape de la taille maximale d'entrée ou de sortie pour une tâche, un état ou une exécution de flux de travail.
Une fois l'index OpenSearch Service créé, vous pouvez rechercher des mots-clés à partir du texte extrait via les tableaux de bord OpenSearch.
Archivage, audit et analyse
Pour gérer le cycle de vie et l'archivage des factures et des reçus, vous pouvez configurer les règles de cycle de vie S3 pour faire passer les objets S3 des classes de stockage Standard aux classes de stockage Intelligent-Tiering. S3 Intelligent-Tiering surveille les modèles d'accès et déplace automatiquement les objets vers le niveau d'accès peu fréquent lorsqu'ils n'ont pas été consultés pendant 30 jours consécutifs. Après 90 jours sans accès, les objets sont déplacés vers le niveau Archive Instant Access sans impact sur les performances ni surcharge opérationnelle.
Pour l'audit et l'analyse, cette solution utilise OpenSearch Service pour exécuter des analyses sur les demandes de facture. OpenSearch Service vous permet d'ingérer, de sécuriser, de rechercher, de regrouper, d'afficher et d'analyser sans effort des données pour un certain nombre de cas d'utilisation, tels que l'analyse de journaux, la recherche d'applications, la recherche d'entreprise, etc.
Connectez-vous aux tableaux de bord OpenSearch et accédez à Gestion de la pile, Objets enregistrés, Puis choisissez L’. Choisissez le factures.ndjson fichier du référentiel cloné et choisissez L’. Cela préremplit les index et crée la visualisation.
Actualisez la page et accédez à Accueil, Tableau de bordet ouvert Factures. Vous pouvez désormais sélectionner et appliquer des filtres et étendre la fenêtre horaire pour explorer les factures passées.
Nettoyer
Lorsque vous avez fini d'évaluer Amazon Textract pour le traitement des reçus et des factures, nous vous recommandons de nettoyer toutes les ressources que vous avez pu créer. Effectuez les étapes suivantes :
- Supprimer tout le contenu du compartiment S3
invoiceprocessorworkflow-invoiceprocessorbucketf1-*
. - Dans AWS Cloud9, exécutez les commandes suivantes pour supprimer les ressources Amazon Cognito et les piles CloudFormation :
- Supprimez l'environnement AWS Cloud9 que vous avez créé à partir de la console AWS Cloud9.
Conclusion
Dans cet article, nous avons fourni un aperçu de la façon dont nous pouvons créer un pipeline d'automatisation des factures à l'aide d'Amazon Textract pour l'extraction de données et créer un flux de travail pour la validation, l'archivage et la recherche. Nous avons fourni des exemples de code sur la façon d'utiliser le AnalyzeExpense
API d'extraction des champs critiques d'une facture.
Pour commencer, connectez-vous à la console Amazon Textract pour essayer cette fonctionnalité. Pour en savoir plus sur les fonctionnalités d'Amazon Textract, consultez le Guide du développeur Amazon Textract or Ressources textuelles. Pour en savoir plus sur l'IDP, reportez-vous à l'IDP avec les services AWS AI Partie 1 ainsi que les Partie 2 messages.
À propos des auteurs
Sushant Pradhan est architecte de solutions senior chez Amazon Web Services, aidant les entreprises clientes. Ses intérêts et son expérience incluent les conteneurs, la technologie sans serveur et DevOps. Dans ses temps libres, Sushant aime passer du temps dehors avec sa famille.
Shibin Michaelraj est chef de produit senior au sein de l'équipe AWS Textract. Il se concentre sur la création de produits basés sur l'IA/ML pour les clients AWS.
Suprakash Dutta est un architecte de solutions principal chez Amazon Web Services. Il se concentre sur la stratégie de transformation numérique, la modernisation et la migration des applications, l'analyse des données et l'apprentissage automatique. Il fait partie de la communauté AI/ML chez AWS et conçoit des solutions intelligentes de traitement de documents.
Maran Chandrasekaran est architecte de solutions senior chez Amazon Web Services, travaillant avec nos entreprises clientes. En dehors du travail, il aime voyager et faire de la moto dans le Texas Hill Country.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- PlatoHealth. Veille biotechnologique et essais cliniques. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/build-a-receipt-and-invoice-processing-pipeline-with-amazon-textract/
- :est
- :ne pas
- :où
- $UP
- 1
- 100
- 25
- 30
- 7
- 8
- 9
- a
- Qui sommes-nous
- accès
- accédé
- Compte
- hybrides
- comptes à payer
- présenter
- Supplémentaire
- propos
- Après
- agrégat
- AI
- Services d'IA
- AI / ML
- Tous
- permet
- le long de
- déjà
- aussi
- Amazon
- Amazon Cognito
- Extrait d'Amazon
- Amazon Web Services
- montant
- an
- analytique
- il analyse
- ainsi que les
- tous
- api
- apparaître
- Application
- Appliquer
- une approche
- approbation
- approuver
- ,
- architecture
- Archive
- SONT
- Réservé
- autour
- AS
- At
- audit
- audit
- automatiser
- automatiquement
- Automation
- disponibles
- AWS
- AWSCloud9
- AWS CloudFormation
- basé
- BE
- car
- était
- jusqu'à XNUMX fois
- Block
- Bootstrap
- tous les deux
- navigateur
- construire
- Développement
- construit
- la performance des entreprises
- by
- appelé
- Appels
- CAN
- capacités
- capturer
- cas
- Voies
- vérifier
- le choix
- Selectionnez
- les classes
- Nettoyage
- le cloud
- Cloud9
- code
- recueillir
- collection
- moissonneuses-batteuses
- commercial
- Communautés
- complet
- complexe
- composants électriques
- concepts
- configuration
- configurée
- consécutif
- consiste
- Console
- constamment
- constructions
- Conteneurs
- contient
- contenu
- contexte
- Prix
- les économies de coûts
- pourriez
- Pays
- couvert
- engendrent
- créée
- La création
- critique
- Clients
- personnalisables
- tableau de bord
- tableaux de bord
- données
- Analyse de Donnée
- Date
- jours
- dévoué
- Réglage par défaut
- Vous permet de définir
- définition
- page de livraison.
- dépendances
- déployer
- déploiement
- la description
- Avec nos Bagues Halo
- détruire
- détails
- Déterminer
- Développeur
- Développement
- Compatibles
- diagramme
- différent
- numérique
- Transformation numérique
- La remise
- discuter
- distinct
- plongeon
- document
- INSTITUTIONNELS
- motivation
- deux
- dutta
- chacun
- Plus tôt
- echo
- éditeur
- efficace
- d'effort
- non plus
- d'autre
- permettre
- permet
- de renforcer
- Entreprise
- Environment
- etc
- évaluer
- peut
- dépassent
- existant
- Développer vous
- d'experience
- explicitement
- explorez
- extrait
- extraction
- famille
- Fonctionnalité
- champ
- Des champs
- Figure
- Déposez votre dernière attestation
- Fichiers
- filtres
- finale
- la traduction de documents financiers
- financièrement
- concentré
- se concentre
- Abonnement
- Pour
- le format
- de
- fonction
- fonctions
- Général
- génère
- obtenez
- Git
- GitHub
- Go
- manipuler
- Dur
- Vous avez
- he
- aider
- Haute
- très
- sa
- détient
- Comment
- How To
- Cependant
- HTML
- http
- HTTPS
- humain
- i
- ID
- identifier
- if
- satellite
- Impact
- importer
- important
- amélioration
- in
- comprendre
- inclut
- incorrect
- indice
- indexé
- index
- d'information
- Infrastructure
- contribution
- installer
- instantané
- intégrer
- des services
- Intelligent
- Traitement intelligent des documents
- intérêts
- développement
- facture
- traitement de facture
- factures
- IT
- jpg
- json
- juste
- XNUMX éléments à
- clés
- mots clés
- Etiquettes
- paysage d'été
- gros
- plus tard
- APPRENTISSAGE
- apprentissage
- Allons-y
- Niveau
- vos produits
- comme
- Gamme
- LINK
- Liste
- enregistrer
- long-term
- Style
- aime
- click
- machine learning
- Entrée
- gérer
- gestion
- manager
- allumettes
- max
- maximales
- mentionné
- Métadonnées
- pourrait
- migration
- Minutes
- manquant
- modifier
- moniteurs
- PLUS
- (en fait, presque toutes)
- moto
- déménagé
- se déplace
- plusieurs
- multitude
- must
- prénom
- NAVIGUER
- Nouveauté
- next
- aucune
- noter
- déclaration
- Notifications
- maintenant
- nombre
- objets
- of
- souvent
- on
- ONE
- ouvert
- opérationnel
- Optimiser
- or
- de commander
- organisations
- autrement
- nos
- l'extérieur
- sortie
- au contrôle
- aérien
- vue d'ensemble
- propre
- page
- payé
- paires
- Parallèle
- partie
- pass
- Mot de Passe
- passé
- motifs
- payeur
- Paiement
- /
- performant
- phase
- pièces
- pipeline
- Platon
- Intelligence des données Platon
- PlatonDonnées
- PO
- politiques
- pool
- Post
- Poteaux
- défaillances
- prédéfini
- représentent
- précédemment
- prix
- processus
- Traité
- les process
- traitement
- produire
- Produit
- chef de produit
- Produits
- fournir
- à condition de
- publié
- des fins
- Poussé
- Quantité
- raw
- solutions
- recettes
- reçu
- recevoir
- recommander
- reportez-vous
- référence
- regex
- Rejeté..
- en relation
- Les relations
- pertinent
- dépôt
- demandes
- Exigences
- Resources
- ceux
- réponse
- rétention
- Rouler
- Courir
- pour le running
- même
- échantillon
- Épargnes
- évolutive
- balayage
- Rechercher
- Deuxièmement
- Section
- les sections
- sécurisé
- en toute sécurité
- recherche
- Sélectionner
- envoyer
- supérieur
- Sans serveur
- service
- Services
- set
- Paramétres
- commun
- devrait
- montrer
- Spectacles
- signer
- significative
- étapes
- Taille
- So
- sur mesure
- Solutions
- Dépenses
- empiler
- Combos
- Étape
- étapes
- Standard
- Commencer
- j'ai commencé
- départs
- Région
- étapes
- Étapes
- Encore
- storage
- Boutique
- de Marketing
- soumettre
- réussi
- tel
- RÉSUMÉ
- Appareils
- table
- Prenez
- prend
- Tâche
- impôt
- équipe
- Technologie
- terminal
- conditions
- Texas
- texte
- qui
- Les
- Le bloc
- leur
- Les
- puis
- Ces
- l'ont
- this
- trois
- Avec
- étage
- fiable
- long
- à
- aujourd'hui
- traditionnel
- De La Carrosserie
- Stratégie de transformation
- transition
- Voyage
- déclenché
- Essai
- deux
- type
- unité
- téléchargé
- utilisé
- d'utiliser
- Utilisateur
- Usages
- en utilisant
- Info de contact.
- validation
- Plus-value
- Valeurs
- vendeur
- fournisseurs
- Vérification
- via
- Voir
- visualisation
- visualiser
- façons
- we
- web
- services Web
- quand
- que
- qui
- fenêtre
- comprenant
- dans les
- sans
- activités principales
- workflow
- workflows
- de travail
- écrire
- Vous n'avez
- Votre
- zéphyrnet