Invoice Parse - Laskutietojen poiminta PDF-tiedostoille ja skannatuille asiakirjoille PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Invoice Parse – Laskutietojen poiminta PDF-tiedostoille ja skannatuille asiakirjoille

Jos olet joskus joutunut käsittelemään laskun manuaalisesti, tiedät kuinka aikaa vievä ja työläs prosessi voi olla. Puhumattakaan, se on altis virheille, koska on helppo unohtaa jotain, kun teet kaiken käsin.

Siellä laskun jäsentimet tulevat käyttöön. Nämä työkalut automatisoivat tietojen poimimisen laskuista, mikä tekee tarvitsemiesi tietojen saamisesta nopeaa ja helppoa. Tämä voi säästää paljon aikaa ja vaivaa ja auttaa varmistamaan, että laskusi käsitellään oikein.

Tässä artikkelissa tarkastellaan laskutietojen poimintaprosessia laskun jäsentimien avulla ja keskustellaan parhaista menetelmistä sen tekemiseen, mukaan lukien taulukoiden purkaminen, edistynyt tekstintunnistus ja syväoppiminen.

Tutkimme myös automaattisen laskutietojen poiminnan etuja manuaaliseen käsittelyyn verrattuna. Sukellaan heti sisään.

Mikä on laskun jäsentäjä?

Laskun jäsentäjä on eräänlainen ohjelmisto, joka on suunniteltu lukemaan ja tulkitsemaan laskuasiakirjoja. Tämä voi sisältää PDF-tiedostoja, kuvia ja muun tyyppisiä tiedostoja.

Laskun jäsentimen tarkoitus on poimia laskusta keskeiset tiedot, kuten laskun tunnus, erääntyvä kokonaissumma, laskun päivämäärä, asiakkaan nimi ja niin edelleen. Laskujen jäsentimet voivat auttaa varmistamaan tarkkuuden välttämällä virheitä, joita voi syntyä tietojen manuaalisesta poimimisesta.

Näitä tietoja voidaan sitten käyttää eri tarkoituksiin, kuten AP-automaatio, kuukauden lopun kirjanpidon sulkemisprosessija laskujen hallinta.

Laskujen jäsentimet voivat olla itsenäisiä ohjelmia tai integroida suurempiin yritysohjelmistojärjestelmiin. Nämä työkalut helpottavat raporttien luomista tai tietojen viemistä muihin sovelluksiin, kuten Exceliin, ja niitä käytetään usein muiden liikkeenjohtosovellusten rinnalla.

Markkinoilla on monia erilaisia ​​laskun jäsennysohjelmistoratkaisuja, joten on tärkeää valita sellainen, joka vastaa tarpeitasi.

Kuinka laskun jäsentäjä toimii?

Jotta ymmärtäisit, kuinka laskun jäsentimet toimivat, on tärkeää tuntea jäsentimet.

Jäsentimiä käytetään tietyllä merkintäkielellä kirjoitettujen asiakirjojen tulkitsemiseen ja käsittelemiseen. He jakavat asiakirjan pienempiin osiin, joita kutsutaan tokeneiksi, ja analysoivat sitten jokaisen tunnuksen määrittääkseen sen merkityksen ja kuinka se sopii asiakirjan yleiseen rakenteeseen.

Tätä varten jäsentäjillä on oltava vahva ymmärrys käytetyn sivunkuvauskielen kielioppista. Näin he voivat tunnistaa yksittäiset merkit ja ymmärtää oikein niiden väliset suhteet. Jäsentimestä riippuen tämä prosessi voi olla joko manuaalinen tai automaattinen. Manuaaliset jäsentimet edellyttävät, että joku käy läpi asiakirjan ja tunnistaa jokaisen tunnuksen, kun taas automaattiset jäsentimet käyttävät algoritmeja tunnistaakseen ja käsitelläkseen tunnukset automaattisesti. Joka tapauksessa jäsentimillä on olennainen rooli merkintäkielillä kirjoitettujen asiakirjojen ymmärtämisessä.

Tietojen poiminnassa laskun jäsennys voi analysoida laskutositteen ja poimia asiaankuuluvat tiedot.

Harkitse esimerkiksi tapausta, jossa sinulle on annettu useita laskuja ja haluat tallentaa niiden tiedot strukturoidussa muodossa. Laskun jäsennys mahdollistaa kaikkien tiedostojen lataamisen ja optisen merkintunnistuksen (OCR) suorittamisen, jotta tiedot voidaan lukea ja kaikki avainarvoparit purkaa muutamassa minuutissa. Seuraavaksi voit käyttää joitain jälkikäsittelyalgoritmeja tallentaaksesi ne luettavampiin muotoihin, kuten JSON tai CSV. Voit myös rakentaa prosesseja ja työnkulkuja käyttämällä laskujen jäsentämistä laskujen poimimisen automatisoimiseksi yrityksesi tietueista.

Laskun jäsennys Pythonilla

