Factuurparse - Factuurgegevensextractie voor PDF's en gescande documenten PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Factuur ontleden – Factuurgegevens extraheren voor PDF's en gescande documenten

Als u ooit een factuur handmatig heeft moeten verwerken, weet u hoe tijdrovend en vervelend het proces kan zijn. Om nog maar te zwijgen, het is gevoelig voor fouten, omdat het gemakkelijk is om iets te missen als je alles met de hand doet.

Dat is waar factuurparsers van pas komen. Deze tools automatiseren het proces van het extraheren van gegevens uit facturen, waardoor het snel en gemakkelijk wordt om de informatie te krijgen die u nodig hebt. Dit kan u veel tijd en moeite besparen en ervoor zorgen dat uw facturen correct worden verwerkt.

Dit artikel onderzoekt het proces van extractie van factuurgegevens met behulp van factuurparsers, met een bespreking van enkele van de beste methoden om dit te doen, waaronder tabelextractie, geavanceerde OCR en deep learning.

We zullen ook de voordelen onderzoeken van geautomatiseerde extractie van factuurgegevens ten opzichte van handmatige verwerking. Laten we er meteen in duiken.

Wat is een factuurparser?

Een factuurparser is een type software dat is ontworpen om factuurdocumenten te lezen en te interpreteren. Dit kunnen pdf's, afbeeldingen en andere soorten bestanden zijn.

Het doel van een factuurparser is om belangrijke informatie uit een factuur te halen, zoals de factuur-ID, het totale verschuldigde bedrag, de factuurdatum, de naam van de klant, enzovoort. Factuurparsers kunnen helpen de nauwkeurigheid te waarborgen door fouten te voorkomen die kunnen optreden bij handmatige gegevensextractie.

Deze informatie kan vervolgens voor verschillende doeleinden worden gebruikt, zoals: AP automatisering, maandafsluiting boekhoudingsprocesen factuurbeheer.

Factuurparsers kunnen op zichzelf staande programma's zijn of worden geïntegreerd in grotere bedrijfssoftwaresystemen. Deze tools maken het voor teams gemakkelijker om rapporten te genereren of de gegevens te exporteren naar andere applicaties, zoals Excel, en worden vaak gebruikt naast andere bedrijfsbeheerapplicaties.

Er zijn veel verschillende softwareoplossingen voor het ontleden van facturen op de markt, dus het is essentieel om er een te kiezen die aan uw specifieke behoeften voldoet.

Hoe werkt een factuurparser?

Om te begrijpen hoe factuurparsers werken, is het belangrijk om praktische kennis van parsers te hebben.

Parsers worden gebruikt om documenten die in een specifieke opmaaktaal zijn geschreven, te interpreteren en te verwerken. Ze splitsen het document op in kleinere stukjes, tokens genaamd, en analyseren vervolgens elk token om de betekenis ervan te bepalen en hoe het in de algemene structuur van het document past.

Om dit te doen, moeten parsers een goed begrip hebben van de grammatica van de gebruikte opmaaktaal. Hierdoor kunnen ze individuele tokens identificeren en de onderlinge relaties correct begrijpen. Afhankelijk van de parser kan dit proces handmatig of automatisch zijn. Handmatige parsers vereisen dat iemand door het document stapt en elk token identificeert, terwijl automatische parsers algoritmen gebruiken om tokens automatisch te detecteren en te verwerken. Hoe dan ook, parsers spelen een essentiële rol bij het begrijpen van documenten die in opmaaktalen zijn geschreven.

Bij gegevensextractie kan het ontleden van facturen een factuurdocument analyseren en relevante informatie extraheren.

Denk bijvoorbeeld aan het geval u veel facturen heeft gekregen en de gegevens daarvan gestructureerd wilt opslaan. Met het ontleden van facturen kunt u alle bestanden laden en optische tekenherkenning (OCR) uitvoeren, zodat de gegevens binnen enkele minuten kunnen worden gelezen en alle sleutel-waardeparen kunnen worden geëxtraheerd. Vervolgens kunt u enkele nabewerkingsalgoritmen gebruiken om ze op te slaan in meer leesbare formaten zoals JSON of CSV. Je kan ook processen en workflows bouwen het gebruik van factuurparsing om het extraheren van facturen uit de administratie van uw bedrijf te automatiseren.

Factuur parseren met Python

Python is een programmeertaal voor verschillende taken voor gegevensextractie, waaronder het ontleden van facturen. In dit gedeelte leert u hoe u Python-bibliotheken gebruikt om gegevens uit facturen te extraheren.

