Invoice Parse - Fakturadataextraktion för PDF-filer och skannade dokument PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Invoice Parse – Fakturadataextraktion för PDF-filer och skannade dokument

Om du någonsin har behövt behandla en faktura manuellt vet du hur tidskrävande och omständlig processen kan vara. För att inte tala om, det är benäget att göra misstag eftersom det är lätt att missa något när du gör allt för hand.

Det är där fakturatolkare kommer in. Dessa verktyg automatiserar processen att extrahera data från fakturor, vilket gör det snabbt och enkelt att få den information du behöver. Detta kan spara mycket tid och krångel och hjälpa till att säkerställa att dina fakturor behandlas korrekt.

Den här artikeln utforskar processen för att extrahera fakturadata med hjälp av fakturatolkare, med en diskussion om några av de bästa metoderna för att göra det, inklusive tabellextraktion, avancerad OCR och djupinlärning.

Vi kommer också att undersöka fördelarna med automatisk utvinning av fakturadata framför manuell bearbetning. Låt oss dyka direkt in.

Vad är en fakturatolkare?

En fakturatolkare är en typ av programvara som är utformad för att läsa och tolka fakturadokument. Detta kan inkludera PDF-filer, bilder och andra typer av filer.

Syftet med en fakturatolk är att extrahera nyckelinformation från en faktura, såsom faktura-id, totalt förfallna belopp, fakturadatum, kundnamn och så vidare. Fakturatolkare kan hjälpa till att säkerställa noggrannhet genom att undvika misstag som kan uppstå från manuell dataextraktion.

Denna information kan sedan användas för olika ändamål, som t.ex AP-automatisering, avslutande process för månadsbokslut, och fakturahantering.

Fakturatolkare kan vara fristående program eller integreras i större affärssystem. Dessa verktyg gör det enklare för team att generera rapporter eller exportera data till andra applikationer, t.ex. Excel och används ofta tillsammans med andra företagshanteringsapplikationer.

Det finns många olika mjukvarulösningar för fakturaanalys på marknaden, så det är viktigt att välja en som uppfyller dina specifika behov.

Hur fungerar en fakturatolkare?

För att förstå hur fakturatolkare fungerar är det viktigt att ha en fungerande kunskap om parsare.

Parsers används för att tolka och bearbeta dokument skrivna på ett specifikt märkningsspråk. De delar upp dokumentet i mindre bitar, så kallade tokens, och analyserar sedan varje token för att fastställa dess betydelse och hur det passar in i dokumentets övergripande struktur.

För att göra detta måste tolkarna ha en god förståelse för grammatiken för det använda märkningsspråket. Detta gör att de kan identifiera individuella tokens och korrekt förstå relationerna mellan dem. Beroende på parsern kan denna process vara antingen manuell eller automatisk. Manuella tolkare kräver att någon går igenom dokumentet och identifierar varje token, medan automatiska tolkare använder algoritmer för att upptäcka och bearbeta tokens automatiskt. Oavsett vilket så spelar parsers en viktig roll för att förstå dokument skrivna på märkspråk.

Vid datautvinning kan fakturaanalys analysera ett fakturadokument och extrahera relevant information.

Tänk till exempel på fallet där du har fått många fakturor och vill lagra data från dem i ett strukturerat format. Fakturaanalys gör att du kan ladda alla filer och köra optisk teckenigenkänning (OCR) så att data kan läsas och alla nyckel-värdepar extraheras inom några minuter. Därefter kan du använda några efterbehandlingsalgoritmer för att lagra dem i mer läsbara format som JSON eller CSV. Du kan också bygga processer och arbetsflöden använda fakturaanalys för att automatisera extraheringen av fakturor från ditt företags register.

Fakturaanalys med Python

Python är ett programmeringsspråk för olika dataextraktionsuppgifter, inklusive fakturaanalys. Det här avsnittet kommer att lära dig hur du använder Python-bibliotek för att extrahera data från fakturor.

Att bygga en generisk toppmodern fakturatolkare som kan köras på alla datatyper är svårt, eftersom den innehåller olika uppgifter som att läsa text, hantera språk, typsnitt, dokumentjustering och extrahera nyckel-värdepar. Men med hjälp från projekt med öppen källkod och lite uppfinningsrikedom kunde vi åtminstone lösa några av dessa problem och komma igång.