Python on ohjelmointikieli erilaisiin tiedonkeruutehtäviin, mukaan lukien laskujen jäsentäminen. Tämä osio opettaa sinulle, kuinka Python-kirjastoja käytetään tietojen poimimiseen laskuista.

Yleisen huippuluokan laskun jäsentimen rakentaminen, joka toimii kaikilla tietotyypeillä, on vaikeaa, koska se sisältää erilaisia ​​tehtäviä, kuten tekstin lukemisen, kielten, fonttien käsittelyn, asiakirjan kohdistuksen ja avainarvoparien purkamisen. Avoimen lähdekoodin projektien ja kekseliäisyyden avulla voimme kuitenkin ratkaista ainakin muutaman näistä ongelmista ja aloittaa.

Käytämme esimerkiksi tabula-nimistä työkalua esimerkkilaskussa – python-kirjastoa taulukoiden poimimiseen laskun jäsentämistä varten. Suorita alla oleva koodinpätkä varmistamalla, että sekä Python että tabula/tabulate on asennettu paikalliseen koneeseen.

näyte-lasku.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]))

ulostulo

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

Voisimme poimia taulukot PDF-tiedostosta muutaman rivin koodilla. Tämä johtuu siitä, että PDF-tiedosto oli hyvin muotoiltu, kohdistettu ja luotu sähköisesti (ei kuvattu kameralla). Sitä vastoin, jos asiakirja olisi kaapattu kameralla sen sijaan, että se olisi tuotettu sähköisesti, näiden algoritmien olisi ollut paljon vaikeampaa poimia tietoja – tässä tulee esiin optinen merkintunnistus.

Käytetään Tesseract, suosittu OCR-moottori pythonille, jota voidaan jäsentää laskun kautta.

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

Tämän pitäisi antaa sinulle seuraava tulos -

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

Tämän sanakirjan avulla voimme saada jokaisen sanan tunnistettua, sen rajauskentän tiedot, niissä olevan tekstin ja niiden luottamuspisteet.

Voit piirtää ruudut alla olevan koodin avulla -

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)

Näet seuraavan tulosteen:

Näin voimme käyttää ja tunnistaa laskun alueita. Avain-arvoparien erottamista varten on kuitenkin rakennettava mukautettuja algoritmeja. Opimme tästä lisää seuraavissa osioissa.

Vanhojen laskun jäsentimien ongelmat (sääntöihin perustuva kaappaus)

Nykyään monet organisaatiot luottavat edelleen vanhoihin järjestelmiin laskutietojen poiminnassa.

Nämä "sääntöpohjaiset" järjestelmät jäsentävät jokaisen laskun rivikohdan ja vertaavat niitä sitten sääntöihin määrittääkseen, pitäisikö tiedot lisätä heidän tietokantaan.

Tätä menetelmää on käytetty pitkään, mutta sillä on useita haittoja. Tarkastellaan joitain yleisiä ongelmia, joita vanhat laskun jäsentimet kohtaavat.

  • Sivun kallistus skannauksen aikana: Yksi ongelma sääntöpohjaisissa laskun jäsentimissä on, että niillä voi olla vaikeuksia "sivun kallistuksen" kanssa. Tämä tapahtuu, kun laskun kentät eivät ole suorassa linjassa, jolloin jäsentimen on vaikea tunnistaa ja poimia tietoja tarkasti. Tämä voi usein johtua tulostimista, jotka eivät tulosta tasaisesti, tai tietojen manuaalisesta syöttämisestä, jota ei ehkä ole kohdistettu oikein.
  • Muotomuutos: Yksi yrityksen yleisimmistä ongelmista ovat laskut, joita ei ole muotoiltu vakiomuotoon. Tämä voi aiheuttaa ongelmia, kun yritetään poimia tietoja laskusta. Esimerkiksi erilaisia ​​fontteja voidaan käyttää, ja laskun asettelu voi vaihdella kuukaudesta toiseen. On vaikea jäsentää tietoja ja määrittää, mitä kukin sarake edustaa. Esimerkiksi joitain uusia kenttiä voidaan lisätä laskuun tai joitain olemassa olevia kenttiä voidaan sijoittaa eri paikkoihin. Tai sitten voi olla kokonaan uusi rakenne, jonka vuoksi tavallinen sääntöpohjainen jäsentäjä ei pysty tunnistamaan laskuja oikein.
  • Taulukon uuttaminen: Sääntöpohjaiset taulukkopoimijat ovat usein yksinkertaisin ja helpoin tapa poimia tietoja taulukosta. Niillä on kuitenkin rajoituksensa käsiteltäessä taulukoita, jotka eivät sisällä otsikoita tai joissa ei ole nolla-arvoja tietyissä sarakkeissa, koska nämä skenaariot aiheuttavat äärettömän silmukan käsittelyn aikana, mikä johtaa joko ajanhukkaamiseen äärettömän pitkien rivien lataamiseen muistiin (tai ei tulosta mitään ollenkaan), jos olisi riippuvaisia ​​lausekkeita, jotka sisältävät myös nämä attribuutit. Lisäksi, kun taulukot kattavat useita sivuja, sääntöpohjaiset jäsentimet käsittelevät niitä eri taulukoina yhden sijasta ja johtavat siten poimintaprosessia harhaan.

