Nel panorama aziendale odierno, le organizzazioni sono costantemente alla ricerca di modi per ottimizzare i propri processi finanziari, migliorare l'efficienza e favorire il risparmio sui costi. Un’area che presenta un significativo potenziale di miglioramento è quella della contabilità fornitori. Ad alto livello, il processo di contabilità fornitori comprende la ricezione e la scansione delle fatture, l'estrazione dei dati rilevanti dalle fatture scansionate, la convalida, l'approvazione e l'archiviazione. Il secondo passaggio (estrazione) può essere complesso. Ogni fattura e ricevuta hanno un aspetto diverso. Le etichette sono imperfette e incoerenti. Le informazioni più importanti come prezzo, nome del venditore, indirizzo del venditore e termini di pagamento spesso non sono etichettate esplicitamente e devono essere interpretate in base al contesto. L'approccio tradizionale che prevede l'utilizzo di revisori umani per estrarre i dati è dispendioso in termini di tempo, soggetto a errori e non scalabile.
In questo post, mostriamo come automatizzare il processo di contabilità fornitori utilizzando Testo Amazon per l'estrazione dei dati. Forniamo inoltre un'architettura di riferimento per creare una pipeline di automazione delle fatture che consenta l'estrazione, la verifica, l'archiviazione e la ricerca intelligente.
Panoramica della soluzione
Il seguente diagramma dell'architettura mostra le fasi di un flusso di lavoro di elaborazione di ricevute e fatture. Si inizia con una fase di acquisizione dei documenti per raccogliere e archiviare in modo sicuro fatture e ricevute scansionate. La fase successiva è la fase di estrazione, in cui si trasferiscono le fatture e le ricevute raccolte ad Amazon Textract AnalyzeExpense
API per estrarre le relazioni finanziarie tra testo come nome del fornitore, data di ricezione della fattura, data dell'ordine, importo dovuto, importo pagato e così via. Nella fase successiva, utilizzerai le regole di spesa predefinite per determinare se approvare o rifiutare automaticamente la ricevuta. I documenti approvati e rifiutati vanno nelle rispettive cartelle all'interno del file Servizio di archiviazione semplice Amazon (Amazon S3) secchio. Per i documenti approvati, puoi cercare tutti i campi e i valori estratti utilizzando Servizio Amazon OpenSearch. Puoi visualizzare i metadati indicizzati utilizzando OpenSearch Dashboards. Anche i documenti approvati vengono impostati per essere spostati Tiering intelligente di Amazon S3 per la conservazione e l'archiviazione a lungo termine utilizzando le policy del ciclo di vita S3.
Le sezioni seguenti illustrano il processo di creazione della soluzione.
Prerequisiti
Per distribuire questa soluzione, è necessario disporre di quanto segue:
- Un account AWS.
- An AWS Cloud9 ambiente. AWS Cloud9 è un ambiente di sviluppo integrato (IDE) basato su cloud che ti consente di scrivere, eseguire ed eseguire il debug del tuo codice semplicemente con un browser. Include un editor di codice, un debugger e un terminale.
Per creare l'ambiente AWS Cloud9, fornisci un nome e una descrizione. Mantieni tutto il resto come predefinito. Scegli il collegamento IDE sulla console AWS Cloud9 per accedere all'IDE. Ora sei pronto per utilizzare l'ambiente AWS Cloud9.
Distribuisci la soluzione
Per impostare la soluzione, utilizzare il file Kit di sviluppo cloud AWS (AWS CDK) per distribuire un file AWS CloudFormazione pila.
- Nel terminale IDE AWS Cloud9, clona il file Repository GitHub e installare le dipendenze. Esegui i comandi seguenti per distribuire il file
InvoiceProcessor
pila:
La distribuzione richiede circa 25 minuti con le impostazioni di configurazione predefinite dal repository GitHub. Ulteriori informazioni sull'output sono disponibili anche nella console AWS CloudFormation.
- Una volta completata la distribuzione di AWS CDK, crea regole di convalida delle spese in un file Amazon DynamoDB tavolo. Puoi utilizzare lo stesso terminale AWS Cloud9 per eseguire i seguenti comandi:
- Nel bucket S3 che inizia con
invoiceprocessorworkflow-invoiceprocessorbucketf1-*
, crea una cartella di caricamento.
In Amazzonia Cognito, dovresti già avere un pool di utenti esistente chiamato OpenSearchResourcesCognitoUserPool*
. Usiamo questo pool di utenti per creare un nuovo utente.
- Nella console Amazon Cognito, accedi al pool di utenti
OpenSearchResourcesCognitoUserPool*
. - Crea un nuovo utente Amazon Cognito.
- Fornisci un nome utente e una password a tua scelta e annotali per un utilizzo successivo.
- Carica i documenti fattura_casuale1 ed fattura_casuale2 all'S3
uploads
cartella per avviare i flussi di lavoro.
Ora tuffiamoci in ciascuna delle fasi di elaborazione del documento.
Cattura del documento
I clienti gestiscono fatture e ricevute in una moltitudine di formati di diversi fornitori. Questi documenti vengono ricevuti attraverso canali come copie cartacee, copie scansionate caricate nell'archivio file o dispositivi di archiviazione condivisi. Nella fase di acquisizione dei documenti, archivi tutte le copie scansionate di ricevute e fatture in uno spazio di archiviazione altamente scalabile, come in un bucket S3.
Estrazione
La fase successiva è la fase di estrazione, in cui si trasferiscono le fatture e le ricevute raccolte ad Amazon Textract AnalyzeExpense
API per estrarre relazioni finanziarie tra testo come nome del fornitore, data di ricezione della fattura, data dell'ordine, importo dovuto/pagato, ecc.
Analizza spese è un'API dedicata all'elaborazione di documenti di fatture e ricevute. È disponibile sia come API sincrona che asincrona. L'API sincrona ti consente di inviare immagini in formato byte e l'API asincrona ti consente di inviare file nei formati JPG, PNG, TIFF e PDF. IL AnalyzeExpense
La risposta API è composta da tre sezioni distinte:
- Campi di riepilogo – Questa sezione include sia le chiavi normalizzate che le chiavi esplicitamente menzionate insieme ai loro valori.
AnalyzeExpense
normalizza le chiavi per le informazioni relative al contatto come il nome e l'indirizzo del venditore, le chiavi relative all'ID fiscale come l'ID del contribuente, le chiavi relative al pagamento come l'importo dovuto e lo sconto e le chiavi generali come l'ID della fattura, la data di consegna e numero di conto. Le chiavi non normalizzate vengono comunque visualizzate nei campi di riepilogo come coppie chiave-valore. Per un elenco completo dei campi di spesa supportati, fare riferimento a Analisi di fatture e ricevute. - Elementi pubblicitari – Questa sezione include le chiavi degli elementi pubblicitari normalizzati come la descrizione dell'articolo, il prezzo unitario, la quantità e il codice prodotto.
- Blocco dell'OCR – Il blocco contiene l'estratto del testo grezzo dalla pagina della fattura. L'estratto di testo non elaborato può essere utilizzato per la postelaborazione e l'identificazione delle informazioni che non sono incluse nei campi di riepilogo e di voce.
Questo post utilizza il Costrutti CDK di Amazon Texttract IDP (Componenti AWS CDK per definire l'infrastruttura per i flussi di lavoro IDP (Intelligent Document Processing)), che consente di creare flussi di lavoro IDP personalizzabili specifici per ogni caso d'uso. I costrutti e gli esempi sono una raccolta di componenti per consentire la definizione di processi IDP su AWS e pubblicati su GitHub. I concetti principali utilizzati sono i costrutti AWS CDK, l'attuale Stack di AWS CDKe Funzioni AWS Step.
La figura seguente mostra il flusso di lavoro di Step Functions.
Il flusso di lavoro di estrazione include i seguenti passaggi:
- Processore-Decider della fattura - Un AWS Lambda funzione che verifica se il formato del documento di input è supportato da Amazon Textract. Per ulteriori dettagli sui formati supportati, fare riferimento a Documenti in ingresso.
- DocumentSplitter – Una funzione Lambda che genera blocchi di 2,500 pagine (massimo) dai documenti e può elaborare documenti di grandi dimensioni composti da più pagine.
- Stato della mappa – Una funzione Lambda che elabora ogni blocco in parallelo.
- TextAsync – Questa attività chiama Amazon Textract utilizzando l'API asincrona seguente best practice con Servizio di notifica semplice Amazon (Amazon SNS) notifiche e utilizzi
OutputConfig
per archiviare l'output JSON di Amazon Textract nel bucket S3 creato in precedenza. È composto da due funzioni Lambda: una per inviare il documento per l'elaborazione e una che viene attivata sulla notifica SNS. - TexttractAsyncToJSON2 - Perché il
TextractAsync
l'attività può produrre più file di output impaginati, il fileTextractAsyncToJSON2
il processo li combina in un unico file JSON.
Discuteremo i dettagli dei tre passaggi successivi nelle sezioni seguenti.
Verifica e approvazione
Per la fase di verifica, il SetMetaData
La funzione Lambda verifica se il file caricato è una spesa valida secondo le regole configurate in precedenza nella tabella DynamoDB. Per questo post, utilizzerai le seguenti regole di esempio:
- La verifica ha esito positivo se
INVOICE_RECEIPT_ID
è presente e corrisponde alla regex(?i)[0-9]{3}[a-z]{3}[0-9]{3}$
ed ifPO_NUMBER
è presente e corrisponde alla regex(?i)[a-z0-9]+$
- In entrambi i casi la verifica non ha esito positivo
PO_NUMBER
orINVOICE_RECEIPT_ID
è errato o mancante nel documento.
Una volta elaborati i file, la funzione di verifica delle spese sposta i file di input in uno dei due approved
or declined
cartelle nello stesso bucket S3.
Ai fini di questa soluzione, utilizziamo DynamoDB per archiviare le regole di convalida delle spese. Tuttavia, è possibile modificare questa soluzione per integrarla con soluzioni di gestione o convalida delle spese proprie o commerciali.
Indice e ricerca intelligenti
Grazie alla OpenSearchPushInvoke
Funzione Lambda, i metadati di spesa estratti vengono inviati a un indice del servizio OpenSearch e sono disponibili per la ricerca.
La finale TaskOpenSearchMapping
passo chiarisce il contesto, che altrimenti potrebbe superare il Quota funzioni passo della dimensione massima di input o output per un'attività, uno stato o un flusso di lavoro eseguito.
Dopo aver creato l'indice del servizio OpenSearch, è possibile cercare parole chiave dal testo estratto tramite OpenSearch Dashboards.
Archiviazione, audit e analisi
Per gestire il ciclo di vita e l'archiviazione di fatture e ricevute, puoi configurare le regole del ciclo di vita S3 per la transizione degli oggetti S3 dalle classi di storage Standard a Intelligent-Tiering. S3 Intelligent-Tiering monitora i modelli di accesso e sposta automaticamente gli oggetti al livello di accesso non frequente quando non viene effettuato l'accesso per 30 giorni consecutivi. Dopo 90 giorni senza accesso, gli oggetti vengono spostati al livello Archive Instant Access senza alcun impatto sulle prestazioni o sovraccarico operativo.
Per il controllo e l'analisi, questa soluzione utilizza il servizio OpenSearch per eseguire analisi sulle richieste di fattura. OpenSearch Service ti consente di acquisire, proteggere, cercare, aggregare, visualizzare e analizzare facilmente i dati per una serie di casi d'uso, come l'analisi dei log, la ricerca di applicazioni, la ricerca aziendale e altro ancora.
Accedi a OpenSearch Dashboards e vai a Gestione della pila, Oggetti salvati, Quindi scegliere Importare. Scegliere il fatture.ndjson file dal repository clonato e scegli Importare. Questo precompila gli indici e crea la visualizzazione.
Aggiorna la pagina e vai a Casa, Performance modelli/hostesse aperto Fatture. Ora puoi selezionare e applicare filtri ed espandere la finestra temporale per esplorare le fatture passate.
ripulire
Una volta terminata la valutazione di Amazon Textract per l'elaborazione di ricevute e fatture, ti consigliamo di eliminare eventuali risorse che potresti aver creato. Completa i seguenti passaggi:
- Elimina tutto il contenuto dal bucket S3
invoiceprocessorworkflow-invoiceprocessorbucketf1-*
. - In AWS Cloud9, esegui i comandi seguenti per eliminare le risorse Amazon Cognito e gli stack CloudFormation:
- Elimina l'ambiente AWS Cloud9 che hai creato dalla console AWS Cloud9.
Conclusione
In questo post, abbiamo fornito una panoramica di come possiamo creare una pipeline di automazione delle fatture utilizzando Amazon Textract per l'estrazione dei dati e creare un flusso di lavoro per la convalida, l'archiviazione e la ricerca. Abbiamo fornito esempi di codice su come utilizzare il file AnalyzeExpense
API per l'estrazione dei campi critici da una fattura.
Per iniziare, accedi alla console Amazon Textract per provare questa funzionalità. Per ulteriori informazioni sulle funzionalità di Amazon Textract, fare riferimento a Guida per sviluppatori di Amazon Textract or Risorse di testo. Per ulteriori informazioni su IDP, fai riferimento a IDP con servizi AI AWS Parte 1 ed Parte 2 post.
Informazioni sugli autori
Sushant Pradhan è Sr. Solutions Architect presso Amazon Web Services, che aiuta i clienti aziendali. I suoi interessi e la sua esperienza includono container, tecnologia serverless e DevOps. Nel tempo libero, Sushant ama trascorrere del tempo all'aria aperta con la sua famiglia.
Shibin Michaelraj è Senior Product Manager del team di AWS Textract. Si concentra sulla creazione di prodotti basati su AI/ML per i clienti AWS.
Suprakash Dutta è Senior Solutions Architect presso Amazon Web Services. Si concentra sulla strategia di trasformazione digitale, sulla modernizzazione e migrazione delle applicazioni, sull'analisi dei dati e sull'apprendimento automatico. Fa parte della community AI/ML di AWS e progetta soluzioni intelligenti per l'elaborazione dei documenti.
Maran Chandrasekaran è Senior Solutions Architect presso Amazon Web Services e lavora con i nostri clienti aziendali. Al di fuori del lavoro, ama viaggiare e guidare la sua moto nel Texas Hill Country.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- Platone Salute. Intelligence sulle biotecnologie e sulle sperimentazioni cliniche. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/build-a-receipt-and-invoice-processing-pipeline-with-amazon-textract/
- :È
- :non
- :Dove
- $ SU
- 1
- 100
- 25
- 30
- 7
- 8
- 9
- a
- Chi siamo
- accesso
- accessibile
- Il mio account
- conti
- è possibile pagare per questi account
- presenti
- aggiuntivo
- indirizzo
- Dopo shavasana, sedersi in silenzio; saluti;
- aggregato
- AI
- Servizi di intelligenza artificiale
- AI / ML
- Tutti
- consente
- lungo
- già
- anche
- Amazon
- Amazzonia Cognito
- Testo Amazon
- Amazon Web Services
- quantità
- an
- analitica
- analizzare
- ed
- in qualsiasi
- api
- apparire
- Applicazioni
- APPLICA
- approccio
- approvazione
- approvare
- approvato
- architettura
- Archivio
- SONO
- RISERVATA
- in giro
- AS
- At
- revisione
- revisione
- automatizzare
- automaticamente
- Automazione
- disponibile
- AWS
- AWS Cloud9
- AWS CloudFormazione
- basato
- BE
- perché
- stato
- fra
- Bloccare
- bootstrap
- entrambi
- del browser
- costruire
- Costruzione
- costruisce
- affari
- by
- detto
- Bandi
- Materiale
- funzionalità
- catturare
- casi
- canali
- dai un'occhiata
- scegliere
- Scegli
- classi
- Pulizia
- Cloud
- Cloud9
- codice
- raccogliere
- collezione
- combina
- comunità
- completamento di una
- complesso
- componenti
- concetti
- Configurazione
- configurato
- consecutivo
- consiste
- consolle
- costantemente
- costrutti
- Tecnologie Container
- contiene
- contenuto
- contesto
- Costo
- risparmi
- potuto
- nazione
- coperto
- creare
- creato
- Creazione
- critico
- Clienti
- personalizzabile
- cruscotto
- cruscotti
- dati
- Dati Analytics
- Data
- Giorni
- dedicato
- Predefinito
- definire
- definizione
- consegna
- dipendenze
- schierare
- deployment
- descrizione
- disegni
- distruggere
- dettagli
- Determinare
- Costruttori
- Mercato
- dispositivi
- diagramma
- diverso
- digitale
- DIGITAL TRANSFORMATION
- Codice Sconto
- discutere
- distinto
- immersione
- documento
- documenti
- guidare
- dovuto
- dutta
- ogni
- In precedenza
- eco
- editore
- efficienza
- senza sforzo
- o
- altro
- enable
- Abilita
- accrescere
- Impresa
- Ambiente
- eccetera
- la valutazione
- qualunque cosa
- superare
- esistente
- Espandere
- esperienza
- espressamente
- esplora
- estratto
- estrazione
- famiglia
- caratteristica
- campo
- campi
- figura
- Compila il
- File
- filtri
- finale
- finanziario
- finanziariamente
- concentrato
- si concentra
- i seguenti
- Nel
- formato
- da
- function
- funzioni
- Generale
- genera
- ottenere
- Idiota
- GitHub
- Go
- maniglia
- Hard
- Avere
- he
- aiutare
- Alta
- vivamente
- il suo
- detiene
- Come
- Tutorial
- Tuttavia
- HTML
- http
- HTTPS
- umano
- i
- ID
- identificazione
- if
- immagini
- Impact
- importare
- importante
- miglioramento
- in
- includere
- inclusi
- scorretto
- Index
- indicizzati
- indici
- informazioni
- Infrastruttura
- ingresso
- install
- immediato
- integrare
- integrato
- Intelligente
- Elaborazione intelligente dei documenti
- interessi
- ai miglioramenti
- fattura
- elaborazione fattura
- fatture
- IT
- jpg
- json
- ad appena
- mantenere
- Tasti
- parole chiave
- per il tuo brand
- paesaggio
- grandi
- dopo
- IMPARARE
- apprendimento
- Consente di
- Livello
- ciclo di vita
- piace
- linea
- LINK
- Lista
- ceppo
- a lungo termine
- Guarda
- ama
- macchina
- machine learning
- Principale
- gestire
- gestione
- direttore
- fiammiferi
- max
- massimo
- menzionato
- Metadati
- forza
- migrazione
- Minuti
- mancante
- modificare
- monitor
- Scopri di più
- maggior parte
- MOTO
- mosso
- si muove
- multiplo
- moltitudine
- devono obbligatoriamente:
- Nome
- Navigare
- New
- GENERAZIONE
- no
- Nota
- notifica
- notifiche
- adesso
- numero
- oggetti
- of
- di frequente
- on
- ONE
- aprire
- operativa
- OTTIMIZZA
- or
- minimo
- organizzazioni
- altrimenti
- nostro
- all'aperto
- produzione
- al di fuori
- alto
- panoramica
- proprio
- pagina
- pagato
- coppie
- Parallel
- parte
- passare
- Password
- passato
- modelli
- pagatore
- Pagamento
- per
- performance
- fase
- pezzi
- conduttura
- Platone
- Platone Data Intelligence
- PlatoneDati
- PO
- Termini e Condizioni
- pool
- Post
- Post
- potenziale
- predefinito
- presenti
- in precedenza
- prezzo
- processi
- Elaborato
- i processi
- lavorazione
- produrre
- Prodotto
- product manager
- Prodotti
- fornire
- purché
- pubblicato
- fini
- spinto
- quantità
- Crudo
- pronto
- ricevute
- ricevuto
- ricevente
- raccomandare
- riferimento
- riferimento
- regex
- Respinto..
- relazionato
- Relazioni
- pertinente
- deposito
- richieste
- Requisiti
- Risorse
- quelli
- risposta
- ritenzione
- VIAGGIO
- norme
- Correre
- running
- stesso
- campione
- Risparmio
- scalabile
- scansione
- Cerca
- Secondo
- Sezione
- sezioni
- sicuro
- in modo sicuro
- cerca
- select
- inviare
- anziano
- serverless
- servizio
- Servizi
- set
- impostazioni
- condiviso
- dovrebbero
- mostrare attraverso le sue creazioni
- Spettacoli
- segno
- significativa
- Un'espansione
- Taglia
- So
- soluzione
- Soluzioni
- Spendere
- pila
- Stacks
- Stage
- tappe
- Standard
- inizia a
- iniziato
- inizio
- Regione / Stato
- step
- Passi
- Ancora
- conservazione
- Tornare al suo account
- Strategia
- inviare
- di successo
- tale
- SOMMARIO
- supportato
- tavolo
- Fai
- prende
- Task
- imposta
- team
- Tecnologia
- terminal
- condizioni
- Texas
- testo
- che
- I
- Il blocco
- loro
- Li
- poi
- Strumenti Bowman per analizzare le seguenti finiture:
- di
- questo
- tre
- Attraverso
- fila
- tempo
- richiede tempo
- a
- di oggi
- tradizionale
- Trasformazione
- Strategia di trasformazione
- transizione
- viaggiare
- innescato
- prova
- seconda
- Digitare
- unità
- caricato
- uso
- utilizzato
- Utente
- usa
- utilizzando
- un valido
- convalida
- APPREZZIAMO
- Valori
- venditore
- fornitori
- Convalida
- via
- Visualizza
- visualizzazione
- visualizzare
- modi
- we
- sito web
- servizi web
- quando
- se
- quale
- finestra
- con
- entro
- senza
- Lavora
- flusso di lavoro
- flussi di lavoro
- lavoro
- scrivere
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro