I dagens forretningslandskab søger organisationer konstant efter måder at optimere deres økonomiske processer, øge effektiviteten og drive omkostningsbesparelser. Et område, der rummer et betydeligt forbedringspotentiale, er kreditorer. På et højt niveau omfatter kreditor-processen modtagelse og scanning af fakturaer, udtræk af relevante data fra scannede fakturaer, validering, godkendelse og arkivering. Det andet trin (ekstraktion) kan være komplekst. Hver faktura og kvittering ser anderledes ud. Etiketterne er ufuldkomne og inkonsekvente. De vigtigste oplysninger såsom pris, leverandørnavn, leverandøradresse og betalingsbetingelser er ofte ikke udtrykkeligt mærket og skal fortolkes ud fra kontekst. Den traditionelle tilgang til at bruge menneskelige korrekturlæsere til at udtrække dataene er tidskrævende, fejltilbøjelig og ikke skalerbar.
I dette indlæg viser vi, hvordan du automatiserer kreditor-processen ved hjælp af amazontekst til dataudtræk. Vi leverer også en referencearkitektur til at bygge en fakturaautomatiseringspipeline, der muliggør udtræk, verifikation, arkivering og intelligent søgning.
Løsningsoversigt
Følgende arkitekturdiagram viser stadierne i en arbejdsgang for kvittering og fakturabehandling. Det starter med et dokumentfangsttrin til sikker indsamling og opbevaring af scannede fakturaer og kvitteringer. Næste trin er udvindingsfasen, hvor du videregiver de indsamlede fakturaer og kvitteringer til Amazon Textract AnalyzeExpense
API til at udtrække økonomisk relaterede relationer mellem tekst såsom leverandørnavn, fakturamodtagelsesdato, ordredato, forfaldent beløb, betalt beløb og så videre. I næste trin bruger du foruddefinerede udgiftsregler til at bestemme, om du automatisk skal godkende eller afvise kvitteringen. Godkendte og afviste dokumenter går til deres respektive mapper inden for Amazon Simple Storage Service (Amazon S3) spand. For godkendte dokumenter kan du søge i alle de udtrukne felter og værdier vha Amazon OpenSearch Service. Du kan visualisere de indekserede metadata ved hjælp af OpenSearch Dashboards. Godkendte dokumenter er også sat op til at blive flyttet til Amazon S3 Intelligent-Tiering til langsigtet opbevaring og arkivering ved hjælp af S3 livscykluspolitikker.
De følgende afsnit fører dig gennem processen med at skabe løsningen.
Forudsætninger
For at implementere denne løsning skal du have følgende:
- En AWS-konto.
- An AWS Cloud9 miljø. AWS Cloud9 er et cloud-baseret integreret udviklingsmiljø (IDE), der lader dig skrive, køre og fejlsøge din kode med kun en browser. Det inkluderer en kodeeditor, debugger og terminal.
For at oprette AWS Cloud9-miljøet skal du angive et navn og en beskrivelse. Behold alt andet som standard. Vælg IDE-linket på AWS Cloud9-konsollen for at navigere til IDE. Du er nu klar til at bruge AWS Cloud9-miljøet.
Implementer løsningen
For at opsætte løsningen bruger du AWS Cloud Development Kit (AWS CDK) for at implementere en AWS CloudFormation stak.
- I din AWS Cloud9 IDE-terminal skal du klone GitHub repository og installer afhængighederne. Kør følgende kommandoer for at implementere
InvoiceProcessor
stak:
Implementeringen tager omkring 25 minutter med standardkonfigurationsindstillingerne fra GitHub-repoen. Yderligere outputoplysninger er også tilgængelige på AWS CloudFormation-konsollen.
- Når AWS CDK-implementeringen er fuldført, skal du oprette udgiftsvalideringsregler i en Amazon DynamoDB bord. Du kan bruge den samme AWS Cloud9-terminal til at køre følgende kommandoer:
- I S3 spanden der starter med
invoiceprocessorworkflow-invoiceprocessorbucketf1-*
, opret en upload-mappe.
In Amazon Cognito, bør du allerede have en eksisterende brugergruppe kaldet OpenSearchResourcesCognitoUserPool*
. Vi bruger denne brugerpulje til at oprette en ny bruger.
- På Amazon Cognito-konsollen skal du navigere til brugerpuljen
OpenSearchResourcesCognitoUserPool*
. - Opret en ny Amazon Cognito-bruger.
- Angiv et brugernavn og en adgangskode efter eget valg, og noter dem til senere brug.
- Upload dokumenterne tilfældig_faktura1 , tilfældig_faktura2 til S3
uploads
mappe for at starte arbejdsgangene.
Lad os nu dykke ned i hvert af dokumentbehandlingstrinene.
Dokumentoptagelse
Kunder håndterer fakturaer og kvitteringer i et væld af formater fra forskellige leverandører. Disse dokumenter modtages gennem kanaler som papirkopier, scannede kopier uploadet til fillager eller delte lagerenheder. I dokumentfangststadiet gemmer du alle scannede kopier af kvitteringer og fakturaer i et meget skalerbart lager, såsom i en S3-bøtte.
Ekstraktion
Næste trin er udvindingsfasen, hvor du videregiver de indsamlede fakturaer og kvitteringer til Amazon Textract AnalyzeExpense
API til at udtrække økonomisk relaterede relationer mellem tekst såsom leverandørnavn, fakturamodtagelsesdato, ordredato, forfaldent/betalt beløb osv.
Analyser Udgift er et API dedikeret til behandling af faktura- og kvitteringsdokumenter. Den er tilgængelig både som en synkron eller asynkron API. Den synkrone API giver dig mulighed for at sende billeder i byte-format, og den asynkrone API giver dig mulighed for at sende filer i JPG-, PNG-, TIFF- og PDF-formater. Det AnalyzeExpense
API-svar består af tre adskilte sektioner:
- Opsummeringsfelter – Dette afsnit inkluderer både normaliserede nøgler og de eksplicit nævnte nøgler sammen med deres værdier.
AnalyzeExpense
normaliserer nøglerne til kontaktrelaterede oplysninger såsom leverandørnavn og leverandøradresse, skatte-id-relaterede nøgler såsom skatteyder-id, betalingsrelaterede nøgler såsom skyldig beløb og rabat og generelle nøgler såsom faktura-id, leveringsdato og kontonummer. Nøgler, der ikke er normaliserede, vises stadig i oversigtsfelterne som nøgle-værdi-par. Se en komplet liste over understøttede udgiftsfelter Analyse af fakturaer og kvitteringer. - Linjeposter – Dette afsnit inkluderer normaliserede linjepostnøgler såsom varebeskrivelse, enhedspris, mængde og produktkode.
- OCR-blok – Blokken indeholder råtekstuddraget fra fakturasiden. Råtekstekstraktet kan bruges til efterbehandling og identifikation af information, der ikke er dækket som en del af oversigts- og linjepostfelterne.
Dette indlæg bruger Amazon Textract IDP CDK konstruerer (AWS CDK-komponenter til at definere infrastruktur til intelligent dokumentbehandling (IDP) arbejdsgange), som giver dig mulighed for at bygge brugs-case-specifikke, tilpasselige IDP-arbejdsgange. Konstruktionerne og prøverne er en samling af komponenter for at muliggøre definition af IDP-processer på AWS og publiceret til GitHub. De anvendte hovedkoncepter er AWS CDK-konstruktionerne, den faktiske AWS CDK stakkeog AWS-trinfunktioner.
Følgende figur viser arbejdsgangen Trinfunktioner.
Ekstraktionsarbejdsgangen omfatter følgende trin:
- InvoiceProcessor-Decider - En AWS Lambda funktion, der verificerer, om inputdokumentformatet understøttes af Amazon Textract. For flere detaljer om understøttede formater, se Indtast dokumenter.
- DocumentSplitter – En Lambda-funktion, der genererer 2,500-siders (maks.) bidder fra dokumenter og kan behandle store flersidede dokumenter.
- Kort tilstand – En Lambda-funktion, der behandler hver del parallelt.
- TextractAsync – Denne opgave kalder Amazon Textract ved hjælp af den følgende asynkrone API bedste praksis med Amazon Simple Notification Service (Amazon SNS) meddelelser og anvendelser
OutputConfig
for at gemme Amazon Textract JSON-output til den S3-bøtte, du oprettede tidligere. Den består af to Lambda-funktioner: en til at indsende dokumentet til behandling og en der udløses på SNS-meddelelsen. - TextractAsyncToJSON2 - Fordi
TextractAsync
opgave kan producere flere paginerede outputfiler, denTextractAsyncToJSON2
processen kombinerer dem til én JSON-fil.
Vi diskuterer detaljerne i de næste tre trin i de følgende afsnit.
Verifikation og godkendelse
Til verifikationsfasen, SetMetaData
Lambda-funktionen verificerer, om den uploadede fil er en gyldig udgift i henhold til reglerne, der tidligere er konfigureret i DynamoDB-tabellen. Til dette indlæg bruger du følgende eksempelregler:
- Bekræftelsen er vellykket, hvis
INVOICE_RECEIPT_ID
er til stede og matcher regex(?i)[0-9]{3}[a-z]{3}[0-9]{3}$
, ifPO_NUMBER
er til stede og matcher regex(?i)[a-z0-9]+$
- Bekræftelsen er mislykket, hvis enten
PO_NUMBER
orINVOICE_RECEIPT_ID
er forkert eller mangler i dokumentet.
Når filerne er behandlet, flytter udgiftsverifikationsfunktionen inputfilerne til enten approved
or declined
mapper i samme S3-spand.
I forbindelse med denne løsning bruger vi DynamoDB til at gemme reglerne for udgiftsvalidering. Du kan dog ændre denne løsning til at integrere med dine egne eller kommercielle udgiftsvaliderings- eller administrationsløsninger.
Intelligent indeks og søgning
Med OpenSearchPushInvoke
Lambda-funktion, de udtrukne udgiftsmetadata skubbes til et OpenSearch Service-indeks og er tilgængelige for søgning.
Finalen TaskOpenSearchMapping
trin rydder konteksten, som ellers kunne overskride Trinfunktioner kvote af maksimal input- eller outputstørrelse for en opgave, tilstand eller workflowkørsel.
Efter at OpenSearch Service-indekset er oprettet, kan du søge efter nøgleord fra den udtrukne tekst via OpenSearch Dashboards.
Arkivering, revision og analyse
For at administrere livscyklussen og arkiveringen af fakturaer og kvitteringer kan du konfigurere S3-livscyklusregler til at overføre S3-objekter fra standard- til Intelligent-Tiering-lagringsklasser. S3 Intelligent-Tiering overvåger adgangsmønstre og flytter automatisk objekter til niveauet Infrequent Access, når de ikke er blevet tilgået i 30 dage i træk. Efter 90 dage uden adgang flyttes objekterne til Archive Instant Access-niveauet uden indvirkning på ydeevnen eller driftsomkostninger.
Til revision og analyse bruger denne løsning OpenSearch Service til at køre analyser på fakturaanmodninger. OpenSearch Service giver dig mulighed for ubesværet at indtage, sikre, søge, samle, se og analysere data til en række brugssager, såsom loganalyse, applikationssøgning, virksomhedssøgning og mere.
Log ind på OpenSearch Dashboards og naviger til Stakstyring, Gemte objekter, Og vælg derefter Importere. Vælg fakturaer.ndjson fil fra det klonede lager og vælg Importere. Dette præfylder indekser og bygger visualiseringen.
Opdater siden og naviger til Home, Hovedmenu, og åben Fakturaer. Du kan nu vælge og anvende filtre og udvide tidsvinduet for at udforske tidligere fakturaer.
Ryd op
Når du er færdig med at evaluere Amazon Textract for at behandle kvitteringer og fakturaer, anbefaler vi at rydde op i alle ressourcer, du måtte have oprettet. Udfør følgende trin:
- Slet alt indhold fra S3-bøtten
invoiceprocessorworkflow-invoiceprocessorbucketf1-*
. - I AWS Cloud9 skal du køre følgende kommandoer for at slette Amazon Cognito-ressourcer og CloudFormation-stakke:
- Slet AWS Cloud9-miljøet, som du oprettede fra AWS Cloud9-konsollen.
Konklusion
I dette indlæg har vi givet et overblik over, hvordan vi kan bygge en fakturaautomatiseringspipeline ved hjælp af Amazon Textract til dataudtræk og skabe en arbejdsgang til validering, arkivering og søgning. Vi gav kodeeksempler på, hvordan man bruger AnalyzeExpense
API til udtræk af kritiske felter fra en faktura.
For at komme i gang skal du logge ind på Amazon Textract-konsollen for at prøve denne funktion. For at lære mere om Amazon Textract-funktioner, se Amazon Textract Developer Guide or Textract-ressourcer. For at lære mere om IDP, se IDP med AWS AI-tjenester del 1 , del 2 indlæg.
Om forfatterne
Sushant Pradhan er Sr. Solutions Architect hos Amazon Web Services, der hjælper virksomhedskunder. Hans interesser og erfaring omfatter containere, serverløs teknologi og DevOps. I sin fritid nyder Sushant at tilbringe tid udendørs med sin familie.
Shibin Michaelraj er Sr. Product Manager hos AWS Textract-teamet. Han er fokuseret på at bygge AI/ML-baserede produkter til AWS-kunder.
Suprakash Dutta er Sr. Solutions Architect hos Amazon Web Services. Han fokuserer på digital transformationsstrategi, applikationsmodernisering og -migrering, dataanalyse og maskinlæring. Han er en del af AI/ML-fællesskabet hos AWS og designer intelligente dokumentbehandlingsløsninger.
Maran Chandrasekaran er Senior Solutions Architect hos Amazon Web Services, der arbejder med vores virksomhedskunder. Uden for arbejdet elsker han at rejse og køre på sin motorcykel i Texas Hill Country.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- PlatoHealth. Bioteknologiske og kliniske forsøgs intelligens. Adgang her.
- Kilde: https://aws.amazon.com/blogs/machine-learning/build-a-receipt-and-invoice-processing-pipeline-with-amazon-textract/
- :er
- :ikke
- :hvor
- $OP
- 1
- 100
- 25
- 30
- 7
- 8
- 9
- a
- Om
- adgang
- af udleverede
- Konto
- Konti
- gældsforpligtelser
- faktiske
- Yderligere
- adresse
- Efter
- aggregat
- AI
- AI-tjenester
- AI / ML
- Alle
- tillader
- sammen
- allerede
- også
- Amazon
- Amazon Cognito
- amazontekst
- Amazon Web Services
- beløb
- an
- analytics
- analysere
- ,
- enhver
- api
- vises
- Anvendelse
- Indløs
- tilgang
- godkendelse
- Godkend
- godkendt
- arkitektur
- Arkiv
- ER
- OMRÅDE
- omkring
- AS
- At
- revision
- revision
- automatisere
- automatisk
- Automation
- til rådighed
- AWS
- AWS Cloud9
- AWS CloudFormation
- baseret
- BE
- fordi
- været
- mellem
- Bloker
- Bootstrap
- både
- browser
- bygge
- Bygning
- bygger
- virksomhed
- by
- kaldet
- Opkald
- CAN
- kapaciteter
- fange
- tilfælde
- kanaler
- kontrollere
- valg
- Vælg
- klasser
- Rengøring
- Cloud
- Cloud9
- kode
- indsamler
- samling
- kombinerer
- kommerciel
- samfund
- fuldføre
- komplekse
- komponenter
- begreber
- Konfiguration
- konfigureret
- træk
- består
- Konsol
- konstant
- konstruktioner
- Beholdere
- indeholder
- indhold
- sammenhæng
- Koste
- omkostningsbesparelser
- kunne
- land
- dækket
- skabe
- oprettet
- Oprettelse af
- kritisk
- Kunder
- tilpasses
- instrumentbræt
- dashboards
- data
- Dataanalyse
- Dato
- Dage
- dedikeret
- Standard
- definere
- definition
- levering
- afhængigheder
- indsætte
- implementering
- beskrivelse
- designs
- ødelægge
- detaljer
- Bestem
- Udvikler
- Udvikling
- Enheder
- diagram
- forskellige
- digital
- Digital Transformation
- Rabat
- diskutere
- distinkt
- dyk
- dokumentet
- dokumenter
- køre
- grund
- dutta
- hver
- tidligere
- ekko
- editor
- effektivitet
- ubesværet
- enten
- andet
- muliggøre
- muliggør
- forbedre
- Enterprise
- Miljø
- etc.
- evaluere
- at alt
- overstige
- eksisterende
- Udvid
- erfaring
- udtrykkeligt
- udforske
- ekstrakt
- udvinding
- familie
- Feature
- felt
- Fields
- Figur
- File (Felt)
- Filer
- Filtre
- endelige
- finansielle
- økonomisk
- fokuserede
- fokuserer
- efter
- Til
- format
- fra
- funktion
- funktioner
- Generelt
- genererer
- få
- Git
- GitHub
- Go
- håndtere
- Hård Ost
- Have
- he
- hjælpe
- Høj
- stærkt
- hans
- besidder
- Hvordan
- How To
- Men
- HTML
- http
- HTTPS
- menneskelig
- i
- ID
- identificere
- if
- billeder
- KIMOs Succeshistorier
- importere
- vigtigt
- in
- omfatter
- omfatter
- forkert
- indeks
- indekseret
- indekser
- oplysninger
- Infrastruktur
- indgang
- installere
- øjeblikkelig
- integrere
- integreret
- Intelligent
- Intelligent dokumentbehandling
- interesser
- ind
- faktura
- fakturabehandling
- fakturaer
- IT
- jpg
- json
- lige
- Holde
- nøgler
- søgeord
- Etiketter
- landskab
- stor
- senere
- LÆR
- læring
- Lets
- Niveau
- livscyklus
- ligesom
- Line (linje)
- LINK
- Liste
- log
- langsigtet
- Se
- elsker
- maskine
- machine learning
- Main
- administrere
- ledelse
- leder
- tændstikker
- max
- maksimal
- nævnte
- Metadata
- måske
- migration
- minutter
- mangler
- ændre
- skærme
- mere
- mest
- motorcykel
- flyttet
- bevæger sig
- flere
- mangfoldighed
- skal
- navn
- Naviger
- Ny
- næste
- ingen
- Bemærk
- underretning
- meddelelser
- nu
- nummer
- objekter
- of
- tit
- on
- ONE
- åbent
- operationelle
- Optimer
- or
- ordrer
- organisationer
- Ellers
- vores
- udendørs
- output
- uden for
- overliggende
- oversigt
- egen
- side
- betalt
- par
- Parallel
- del
- passerer
- Adgangskode
- forbi
- mønstre
- betaleren
- betaling
- per
- ydeevne
- fase
- stykker
- pipeline
- plato
- Platon Data Intelligence
- PlatoData
- PO
- politikker
- pool
- Indlæg
- Indlæg
- potentiale
- foruddefineret
- præsentere
- tidligere
- pris
- behandle
- Behandlet
- Processer
- forarbejdning
- producere
- Produkt
- produktchef
- Produkter
- give
- forudsat
- offentliggjort
- formål
- skubbet
- mængde
- Raw
- klar
- kvitteringer
- modtaget
- modtagende
- anbefaler
- henvise
- henvisningen
- regulært udtryk
- Afvist..
- relaterede
- Relationer
- relevant
- Repository
- anmodninger
- Krav
- Ressourcer
- dem
- svar
- tilbageholdelse
- Ride
- regler
- Kør
- kører
- samme
- prøve
- Besparelser
- skalerbar
- scanning
- Søg
- Anden
- Sektion
- sektioner
- sikker
- sikkert
- søger
- Vælg
- send
- senior
- Serverless
- tjeneste
- Tjenester
- sæt
- indstillinger
- delt
- bør
- Vis
- Shows
- underskrive
- signifikant
- Simpelt
- Størrelse
- So
- løsninger
- Løsninger
- udgifterne
- stable
- Stakke
- Stage
- etaper
- standard
- starte
- påbegyndt
- starter
- Tilstand
- Trin
- Steps
- Stadig
- opbevaring
- butik
- Strategi
- indsende
- vellykket
- sådan
- RESUMÉ
- Understøttet
- bord
- Tag
- tager
- Opgaver
- skat
- hold
- Teknologier
- terminal
- vilkår
- Texas
- tekst
- at
- Blokken
- deres
- Them
- derefter
- Disse
- de
- denne
- tre
- Gennem
- tier
- tid
- tidskrævende
- til
- nutidens
- traditionelle
- Transformation
- Transformationsstrategi
- overgang
- rejse
- udløst
- prøv
- to
- typen
- enhed
- uploadet
- brug
- anvendte
- Bruger
- bruger
- ved brug af
- gyldig
- validering
- værdi
- Værdier
- sælger
- leverandører
- Verifikation
- via
- Specifikation
- visualisering
- Visualiser
- måder
- we
- web
- webservices
- hvornår
- hvorvidt
- som
- vindue
- med
- inden for
- uden
- Arbejde
- workflow
- arbejdsgange
- arbejder
- skriver
- Du
- Din
- zephyrnet