Het bouwen van een generieke, ultramoderne factuurparser die op alle gegevenstypen kan worden uitgevoerd, is moeilijk, omdat deze verschillende taken omvat, zoals het lezen van tekst, omgaan met talen, lettertypen, documentuitlijning en het extraheren van sleutel-waardeparen. Met behulp van open-sourceprojecten en wat vindingrijkheid zouden we echter op zijn minst een paar van deze problemen kunnen oplossen en aan de slag kunnen.

We gebruiken bijvoorbeeld een tool genaamd tabula op een voorbeeldfactuur - een pythonbibliotheek om tabellen te extraheren voor het ontleden van facturen. Om het onderstaande codefragment uit te voeren, moet u ervoor zorgen dat zowel Python als tabula/tabulate op de lokale computer zijn geïnstalleerd.

voorbeeldfactuur.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]))

uitgang

-  ------------  ----------------
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...
-  -  -------------------------------  ------  -----  ------

We zouden de tabellen uit een pdf-bestand kunnen extraheren met een paar regels code. Dit komt omdat het PDF-bestand goed is opgemaakt, uitgelijnd en elektronisch is gemaakt (niet vastgelegd door de camera). Als het document daarentegen door een camera was vastgelegd in plaats van elektronisch te worden geproduceerd, zou het voor deze algoritmen veel moeilijker zijn geweest om de gegevens te extraheren - dit is waar optische tekenherkenning in het spel komt.

Laten we gebruiken tesseract, een populaire OCR-engine voor python, om een ​​factuur te ontleden.

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())

Dit zou je de volgende output moeten geven -

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

Met behulp van dit woordenboek kunnen we elk woord detecteren, hun begrenzingsvakinformatie, de tekst erin en hun betrouwbaarheidsscores.

U kunt de dozen plotten met behulp van de onderstaande code -

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)

U ziet de volgende uitvoer:

Zo kunnen we de regio's van een factuur gebruiken en herkennen. Er moeten echter aangepaste algoritmen worden gebouwd voor extractie van sleutel-waardeparen. We zullen hier meer over leren in de volgende secties.

De problemen met verouderde factuurparsers (op regels gebaseerde vastlegging)

Tegenwoordig vertrouwen veel organisaties nog steeds op legacy-systemen voor het extraheren van factuurgegevens.

Deze "op regels gebaseerde" systemen parseren elk regelitem op facturen en vergelijken ze vervolgens met een reeks regels om te bepalen of de informatie aan hun database moet worden toegevoegd.

Deze methode wordt al heel lang gebruikt, maar heeft een aantal nadelen. Laten we eens kijken naar enkele veelvoorkomende problemen waarmee verouderde factuurparsers worden geconfronteerd.

  • Pagina kantelen tijdens het scannen: Een probleem met op regels gebaseerde factuurparsers is dat ze problemen kunnen hebben met 'paginakanteling'. Dit gebeurt wanneer de velden in een factuur niet in een rechte lijn zijn geplaatst, waardoor het moeilijk is voor de parser om de gegevens nauwkeurig te identificeren en te extraheren. Dit kan vaak worden veroorzaakt door printers die niet gelijkmatig afdrukken of door handmatige invoer van gegevens die mogelijk niet correct zijn uitgelijnd.
  • Indeling wijzigen: Een van de meest voorkomende problemen waarmee een bedrijf wordt geconfronteerd, zijn facturen die niet in een standaardformaat zijn opgemaakt. Dit kan problemen veroorzaken bij het extraheren van gegevens uit een factuur. Er kunnen bijvoorbeeld verschillende lettertypen worden gebruikt en de factuurlay-out kan van maand tot maand veranderen. Het is moeilijk om de gegevens te ontleden en te bepalen wat elke kolom vertegenwoordigt. Er kunnen bijvoorbeeld enkele nieuwe velden aan de factuur worden toegevoegd, of sommige bestaande velden kunnen op andere posities worden geplaatst. Of er kan een geheel nieuwe structuur komen waardoor een gewone, op regels gebaseerde parser facturen niet correct kan herkennen.
  • Tabel Extractie: Op regels gebaseerde tabelextractors zijn vaak de meest rechttoe rechtaan en gemakkelijkste manier om gegevens uit een tabel te extraheren. Ze hebben echter hun beperkingen bij het omgaan met tabellen die geen headers bevatten of null-waarden in specifieke kolommen bevatten, omdat deze scenario's tijdens de verwerking een oneindige lus veroorzaken, wat resulteert in tijdverspilling bij het laden van oneindig lange rijen in het geheugen (of het uitvoeren van niets helemaal niet) als er ook afhankelijke uitdrukkingen waren met betrekking tot die attributen. Bovendien, wanneer tabellen meerdere pagina's beslaan, behandelen op regels gebaseerde parsers ze als verschillende tabellen in plaats van één en zo het extractieproces misleiden.