Rakenna tekoälypohjainen laskun jäsentäjä nanonettien avulla

Laskujen jäsentimet, joissa on optinen merkintunnistus (OCR) ja syväoppiminen, voivat poimia tietoja laskuista, jotka on skannattu tai muunnettu PDF-tiedostoiksi. Nämä tiedot voivat sitten täyttää kirjanpitoohjelmiston, seurata kuluja ja luoda raportteja.

Syväoppimisalgoritmit voivat oppia tunnistamaan tietyt laskun elementit, kuten asiakkaan nimen, osoitteen ja tuotetiedot. Tämä mahdollistaa tarkemman tiedon poimimisen ja voi lyhentää tietojen manuaaliseen syöttämiseen järjestelmään kuluvaa aikaa. Tällaisten algoritmien rakentaminen vaatii kuitenkin paljon aikaa ja asiantuntemusta, mutta älä huoli. Nanonets on selkäsi!

Nanonets on OCR-ohjelmisto, joka käyttää tekoälyä automatisoimaan taulukoiden purkamista PDF-dokumenteista, kuvista ja skannatuista tiedostoista. Toisin kuin muut ratkaisut, se ei vaadi erillisiä sääntöjä ja malleja jokaiselle uudelle asiakirjatyypille. Sen sijaan se luottaa kognitiiviseen älykkyyteen käsitelläkseen osittain jäsenneltyjä ja näkymättömiä asiakirjoja parantaen samalla ajan myötä. Voit myös mukauttaa tulosteen poimimaan vain sinua kiinnostavat taulukot tai tietomerkinnät.

Se on nopea, tarkka ja helppokäyttöinen, sen avulla käyttäjät voivat rakentaa mukautettuja OCR-malleja tyhjästä, ja siinä on hienoja Zapier-integraatioita. Digitoi asiakirjoja, poimi taulukoita tai tietokenttiä ja integroi jokapäiväisiin sovelluksiisi sovellusliittymien kautta yksinkertaisessa, intuitiivisessa käyttöliittymässä.

[Upotetun sisällön]

Miksi Nanonets on paras PDF-jäsennin?

  • Nanonetit voivat poimia sivun tietoja, kun taas komentorivin PDF-jäsentäjät poimivat vain objekteja, otsikoita ja metatietoja, kuten (otsikko, #sivut, salauksen tila jne.)
  • Nanonets PDF -jäsennystekniikka ei ole mallipohjainen. Sen lisäksi, että Nanonets PDF-jäsentelyalgoritmi tarjoaa ennalta koulutettuja malleja suosittuihin käyttötarkoituksiin, se voi myös käsitellä näkymättömiä asiakirjatyyppejä!
  • Alkuperäisten PDF-dokumenttien käsittelyn lisäksi Nanonetin sisäänrakennetut OCR-ominaisuudet mahdollistavat myös skannattujen asiakirjojen ja kuvien käsittelyn!
  • Vankat automaatio-ominaisuudet tekoäly- ja ML-ominaisuuksilla.
  • Nanonetit käsittelevät helposti jäsentämätöntä dataa, yleisiä tietorajoituksia, monisivuisia PDF-dokumentteja, taulukoita ja monirivisiä kohteita.
  • Nanonets on kooditon työkalu, joka voi jatkuvasti oppia ja kouluttaa itsensä uudelleen mukautettujen tietojen suhteen tuottaakseen tuloksia, jotka eivät vaadi jälkikäsittelyä.

Automatisoitu laskujen jäsennys Nanonetsilla – täysin kosketusvapaa laskunkäsittelytyönkulku

Integroi olemassa olevat työkalusi Nanonetsiin ja automatisoi tiedonkeruu, vientitallennus ja kirjanpito.

Nanonetit voivat myös auttaa automatisoimaan laskun jäsennystyönkulkuja:

  • Laskutietojen tuonti ja yhdistäminen useista lähteistä – sähköposti, skannatut asiakirjat, digitaaliset tiedostot/kuvat, pilvitallennus, ERP, API jne.
  • Kaappaa ja poimi laskutiedot älykkäästi laskuista, kuiteista, laskuista ja muista talousasiakirjoista.
  • Tapahtumien luokittelu ja koodaus liiketoimintasääntöjen perusteella.
  • Automaattisten hyväksyntätyönkulkujen määrittäminen sisäisten hyväksyntöjen saamiseksi ja poikkeusten hallintaan.
  • Kaikkien tapahtumien yhteensovittaminen.
  • Integroituu saumattomasti ERP-ohjelmiin tai kirjanpitoohjelmistoihin, kuten Quickbooks, Sage, Xero, Netsuite ja monet muut.

Aikaleima:

Lisää aiheesta Tekoäly ja koneoppiminen