Számlafeldolgozás ChatGPT-vel: megnéztük, mit tud egy havi számlakötegen
30 magyar számla, 11 futás, öt modellváltozat. A pontosság nem volt baj. A teljesség igen.
Feltöltöttük a cégünk egyhavi számláit, harminc darabot egyetlen PDF-ben, és megkértük a ChatGPT-t, hogy nyerje ki belőlük a számlaszámot, a partnert, az adószámot, az összegeket és a teljesítés dátumát. A kiolvasott értékek szinte hibátlanok voltak. A gyors modellváltozatok viszont a számlák több mint harmadát meg sem jelenítették a válaszban, és rákérdezve sem tudtak róla.
Ez a cikk arról szól, hogy a hiba nem ott volt, ahol kerestük.
Adott egy egyszerű kérdés
Havonta megpróbálja valaki minden magyar kisvállalkozásban: bedobja a számlákat egy chat ablakba, és megkéri, hogy csináljon belőlük táblázatot. Az eredmény ránézésre általában meggyőző, és ilyenkor születik meg a gondolat, hogy erre talán nem is kell külön rendszer.
Nálunk ez nem elméleti kérdés, mert magyar dokumentumfeldolgozó rendszert fejlesztünk. Ha egy chat felület elvégzi ugyanezt, azt jobb tudni, mint nem tudni. Úgyhogy lemértük.
Amit vártunk: hogy a pontosságon fog elbukni
Magyar számlák, vegyes elrendezés, szkennelt lízingszámlák halvány másolatban, kilencjegyű adószámok kötőjelekkel. Bőven van min hibázni.
És bevallom, volt ebben egy ki nem mondott feltevés is: hogy ha jó számokat ad vissza, akkor jó a válasz. Ez a feltevés dőlt meg, nem a modell.
Hogyan mértük: 30 valós számla, 11 futás
Harminc valós számla a saját cégünk egy hónapjából, vegyesen bejövő és kimenő, köztük hat szkennelt vagy fotózott dokumentum. Egyetlen összefűzött PDF, mindig ugyanabban a sorrendben, mindig ugyanazzal a kéréssel, minden futás új és üres beszélgetésben, kikapcsolt memóriával.
Összesen tizenegy futás, öt modellváltozattal: a szolgáltató „erős” és „egyszerű” üzemmódjaival, három különböző modellcsalád alatt. A helyes válaszokat a forrásdokumentumokból ellenőriztük vissza, számláról számlára.
A partnereink nevét ebben a cikkben nem írjuk le, csak azt, milyen típusú számláról van szó.
A jó hír: a kiolvasás pontos
Ezt tisztán ki kell mondani, mert enélkül a cikk többi része sem hiteles.
A legerősebb változat öt futásában összesen 880 kiolvasott mezőt ellenőriztünk, és egyetlen hibát találtunk benne: egy számlaszámból lenyelt egy nullát. Az összegek mind stimmeltek, a dátumok is, az adószámok is. Ez a változat mind az öt futásában mind a harminc számlát visszaadta, a szkennelt dokumentumokat is beleértve.
Külön kiemelendő az irány, mert erre épül minden könyvelési logika: azt kellett eldöntenie minden számláról, hogy a mi cégünk a vevő vagy a szállító. Mind a tizenegy futásban, több mint kétszáz soron, egyetlen tévedés nélkül eltalálta. A szkennelt lízingszámlákon is, ahol a saját cégnevünk a lap közepén szerepel, tördelve.
Ha itt megállunk, a cikk címe az lenne, hogy a chat felület megcsinálja. Aztán megszámoltuk a sorokat.
A csavar: számold meg a sorokat
Harminc számlát adtunk be. Az egyik futás tizenhét sort adott vissza. Egy másik tizennyolcat. Egy harmadik huszonkettőt.
És a táblázatok tökéletesen néztek ki. Egytől tizenhétig folyamatosan számozva, minden mező kitöltve, minden összeg helyes. Semmi nem utalt arra, hogy tizenhárom számla egyszerűen nincs benne.
Négy futás a két gyors változattal, mind a négyben ugyanez:
| Futás | Visszaadott sor | Hiányzó |
|---|---|---|
| gyors változat, 1. futás | 17 | 13 |
| gyors változat, 2. futás | 18 | 12 |
| másik gyors változat, 1. futás | 18 | 12 |
| másik gyors változat, 2. futás | 22 | 8 |
Ez a négy futásban 120 számlahelyből 45 elveszett számla, és egyik alkalommal sem jelezte egyik sem.
A hiányzók nem véletlenszerűek: majdnem mind szkennelt bejövő szállítói számla. A lízingcég havi értesítői, a kéményseprő írógéppel kitöltött nyomtatványa, az autószerviz fénymásolata, a műszaki kereskedő pénztári bizonylata. Vagyis pontosan az a kategória, amelyből egy magyar cégnél a legtöbb van.
Ami ezt igazán rosszá teszi: nem ugyanaz marad ki
Ha a kihagyás állandó lenne, lehetne rá szabályt írni: ezt a nyolcat mindig ellenőrizd kézzel. De nem állandó.
Nyolc számla mind a négy futásban kimaradt, öt viszont ingadozott: hol bekerült, hol nem. Ugyanaz a modellváltozat, ugyanazzal a PDF-fel, ugyanazzal a kéréssel egyszer tizennyolc, másodszor huszonkét sort adott. A második futásban elolvasott négy olyan szkennelt számlát, amit az elsőben átugrott.
Aki kétszer tölti fel ugyanazt a mappát, két különböző hosszúságú listát kap, és egyikről sem tudja meg, melyik a teljes.
Közben a pontosság is romlott valamelyest. A gyors változat egyik futásában elgépelt egy áfaösszeget: száz forinttal kevesebbet írt, mint amennyi a számlán állt. Ez a sor még saját magával is ellentmondásban volt, mert a nettó és az áfa összege nem a beírt bruttót adta ki. És ez nem is szkennelt oldal volt, hanem a saját számlázónk tiszta PDF-je.
Megvédtük, aztán megmértük
Itt majdnem hibáztunk, és ez a cikk módszertani lényege.
A kérésünkben szerepelt egy sor: „Csak a táblázatot add vissza, magyarázat és megjegyzés nélkül.” Kézenfekvő ellenvetés, hogy akkor a modell nem is figyelmeztethetett volna, tehát nem elhallgat, csak engedelmeskedik. Ez jogos felvetés, és egy darabig meg is győzött.
Aztán megkérdeztük tőle egyszerűen, hogy hány számla volt a dokumentumban.
Az a futás, amelyik tizennyolc sort adott, azt válaszolta: tizennyolc. Amelyik huszonkettőt, az azt, hogy huszonkettő. Egyik sem mondta, hogy harminc.
Nem elhallgatja a kihagyást. Nem tud róla. A ki nem olvasott oldalak nem „feldolgozatlan, de észlelt” állapotban vannak, hanem nem léteznek a modell világában. Ezért a jelzés hiánya nem a kérésünk mellékhatása, és nincs az a promptolás, amivel kikényszeríthető lenne.
Egy dologban egyébként mi tévedtünk menet közben. Volt egy számla, amelyre minden futás nullát írt nettóra, áfára és bruttóra, és ezt először egyhangú tévedésnek gondoltuk. Aztán megnéztük a papírt: egy előlegszámla végszámlája volt, ahol a tételek kioltják egymást, és a fizetendő tényleg nulla. A modellek jól olvasták, a gyanú volt alaptalan.
Amit ebből elvihetsz
Ha ma chat felülettel dolgoztatsz fel számlát, ez a négy dolog azonnal használható.
Számold meg a sorokat, minden alkalommal
Ez a legolcsóbb és leghatékonyabb ellenőrzés, amit tehetsz. Ha harminc számlát töltöttél fel, harminc sornak kell visszajönnie. Ez az egyetlen hiba, amit szemre nem lehet észrevenni, mert a hiányos válasz pontosan úgy néz ki, mint a teljes.
Ne a modellt kérdezd meg, hogy megvan-e mind
A saját, hiányos listája hosszát fogja visszamondani, magabiztosan. Az egyetlen megbízható forrás a te oldaladon van: hány fájlt töltöttél fel.
A szkennelt és fotózott számlákat kezeld külön
Ezek esnek ki elsőként. Ha vegyesen adod be őket a natív PDF-ekkel, nem fogod tudni, melyik maradt ki.
A gyors üzemmód nem a lassú üzemmód gyorsabban
A legördülő menü, amiről azt hiszed, sebességet állítasz vele, valójában azt is eldönti, hogy a dokumentumaid egy részét egyáltalán megnézi-e. A leggyorsabb futásunk fél perc alatt végzett, és tizenhárom számlát hagyott ki.
Amit ez a mérés nem bizonyít
Egy cég számlái, egy hónap, egyetlen kérés-megfogalmazás, egyetlen szolgáltató, egyetlen időpont. Ebből semmit nem állítunk arról, hogy más szolgáltatóknál más lenne a helyzet, mert nem mértük.
A kérés megfogalmazása a mi döntésünk volt, és egy másképp megírt kérés más eredményt adhatna. A kihagyás okára ez viszont nem hat, mert azt utólag ellenőriztük.
A „hány számla volt” kérdést ugyanabban a beszélgetésben tettük fel, ahol a táblázat is elkészült. Elvi lehetőség, hogy a modell csak a saját sorait számolta meg, és nem nézte újra a dokumentumot. Ezt külön nem mértük, tehát nem is állítjuk, hogy kizártuk.
Végül: a kötegméret hatását nem tudjuk számszerűsíteni. Öt és tizenöt számlára csak egy-egy futásunk van, ott nem választható szét a kötegméret és a futásonkénti ingadozás.
Mikor elég egy chat felület, és mikor kell rendszer
Nem minden feladathoz kell dokumentumfeldolgozó rendszer. Érdemes tisztán látni a határt.
| Megoldás | Mikor elég | Kinek nem való |
|---|---|---|
| Chat felület | Havi néhány számla, amit egyesével úgyis átnézel: a kiolvasás pontos, magyar számlán is, és öt tételnél a hiányzó sor azonnal feltűnik. | Ha havi több tíz számla jön, vagy sok köztük a szkennelt bejövő bizonylat: a hiányzó sorokat nem fogod észrevenni. |
| Dokumentumfeldolgozó rendszer | Havi több tíz számlától, ahol a teljesség, a szkennelt bizonylatok kezelése és az ellenőrzési lánc számít. | Ha havi öt számlád van, és mindet szemre ellenőrzöd: ehhez nem kell tőlünk semmit venni. |
Havi több tíz számlától kezdve ugyanaz a három dolog fog hiányozni, függetlenül attól, melyik szolgáltatót választod:
Nyomon követhető darabszám. Egy számlafeldolgozó rendszer minden beadott dokumentumhoz sort nyit, aminek van állapota és hibaüzenete: látszik, melyikkel mi történt, és melyik akadt el. A darabszám így a rendszer nyilvántartása, nem a modell emlékezete.
Szkennelt dokumentumok kezelése. A képi számlák nem opcionálisak: egy magyar cégnél a bejövő oldal nagy része ilyen. Ezeket nem elég néha elolvasni, mindig kell. Ez az OCR és a mezőszintű adatkinyerés dolga.
Ellenőrzési lánc. Kell tudni, mit olvasott ki a rendszer, és mit javított rajta ember. Egy chat ablakban ez nem marad meg.
A DocAI dokumentumfeldolgozó rendszere ezt a hármat oldja meg, magyar dokumentumokra tervezve. Ami a fentiek miatt külön lényeges: a feldolgozás a cég saját szerverén vagy magyar adatközpontban fut, tehát a partnereid adatai alapesetben nem kerülnek külföldi szolgáltatóhoz. Külső AI-szolgáltatót csak akkor lát a rendszer, ha az ügyfél maga kapcsolja be.
Ha az érdekel, hogy a te dokumentumaidon mit teljesít, a legjobb válasz nem egy termékbemutató, hanem egy mérés a saját anyagodon. Ezt szívesen elvégezzük.
Gyakori kérdések
Lehet ChatGPT-vel számlát feldolgozni?
Technikailag igen, és a kiolvasott értékek pontosak lehetnek. A mérésünkben az erős modellváltozat 880 ellenőrzött mezőből egyet rontott el. A kockázat nem a pontatlanság, hanem hogy a válasz kevesebb számlát tartalmazhat, mint amennyit feltöltöttél, és ez a válaszból nem látszik.
Mennyire pontos a ChatGPT magyar számlán?
A tesztünkben az erős változat gyakorlatilag hibátlanul olvasta ki a számlaszámot, a partnert, az adószámot, az összegeket és a dátumot, és mind a több mint kétszáz soron helyesen döntötte el, hogy bejövő vagy kimenő számláról van szó. A gyors változatok azokon a számlákon, amelyeket feldolgoztak, szintén jók voltak, egyetlen elgépelt áfaösszeggel.
Feldolgozza a ChatGPT a szkennelt számlákat?
Nem megbízhatóan. A mérésünkben a gyors modellváltozatok a szkennelt és fotózott bejövő számlák nagy részét kihagyták a válaszból, futásonként változó összetételben. Az erős változat mindet feldolgozta.
Hány számlát tud egyszerre feldolgozni a ChatGPT?
A darabszámnál fontosabb, hogy milyen dokumentumokról van szó, és melyik üzemmódot használod. Harminc számlából a gyors változatok 17 és 22 közötti sort adtak vissza, az erős változat mind a harmincat. Ugyanaz a beállítás futásról futásra más eredményt adott.
Miért nem elég a ChatGPT a könyveléshez?
Mert a könyveléshez nem elég, hogy az adatok pontosak legyenek: azt is tudni kell, hogy minden dokumentum bekerült. Egy chat felület nem tartja nyilván, hány dokumentumot adtál át neki, és rákérdezve is a saját válaszát fogja megismételni.
Összefoglalás
Harminc magyar számlát töltöttünk fel egyetlen PDF-ben, és tizenegy futásban, öt modellváltozattal néztük meg, mit ad vissza a ChatGPT. A kiolvasás pontos volt: az erős változat 880 ellenőrzött mezőből egyet rontott el, és a számla irányát több mint kétszáz soron egyszer sem tévesztette el.
A gyors modellváltozatok viszont harminc számlából 17 és 22 közötti sort adtak vissza, és a hiányról sem a válaszban, sem rákérdezve nem tettek említést: nem elhallgatják a kihagyást, hanem nem tudnak róla. A kimaradt tételek nagy része szkennelt bejövő szállítói számla volt, és futásról futásra változott, hogy melyik marad ki.
A gyakorlati következtetés ezért egyszerű: ha chat felülettel dolgozol fel számlát, a feltöltött fájlok számát vesd össze a visszakapott sorok számával, minden alkalommal. Havi néhány számlánál ez elég is. Havi több tíz számlától viszont három dolog hiányzik, amit egy chat ablak nem tud megadni: a teljességi garancia, a szkennelt bizonylatok megbízható kezelése és az ellenőrzési lánc.