Bouw een op AI gebaseerde factuurparser met Nanonets

Factuurparsers met optische tekenherkenning (OCR) en deep learning kunnen gegevens extraheren uit facturen die zijn gescand of geconverteerd naar PDF's. Deze gegevens kunnen vervolgens boekhoudsoftware vullen, uitgaven bijhouden en rapporten genereren.

Deep learning-algoritmen kunnen leren hoe specifieke elementen in een factuur kunnen worden geïdentificeerd, zoals de naam, het adres en productinformatie van de klant. Dit zorgt voor nauwkeurigere gegevensextractie en kan de tijd die nodig is om gegevens handmatig in een systeem in te voeren, verminderen. Het bouwen van dergelijke algoritmen vereist echter veel tijd en expertise, maar maak je geen zorgen; Nanonets staat achter je!

Nanonets is OCR-software die kunstmatige intelligentie gebruikt om de extractie van tabellen uit PDF-documenten, afbeeldingen en gescande bestanden te automatiseren. In tegenstelling tot andere oplossingen zijn er geen aparte regels en sjablonen nodig voor elk nieuw documenttype. In plaats daarvan vertrouwt het op cognitieve intelligentie om semi-gestructureerde en ongeziene documenten te verwerken en in de loop van de tijd te verbeteren. U kunt de uitvoer ook aanpassen om alleen tabellen of gegevensinvoer van uw interesse te extraheren.

Het is snel, nauwkeurig, gebruiksvriendelijk, stelt gebruikers in staat om vanaf het begin aangepaste OCR-modellen te bouwen en heeft een aantal handige Zapier-integraties. Digitaliseer documenten, extraheer tabellen of gegevensvelden en integreer met uw dagelijkse apps via API's in een eenvoudige, intuïtieve interface.

[Ingesloten inhoud]

Waarom is Nanonets de beste PDF-parser?

  • Nanonetten kunnen gegevens op de pagina extraheren, terwijl PDF-parsers op de opdrachtregel alleen objecten, kopteksten en metagegevens extraheren, zoals (titel, #pagina's, coderingsstatus, enz.)
  • Nanonets PDF-parsing-technologie is niet op sjablonen gebaseerd. Naast het aanbieden van vooraf getrainde modellen voor populaire gebruiksscenario's, kan het Nanonets PDF-parsing-algoritme ook ongeziene documenttypen verwerken!
  • Naast het verwerken van native PDF-documenten, maakt Nanonet's ingebouwde OCR-mogelijkheden het ook mogelijk om gescande documenten en afbeeldingen te verwerken!
  • Robuuste automatiseringsfuncties met AI- en ML-mogelijkheden.
  • Nanonetten verwerken met gemak ongestructureerde gegevens, veelvoorkomende gegevensbeperkingen, PDF-documenten met meerdere pagina's, tabellen en items met meerdere regels.
  • Nanonets is een tool zonder code die zichzelf continu kan leren en opnieuw kan trainen op aangepaste gegevens om output te leveren die geen nabewerking vereist.

Geautomatiseerde factuurontleding met Nanonets – het creëren van volledig contactloze workflows voor factuurverwerking

Integreer uw bestaande tools met Nanonets en automatiseer gegevensverzameling, exportopslag en boekhouding.

Nanonets kunnen ook helpen bij het automatiseren van workflows voor het ontleden van facturen door:

  • Importeren en consolideren van factuurgegevens uit meerdere bronnen - e-mail, gescande documenten, digitale bestanden/afbeeldingen, cloudopslag, ERP, API, enz.
  • Op intelligente wijze factuurgegevens vastleggen en extraheren uit facturen, ontvangstbewijzen, rekeningen en andere financiële documenten.
  • Categoriseren en coderen van transacties op basis van bedrijfsregels.
  • Geautomatiseerde goedkeuringsworkflows instellen om interne goedkeuringen te krijgen en uitzonderingen te beheren.
  • Het afstemmen van alle transacties.
  • Naadloze integratie met ERP's of boekhoudsoftware zoals Quickbooks, Sage, Xero, Netsuite en meer.

Tijdstempel:

Meer van AI en machine learning