Till exempel kommer vi att använda ett verktyg som heter tabula på en provfaktura - ett pythonbibliotek för att extrahera tabeller för fakturatolkning. För att köra kodavsnittet nedan, se till att både Python och tabula/tabulate är installerade på den lokala maskinen.

provfaktura.pdf.

from tabula import read_pdf
from tabulate import tabulate
# PDF file to extract tables from
file = "sample-invoice.pdf"

# extract all the tables in the PDF file
#reads table from pdf file
df = read_pdf(file ,pages="all") #address of pdf file
print(tabulate(df[0]))
print(tabulate(df[1]))

Produktion

-  ------------  ----------------
0  Order Number  12345
1  Invoice Date  January 25, 2016
2  Due Date      January 31, 2016
3  Total Due     $93.50
-  ------------  ----------------

-  -  -------------------------------  ------  -----  ------
0  1  Web Design                       $85.00  0.00%  $85.00
      This is a sample description...
-  -  -------------------------------  ------  -----  ------

Vi kunde extrahera tabellerna från en PDF-fil med några rader kod. Detta beror på att PDF-filen var väl formaterad, justerad och skapad elektroniskt (inte fångad av kameran). Om dokumentet däremot hade fångats av en kamera istället för att produceras elektroniskt, skulle det ha varit mycket svårare för dessa algoritmer att extrahera data - det är här optisk teckenigenkänning kommer in i bilden.

Låt oss använda tesseract, en populär OCR-motor för python, för att analysera en faktura.

import cv2
import pytesseract
from pytesseract import Output

img = cv2.imread('sample-invoice.jpg')

d = pytesseract.image_to_data(img, output_type=Output.DICT)
print(d.keys())

Detta ska ge dig följande resultat -

dict_keys(['level', 'page_num', 'block_num', 'par_num', 'line_num', 'word_num', 'left', 'top', 'width', 'height', 'conf', 'text'])

Med hjälp av den här ordboken kan vi få varje ord som detekteras, deras begränsningsrutainformation, texten i dem och deras självförtroendepoäng.

Du kan plotta rutorna med koden nedan -

n_boxes = len(d['text'])
for i in range(n_boxes):
    if float(d['conf'][i]) > 60:
        (x, y, w, h) = (d['left'][i], d['top'][i], d['width'][i], d['height'][i])
        img = cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)

cv2.imshow('img', img)
cv2.waitKey(0)

Du kommer att se följande utdata:

Det är så vi kan använda och känna igen regionerna i en faktura. Däremot måste anpassade algoritmer byggas för att extrahera nyckel-värdepar. Vi kommer att lära oss mer om detta i följande avsnitt.

Problemen med äldre fakturatolkare (regelbaserad registrering)

Idag är många organisationer fortfarande beroende av äldre system för utvinning av fakturadata.

Dessa "regelbaserade" system analyserar varje rad på fakturor och jämför dem sedan mot en uppsättning regler för att avgöra om informationen ska läggas till i deras databas.

Denna metod har använts under lång tid men har flera nackdelar. Låt oss titta på några vanliga problem för äldre fakturatolkare.

  • Sidans lutning under skanning: Ett problem med regelbaserade fakturatolkare är att de kan ha svårt med "sidelutning." Detta inträffar när fälten i en faktura inte är placerade i en rak linje, vilket gör det svårt för parsern att exakt identifiera och extrahera data. Detta kan ofta orsakas av skrivare som inte skriver ut jämnt eller av manuell inmatning av data som kanske inte är korrekt justerade.
  • Formatändring: En av de vanligaste problemen ett företag står inför är fakturor som inte är formaterade i ett standardformat. Detta kan orsaka problem när man försöker extrahera data från en faktura. Till exempel kan olika typsnitt användas, och fakturalayouten kan ändras från en månad till en annan. Det är svårt att analysera data och bestämma vad varje kolumn representerar. Till exempel kan några nya fält läggas till på fakturan, eller några befintliga fält kan placeras på olika positioner. Eller så kan det finnas en helt ny struktur på grund av vilken en vanlig regelbaserad parser inte kommer att kunna känna igen fakturor korrekt.
  • Tabell extraktion: Regelbaserade tabellextraktorer är ofta det enklaste och enklaste sättet att extrahera data från en tabell. De har dock sina begränsningar när de hanterar tabeller som inte innehåller några rubriker eller inkluderar nollvärden i specifika kolumner eftersom dessa scenarier kommer att orsaka en oändlig loop under bearbetning vilket resulterar i att antingen slösar tid på att ladda oändligt långa rader i minnet (eller att ingenting matas ut alls) om det fanns beroende uttryck som också involverade dessa attribut. Dessutom, när tabeller sträcker sig över flera sidor, behandlar regelbaserade tolkare dem som olika tabeller istället för en och vilseledar på så sätt extraktionsprocessen.

