I dagens forretningslandskap søker organisasjoner hele tiden måter å optimalisere sine økonomiske prosesser på, forbedre effektiviteten og drive kostnadsbesparelser. Et område som har betydelig forbedringspotensial er leverandørgjeld. På et høyt nivå inkluderer leverandørgjeldprosessen mottak og skanning av fakturaer, uttak av relevante data fra skannede fakturaer, validering, godkjenning og arkivering. Det andre trinnet (ekstraksjon) kan være komplekst. Hver faktura og kvittering ser annerledes ut. Etikettene er ufullkomne og inkonsekvente. De viktigste opplysningene som pris, leverandørnavn, leverandøradresse og betalingsbetingelser er ofte ikke eksplisitt merket og må tolkes basert på kontekst. Den tradisjonelle tilnærmingen med å bruke menneskelige anmeldere for å trekke ut dataene er tidkrevende, feilutsatt og ikke skalerbar.
I dette innlegget viser vi hvordan du automatiserer leverandørgjeldprosessen ved hjelp av amazontekst for datautvinning. Vi tilbyr også en referansearkitektur for å bygge en fakturaautomatiseringspipeline som muliggjør utvinning, verifisering, arkivering og intelligent søk.
Løsningsoversikt
Følgende arkitekturdiagram viser stadiene i en arbeidsflyt for kvittering og fakturabehandling. Det starter med et dokumentfangststadium for sikker innsamling og lagring av skannede fakturaer og kvitteringer. Neste trinn er utvinningsfasen, hvor du sender de innsamlede fakturaene og kvitteringene til Amazon Textract AnalyzeExpense
API for å trekke ut økonomisk relaterte relasjoner mellom tekst som leverandørnavn, fakturamottaksdato, ordredato, forfalt beløp, betalt beløp og så videre. I neste trinn bruker du forhåndsdefinerte utgiftsregler for å avgjøre om du automatisk skal godkjenne eller avvise kvitteringen. Godkjente og avviste dokumenter går til deres respektive mapper i Amazon enkel lagringstjeneste (Amazon S3) bøtte. For godkjente dokumenter kan du søke i alle de utpakkede feltene og verdiene ved hjelp av Amazon OpenSearch-tjeneste. Du kan visualisere de indekserte metadataene ved å bruke OpenSearch Dashboards. Godkjente dokumenter er også satt opp til å flyttes til Amazon S3 Intelligent Tiering for langsiktig oppbevaring og arkivering ved hjelp av S3 livssykluspolicyer.
De følgende delene tar deg gjennom prosessen med å lage løsningen.
Forutsetninger
For å distribuere denne løsningen må du ha følgende:
- En AWS-konto.
- An AWS Cloud9 miljø. AWS Cloud9 er et skybasert integrert utviklingsmiljø (IDE) som lar deg skrive, kjøre og feilsøke koden din med bare en nettleser. Den inkluderer en kodeeditor, debugger og terminal.
For å lage AWS Cloud9-miljøet, oppgi et navn og en beskrivelse. Behold alt annet som standard. Velg IDE-koblingen på AWS Cloud9-konsollen for å navigere til IDE. Du er nå klar til å bruke AWS Cloud9-miljøet.
Distribuere løsningen
For å sette opp løsningen bruker du AWS skyutviklingssett (AWS CDK) for å distribuere en AWS skyformasjon stable.
- I AWS Cloud9 IDE-terminalen din kloner du GitHub repository og installer avhengighetene. Kjør følgende kommandoer for å distribuere
InvoiceProcessor
stable:
Utrullingen tar rundt 25 minutter med standard konfigurasjonsinnstillinger fra GitHub-repoen. Ytterligere utdatainformasjon er også tilgjengelig på AWS CloudFormation-konsollen.
- Etter at AWS CDK-distribusjonen er fullført, oppretter du regler for utgiftsvalidering i en Amazon DynamoDB bord. Du kan bruke den samme AWS Cloud9-terminalen til å kjøre følgende kommandoer:
- I S3-bøtta som starter med
invoiceprocessorworkflow-invoiceprocessorbucketf1-*
, opprett en opplastingsmappe.
In Amazon Cognito, bør du allerede ha en eksisterende brukergruppe kalt OpenSearchResourcesCognitoUserPool*
. Vi bruker denne brukerpoolen til å opprette en ny bruker.
- Naviger til brukerutvalget på Amazon Cognito-konsollen
OpenSearchResourcesCognitoUserPool*
. - Opprett en ny Amazon Cognito-bruker.
- Oppgi et brukernavn og passord etter eget valg, og noter dem for senere bruk.
- Last opp dokumentene tilfeldig_faktura1 og tilfeldig_faktura2 til S3
uploads
mappe for å starte arbeidsflytene.
La oss nå dykke ned i hvert av dokumentbehandlingstrinnene.
Dokumentfangst
Kunder håndterer fakturaer og kvitteringer i en rekke formater fra forskjellige leverandører. Disse dokumentene mottas gjennom kanaler som papirkopier, skannede kopier lastet opp til fillagring eller delte lagringsenheter. I dokumentfangststadiet lagrer du alle skannede kopier av kvitteringer og fakturaer i en svært skalerbar lagring, for eksempel i en S3-bøtte.
Utvinning
Neste trinn er utvinningsfasen, hvor du sender de innsamlede fakturaene og kvitteringene til Amazon Textract AnalyzeExpense
API for å trekke ut økonomisk relaterte relasjoner mellom tekst som leverandørnavn, fakturamottaksdato, bestillingsdato, forfalt/betalt beløp, etc.
AnalyserExpense er et API dedikert til å behandle faktura- og kvitteringsdokumenter. Den er tilgjengelig både som en synkron eller asynkron API. Synchronous API lar deg sende bilder i byte-format, og asynkron API lar deg sende filer i JPG-, PNG-, TIFF- og PDF-formater. De AnalyzeExpense
API-svar består av tre forskjellige seksjoner:
- Oppsummeringsfelt – Denne delen inkluderer både normaliserte nøkler og de eksplisitt nevnte nøklene sammen med verdiene deres.
AnalyzeExpense
normaliserer nøklene for kontaktrelatert informasjon som leverandørnavn og leverandøradresse, skatte-ID-relaterte nøkler som skattebetaler-ID, betalingsrelaterte nøkler som forfalt beløp og rabatt, og generelle nøkler som faktura-ID, leveringsdato og kontonummer. Nøkler som ikke er normalisert vises fortsatt i sammendragsfeltene som nøkkel-verdi-par. For en fullstendig liste over støttede utgiftsfelt, se Analysere fakturaer og kvitteringer. - Artikler – Denne delen inkluderer normaliserte linjeelementnøkler som varebeskrivelse, enhetspris, mengde og produktkode.
- OCR-blokk – Blokken inneholder råtekstutdraget fra fakturasiden. Råtekstutdraget kan brukes til etterbehandling og identifisering av informasjon som ikke dekkes som en del av sammendrags- og linjeelementfeltene.
Dette innlegget bruker Amazon Textract IDP CDK konstruerer (AWS CDK-komponenter for å definere infrastruktur for intelligent dokumentbehandling (IDP) arbeidsflyter), som lar deg bygge bruksspesifikke, tilpassbare IDP-arbeidsflyter. Konstruksjonene og prøvene er en samling komponenter for å muliggjøre definisjon av IDP-prosesser på AWS og publisert til GitHub. Hovedkonseptene som brukes er AWS CDK-konstruksjonene, den faktiske AWS CDK-stablerog AWS trinnfunksjoner.
Følgende figur viser arbeidsflyten for trinnfunksjoner.
Arbeidsflyten for utvinning inkluderer følgende trinn:
- Fakturabehandler-beslutning - An AWS Lambda funksjon som verifiserer om inndatadokumentformatet støttes av Amazon Textract. For mer informasjon om støttede formater, se Legg inn dokumenter.
- DocumentSplitter – En Lambda-funksjon som genererer 2,500-siders (maks) biter fra dokumenter og kan behandle store flersidige dokumenter.
- Karttilstand – En Lambda-funksjon som behandler hver del parallelt.
- TextractAsync – Denne oppgaven kaller Amazon Textract ved å bruke følgende asynkrone API beste praksis med Amazon enkel varslingstjeneste (Amazon SNS) varsler og bruk
OutputConfig
for å lagre Amazon Textract JSON-utdata til S3-bøtta du opprettet tidligere. Den består av to lambdafunksjoner: en for å sende inn dokumentet til behandling og en som utløses på SNS-varslingen. - TextractAsyncToJSON2 - Fordi det
TextractAsync
oppgaven kan produsere flere paginerte utdatafiler, denTextractAsyncToJSON2
prosessen kombinerer dem til én JSON-fil.
Vi diskuterer detaljene i de neste tre trinnene i de følgende avsnittene.
Verifikasjon og godkjenning
For verifiseringsstadiet, SetMetaData
Lambda-funksjonen bekrefter om den opplastede filen er en gyldig utgift i henhold til reglene som er konfigurert tidligere i DynamoDB-tabellen. For dette innlegget bruker du følgende eksempelregler:
- Verifisering er vellykket hvis
INVOICE_RECEIPT_ID
er tilstede og samsvarer med regulært uttrykk(?i)[0-9]{3}[a-z]{3}[0-9]{3}$
og ifPO_NUMBER
er tilstede og samsvarer med regulært uttrykk(?i)[a-z0-9]+$
- Verifisering mislykkes hvis enten
PO_NUMBER
orINVOICE_RECEIPT_ID
er feil eller mangler i dokumentet.
Etter at filene er behandlet, flytter utgiftsverifiseringsfunksjonen inndatafilene til begge approved
or declined
mapper i samme S3-bøtte.
For formålene med denne løsningen bruker vi DynamoDB til å lagre reglene for utgiftsvalidering. Du kan imidlertid endre denne løsningen for å integreres med dine egne eller kommersielle utgiftsvaliderings- eller administrasjonsløsninger.
Intelligent indeks og søk
Med OpenSearchPushInvoke
Lambda-funksjon, de utpakkede utgiftsmetadataene skyves til en OpenSearch Service-indeks og er tilgjengelig for søk.
Finalen TaskOpenSearchMapping
trinn fjerner konteksten, som ellers kunne overskride Trinn Funksjoner kvote maksimal inn- eller utdatastørrelse for en oppgave, tilstand eller arbeidsflytkjøring.
Etter at OpenSearch Service-indeksen er opprettet, kan du søke etter nøkkelord fra den utpakkede teksten via OpenSearch Dashboards.
Arkivering, revisjon og analyser
For å administrere livssyklusen og arkiveringen av fakturaer og kvitteringer kan du konfigurere S3-livssyklusregler for å overføre S3-objekter fra standard- til Intelligent-Tiering-lagringsklasser. S3 Intelligent-Tiering overvåker tilgangsmønstre og flytter automatisk objekter til Infrequent Access-nivået når de ikke har blitt åpnet på 30 dager på rad. Etter 90 dager uten tilgang, flyttes objektene til Archive Instant Access-nivået uten ytelsespåvirkning eller driftskostnader.
For revisjon og analyse bruker denne løsningen OpenSearch Service for å kjøre analyser på fakturaforespørsler. OpenSearch-tjenesten lar deg enkelt innta, sikre, søke, samle, se og analysere data for en rekke brukstilfeller, for eksempel logganalyse, applikasjonssøk, bedriftssøk og mer.
Logg på OpenSearch Dashboards og naviger til Stabelhåndtering, Lagrede objekter, velg deretter Import. Velg invoices.ndjson fil fra det klonede depotet og velg Import. Dette forhåndsutfyller indekser og bygger visualiseringen.
Oppdater siden og naviger til Hjemprodukt, Dashbord, og åpne Fakturaer. Du kan nå velge og bruke filtre og utvide tidsvinduet for å utforske tidligere fakturaer.
Rydd opp
Når du er ferdig med å evaluere Amazon Textract for å behandle kvitteringer og fakturaer, anbefaler vi å rydde opp i alle ressurser du kan ha opprettet. Fullfør følgende trinn:
- Slett alt innhold fra S3-bøtten
invoiceprocessorworkflow-invoiceprocessorbucketf1-*
. - I AWS Cloud9, kjør følgende kommandoer for å slette Amazon Cognito-ressurser og CloudFormation-stabler:
- Slett AWS Cloud9-miljøet du opprettet fra AWS Cloud9-konsollen.
konklusjonen
I dette innlegget ga vi en oversikt over hvordan vi kan bygge en fakturaautomatiseringspipeline ved å bruke Amazon Textract for datautvinning og lage en arbeidsflyt for validering, arkivering og søk. Vi ga kodeeksempler på hvordan du bruker AnalyzeExpense
API for utvinning av kritiske felt fra en faktura.
For å komme i gang, logg på Amazon Textract-konsollen for å prøve denne funksjonen. For å lære mer om Amazon Textract-funksjoner, se Amazon Textract utviklerveiledning or Textract-ressurser. For å lære mer om IDP, se IDP med AWS AI-tjenester Del 1 og Del 2 innlegg.
Om forfatterne
Sushant Pradhan er senior løsningsarkitekt hos Amazon Web Services, og hjelper bedriftskunder. Hans interesser og erfaring inkluderer containere, serverløs teknologi og DevOps. På fritiden liker Sushant å tilbringe tid utendørs med familien.
Shibin Michaelraj er Sr. Product Manager med AWS Textract-teamet. Han er fokusert på å bygge AI/ML-baserte produkter for AWS-kunder.
Suprakash Dutta er senior løsningsarkitekt hos Amazon Web Services. Han fokuserer på digital transformasjonsstrategi, applikasjonsmodernisering og migrering, dataanalyse og maskinlæring. Han er en del av AI/ML-fellesskapet hos AWS og designer intelligente dokumentbehandlingsløsninger.
Maran Chandrasekaran er Senior Solutions Architect hos Amazon Web Services, og jobber med våre bedriftskunder. Utenom jobben elsker han å reise og kjøre motorsykkel i Texas Hill Country.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/build-a-receipt-and-invoice-processing-pipeline-with-amazon-textract/
- :er
- :ikke
- :hvor
- $OPP
- 1
- 100
- 25
- 30
- 7
- 8
- 9
- a
- Om oss
- adgang
- aksesseres
- Logg inn
- kontoer
- leverandørgjeld
- faktiske
- Ytterligere
- adresse
- Etter
- aggregat
- AI
- AI-tjenester
- AI / ML
- Alle
- tillater
- langs
- allerede
- også
- Amazon
- Amazon Cognito
- amazontekst
- Amazon Web Services
- beløp
- an
- analytics
- analysere
- og
- noen
- api
- vises
- Søknad
- Påfør
- tilnærming
- godkjenning
- godkjenne
- godkjent
- arkitektur
- Arkiv
- ER
- AREA
- rundt
- AS
- At
- revisjon
- revisjon
- automatisere
- automatisk
- Automatisering
- tilgjengelig
- AWS
- AWS Cloud9
- AWS skyformasjon
- basert
- BE
- fordi
- vært
- mellom
- Blokker
- Bootstrap
- både
- nett~~POS=TRUNC leseren~~POS=HEADCOMP
- bygge
- Bygning
- bygger
- virksomhet
- by
- som heter
- Samtaler
- CAN
- evner
- fangst
- saker
- kanaler
- sjekk
- valg
- Velg
- klasser
- Rengjøring
- Cloud
- Cloud9
- kode
- samle
- samling
- skurtreskerne
- kommersiell
- samfunnet
- fullføre
- komplekse
- komponenter
- konsepter
- Konfigurasjon
- konfigurert
- påfølgende
- består
- Konsoll
- stadig
- konstruerer
- Containere
- inneholder
- innhold
- kontekst
- Kostnad
- kostnadsbesparelser
- kunne
- land
- dekket
- skape
- opprettet
- Opprette
- kritisk
- Kunder
- tilpasses
- dashbord
- oversikter
- dato
- Data Analytics
- Dato
- Dager
- dedikert
- Misligholde
- definere
- definisjon
- levering
- avhengig
- utplassere
- distribusjon
- beskrivelse
- design
- ødelegge
- detaljer
- Bestem
- Utvikler
- Utvikling
- Enheter
- diagram
- forskjellig
- digitalt
- Digital Transformation
- Rabatt
- diskutere
- distinkt
- dykk
- dokument
- dokumenter
- stasjonen
- to
- dutta
- hver enkelt
- Tidligere
- savner
- redaktør
- effektivitet
- uanstrengt
- enten
- ellers
- muliggjøre
- muliggjør
- forbedre
- Enterprise
- Miljø
- etc
- evaluere
- alt
- stige
- eksisterende
- Expand
- erfaring
- eksplisitt
- utforske
- trekke ut
- utdrag
- familie
- Trekk
- felt
- Felt
- Figur
- filet
- Filer
- filtre
- slutt~~POS=TRUNC
- finansiell
- økonomisk
- fokuserte
- fokuserer
- etter
- Til
- format
- fra
- funksjon
- funksjoner
- general
- genererer
- få
- gå
- GitHub
- Go
- håndtere
- Hard
- Ha
- he
- hjelpe
- Høy
- svært
- hans
- holder
- Hvordan
- Hvordan
- Men
- HTML
- http
- HTTPS
- menneskelig
- i
- ID
- identifisering
- if
- bilder
- Påvirkning
- importere
- viktig
- forbedring
- in
- inkludere
- inkluderer
- feil
- indeks
- indeksert
- indekser
- informasjon
- Infrastruktur
- inngang
- installere
- instant
- integrere
- integrert
- Intelligent
- Intelligent dokumentbehandling
- interesser
- inn
- faktura
- fakturabehandling
- fakturaer
- IT
- jpg
- JSON
- bare
- Hold
- nøkler
- nøkkelord
- etiketter
- landskap
- stor
- seinere
- LÆRE
- læring
- Lar
- Nivå
- Livssyklus
- i likhet med
- linje
- LINK
- Liste
- logg
- langsiktig
- Se
- elsker
- maskin
- maskinlæring
- Hoved
- administrer
- ledelse
- leder
- fyrstikker
- max
- maksimal
- nevnt
- metadata
- kunne
- migrasjon
- minutter
- mangler
- modifisere
- skjermer
- mer
- mest
- motorsykkel
- flyttet
- trekk
- flere
- mangfold
- må
- navn
- Naviger
- Ny
- neste
- Nei.
- note
- varsling
- varslinger
- nå
- Antall
- gjenstander
- of
- ofte
- on
- ONE
- åpen
- operasjonell
- Optimalisere
- or
- rekkefølge
- organisasjoner
- ellers
- vår
- utendørs
- produksjon
- utenfor
- overhead
- oversikt
- egen
- side
- betalt
- par
- Parallel
- del
- passere
- Passord
- Past
- mønstre
- betaleren
- betaling
- for
- ytelse
- fase
- stykker
- rørledning
- plato
- Platon Data Intelligence
- PlatonData
- PO
- Politikk
- basseng
- Post
- innlegg
- potensiell
- forhåndsdefinert
- presentere
- tidligere
- pris
- prosess
- Bearbeidet
- Prosesser
- prosessering
- produsere
- Produkt
- Produktsjef
- Produkter
- gi
- forutsatt
- publisert
- formål
- presset
- kvantitet
- Raw
- klar
- kvitteringer
- mottatt
- mottak
- anbefaler
- referere
- referanse
- regex
- Avvist..
- i slekt
- Relasjoner
- relevant
- Repository
- forespørsler
- Krav
- Ressurser
- de
- svar
- oppbevaring
- Ride
- regler
- Kjør
- rennende
- samme
- sample
- Besparelser
- skalerbar
- skanning
- Søk
- Sekund
- Seksjon
- seksjoner
- sikre
- sikkert
- søker
- velg
- send
- senior
- server~~POS=TRUNC
- tjeneste
- Tjenester
- sett
- innstillinger
- delt
- bør
- Vis
- Viser
- undertegne
- signifikant
- Enkelt
- Størrelse
- So
- løsning
- Solutions
- utgifter
- stable
- Stabler
- Scene
- stadier
- Standard
- Begynn
- startet
- starter
- Tilstand
- Trinn
- Steps
- Still
- lagring
- oppbevare
- Strategi
- send
- vellykket
- slik
- SAMMENDRAG
- Støttes
- bord
- Ta
- tar
- Oppgave
- skatt
- lag
- Teknologi
- terminal
- vilkår
- texas
- tekst
- Det
- De
- Blokken
- deres
- Dem
- deretter
- Disse
- de
- denne
- tre
- Gjennom
- nivået
- tid
- tidkrevende
- til
- dagens
- tradisjonelle
- Transformation
- Transformasjonsstrategi
- overgang
- reiser
- utløst
- prøve
- to
- typen
- enhet
- lastet opp
- bruke
- brukt
- Bruker
- bruker
- ved hjelp av
- gyldig
- validering
- verdi
- Verdier
- leverandør
- leverandører
- Verifisering
- av
- Se
- visualisering
- visualisere
- måter
- we
- web
- webtjenester
- når
- om
- hvilken
- vindu
- med
- innenfor
- uten
- Arbeid
- arbeidsflyt
- arbeidsflyt
- arbeid
- skrive
- Du
- Din
- zephyrnet