Bygg en AI-baserad fakturatolkare med Nanonets

Fakturatolkare med optisk teckenigenkänning (OCR) och djupinlärning kan extrahera data från fakturor som har skannats eller konverterats till PDF-filer. Dessa data kan sedan fylla i bokföringsprogram, spåra utgifter och generera rapporter.

Algoritmer för djupinlärning kan lära sig att identifiera specifika element i en faktura, såsom kundens namn, adress och produktinformation. Detta möjliggör mer exakt dataextraktion och kan minska den tid som krävs för att manuellt mata in data i ett system. Att bygga sådana algoritmer kräver dock mycket tid och expertis, men oroa dig inte; Nanonets har din rygg!

Nanonets är en OCR-programvara som använder artificiell intelligens för att automatisera extraheringen av tabeller från PDF-dokument, bilder och skannade filer. Till skillnad från andra lösningar kräver det inte separata regler och mallar för varje ny dokumenttyp. Istället förlitar den sig på kognitiv intelligens för att hantera semi-strukturerade och osynliga dokument samtidigt som den förbättras över tid. Du kan också anpassa utdata för att bara extrahera tabeller eller dataposter av ditt intresse.

Det är snabbt, exakt, lätt att använda, låter användare bygga anpassade OCR-modeller från grunden och har några snygga Zapier-integrationer. Digitalisera dokument, extrahera tabeller eller datafält och integrera med dina vardagliga appar via API:er i ett enkelt, intuitivt gränssnitt.

[Inbäddat innehåll]

Varför är Nanonets den bästa PDF-tolkaren?

  • Nanonetter kan extrahera data på sidan medan PDF-parsers på kommandoraden bara extraherar objekt, rubriker och metadata som (titel, #sidor, krypteringsstatus, etc.)
  • Nanonets PDF-analyseringsteknik är inte mallbaserad. Förutom att erbjuda förutbildade modeller för populära användningsfall kan Nanonets PDF-analyseringsalgoritm också hantera osedda dokumenttyper!
  • Förutom att hantera inbyggda PDF-dokument, tillåter Nanonets inbyggda OCR-funktioner att den också kan hantera skannade dokument och bilder!
  • Robusta automatiseringsfunktioner med AI- och ML-funktioner.
  • Nanonetter hanterar enkelt ostrukturerad data, vanliga databegränsningar, flersidiga PDF-dokument, tabeller och flerradsobjekt.
  • Nanonets är ett kodfritt verktyg som kontinuerligt kan lära sig och träna sig om anpassade data för att ge utdata som inte kräver någon efterbearbetning.

Automatiserad fakturaanalys med Nanonets – skapar helt beröringsfria arbetsflöden för fakturahantering

Integrera dina befintliga verktyg med Nanonets och automatisera datainsamling, exportlagring och bokföring.

Nanonets kan också hjälpa till att automatisera arbetsflöden för fakturaanalys genom att:

  • Importera och konsolidera fakturadata från flera källor – e-post, skannade dokument, digitala filer/bilder, molnlagring, ERP, API, etc.
  • Fånga och extrahera fakturadata på ett intelligent sätt från fakturor, kvitton, räkningar och andra finansiella dokument.
  • Kategorisering och kodning av transaktioner baserat på affärsregler.
  • Konfigurera automatiska godkännandearbetsflöden för att få interna godkännanden och hantera undantag.
  • Avstämning av alla transaktioner.
  • Integrering sömlöst med affärssystem eller bokföringsprogram som Quickbooks, Sage, Xero, Netsuite och mer.

Tidsstämpel:

Mer från AI och maskininlärning