isophoron
Goto Top

Inkassorechnungen, Mahnbescheide per OCR scannen und in vordefinierte Spalten von Excel per VBA eintragen

Hallo zusammen,

ich möchte die eingehenden Inkassorechnungen, Mahnbescheide u.ä. unserer Mandaten per OCR scannen und in eine Excel Liste automatisiert eintragen. Ich habe mir gedacht, dass dieses per VBA geschehen könnte. Aber irgendwie komme ich dabei nicht zurecht. Wenn mir hier jemand helfen könnte, wäre ich sehr dankbar.
Ich habe mal ein Screenshot der Liste mit angehängt. Es würde Arbeit ersparen, weil Mandanten zum Teil sehr viele Gläubiger haben.
gläubigerliste

Content-Key: 524251

Url: https://administrator.de/contentid/524251

Printed on: April 19, 2024 at 20:04 o'clock

Member: H41mSh1C0R
H41mSh1C0R Dec 11, 2019 at 13:52:27 (UTC)
Goto Top
Aloa,

wobei kommst du nicht zurecht? Googeln, VBA .....?

Sehe außer Aufgabe abkippen kein konkretes Problem?

Hast du eine OCR Software und kann man diese per Script ansteuern?

VG
Member: isophoron
isophoron Dec 11, 2019 at 14:04:57 (UTC)
Goto Top
Danke für die schnelle Rückmeldung. Wir haben nur Adobe Acrobat DC, sonst noch keine OCR Software.
Ich glaube, die kann man per Script ansteuern.
Aber das weißt du bestimmt besser. Sonst müssen wir eine kaufen.

Gegoogelt habe ich schon sehr viel. Leider für mich ohne erachtenswerten Erfolg.
Member: H41mSh1C0R
H41mSh1C0R Dec 11, 2019 at 14:22:37 (UTC)
Goto Top
Stichwort: iTextSharp

Hier im Forum gibt es schon einige Einträge dazu wie man Einträge aus PDFs ausliest.

z.B. für Mails (von Colinardo super beschrieben)
Skript zum Auslesen und Automatischen Versenden von E-Mails

Ist aber Powershell. ^^

VG
Member: isophoron
isophoron Dec 11, 2019 at 14:28:34 (UTC)
Goto Top
Könntest du mir mit einem Script behilflich sein?
Member: H41mSh1C0R
H41mSh1C0R Dec 11, 2019 at 15:06:09 (UTC)
Goto Top
Bei Auftragsarbeiten hilft sicher Colinardo weiter.
Für so nebenbei ist die Aufgabe für mich zu intensiv, sry.

Meine Vorgehensweise wäre das Script von Colinardo zu adaptieren auf erstmal 1 Feld (das keine Mailadresse ist) welches man auslesen will aus dem PDF.
Mitglied: 142232
142232 Dec 11, 2019 updated at 16:23:26 (UTC)
Goto Top
Moin.
Zitat von @isophoron:
Wir haben nur Adobe Acrobat DC, sonst noch keine OCR Software.
Ich glaube, die kann man per Script ansteuern.
Die OCR Funktion ist da eine rühmliche Ausnahme, die ist über die Acrobat API nicht mehr ansprechbar.
Wenn das jeweilige PDF also nicht bereits den Text enthält sondern nur Bildmaterial kannst du das damit knicken.
Gerade bei solch sensiblen Dokumenten ist OCR eine gefährliche Sache. Stimmt da nur ein Zeichen bei einer Nummer nicht 100% gibt das schnell Chaos. Wenn das niemand nachträglich sichtet.

Eine von vielen Varianten findest du bswp. hier:
https://docsumo.com/

See ya.
Member: beidermachtvongreyscull
beidermachtvongreyscull Dec 11, 2019 updated at 16:15:25 (UTC)
Goto Top
Ich wage zu bezweifeln -anhand der gegebenen Informationen-, dass das lösbar ist.

Gründe:
  • Inkassorechnungen und Mahnbescheide müssten einheitlich aufgebaut sein, so dass in bestimmten Zonen eines Dokuments zu erwartende Werte zu finden sind.
  • OCR ist fehleranfällig. Die Dokumentqualität ist maßgeblich entscheidend, ob wie hoch der Grad der Fehler ist.
  • Die Durchsuchbarmachung ist abhängig von der gewählten Engine. Es gibt Engines, die zeilenweise ein Dokument aufbrechen, andere können es auch zusätzlich in Spalten unterteilen, so dass Abschnitte entstehen. Worauf ich hinaus will: In Abhängigkeit zur OCR-Engine und dem Ergebnis wird es fraglich sein, gesuchte Zeichenfolgen korrekt zu identifizieren.

Es gibt Produkte, um hier ggf. Abhilfe zu schaffen:
https://www.enfocus.com wenn Du viel, sehr viel Geld hast, aber z.B. Adobe acrobat automatisieren willst.
https://www.kofax.de/sitecore/content/German/products/controlsuite/autos ... wenn Du billiger wegkommen willst.

Die Produkte von EnFocus kenne ich nur vom Namen her. Es heißt, die seien der Mercedes der Dokumentenautomatisierung.
Den Autostore setze ich in der Express-Edition ein. Er kann in Dokumenten suchen, die Suchergebnisse in Variablen übergeben und diese können über Scripte in XLS-Dateien oder ggf. direkt in Datenbanken geladen werden.
Member: isophoron
isophoron Dec 11, 2019 at 17:14:02 (UTC)
Goto Top
Ich bedanke mich schon jetzt für die Nachrichten. Wer weiß, was da noch kommt.
Ich werde eure Ratschläge ausprobieren und mich dann mit meinen Erfahrungen hier erneut melden.
Member: NetzwerkDude
NetzwerkDude Dec 11, 2019 updated at 17:51:37 (UTC)
Goto Top
Bei uns haben wir eine lösung, die nennt sich abtippkraft in der buchhaltung :D
Um das Maschinell zu machen, gibts zahlreiche Schwierigkeiten, die hier bereits erwähnt wurden.

tl;dr
100% verlässliche Lösungen gibt es nicht, schon gar nicht "ich hacke mal was an einem Nachmittag" - aber tendenziell ist es eine lösbare Aufgabe

An sich ist es so: Da OCR unzuverlässig ist und jede Rechnung / Mahnung anders aussieht, braucht das Programm einiges an Intelligenz. Als Ausganspunkt würde ich tesseract-ocr nehmen, denn dieser liefert im Ursprungzustand schon ganz gute ergebnisse.
Ich habe mir letztes Jahr ein kleines Tool geschrieben das zumindest bei Scans erkennt ob es eine Rechnung/Lieferschein/Angebot ist und den Lieferanten aus einer vorgefertigten Liste erkennt + unsere eigene Referenznummer extrahiert. Das ist der Tricky part, da zu hier u.a. eine Logik integrieren musst die mit Wahrscheinlichkeiten hantiert (z.B. das Wort "Rechnung" ist in Fett + Schriftgrad >12 steht bei knapp 1/3 der Länge des dokuments, während das Wort lieferschein in kleinen Schrift eher mitten im Dokument steht = höchtwahrscheinlich eine Rechnung die sich auf einen Lieferschein bezieht).
Ich bin mir bis heute nicht sicher ob eher ausgefallene RegExs oder Levenshtein Distanz zum Erfolg führt - alles was ich so gehackt habe ist immer nur maximal 90% zuverlässig - also weit weg vor einem produktivprodukt für die Buchhaltung.
Das schöne ist aber das z.B. tesseract eine mashine learning api hat - d.h. dem kannst auch was beibringen. Ebenso dein Programm sollte mit etwas lernen besser werden (da die Rechnungen z.B. immer gleich aussehen und man z.B. die von der buchhaltung bearbeiten lassen kann um Materiall fürs MashineLearning zu haben - aber brauchst verdammt viele Rechnungen).

Die Schritte im Einzelnen:
1. In möglichs hoher Qualität scanen (600dpi und höher, der computer freut sich immer über höhere Auflösungen)
2. den Scan vor dem OCS Prozess aufbereiten (hier gibts einen Schönen Artikel dazu: https://github.com/tesseract-ocr/tesseract/wiki/ImproveQuality)
3. Dann kannst du es mit tesseract scannen und am besten als structurierte "hocr" ausgeben
4. Die hocs kannst du selber behacken oder auf vorhandene tools setzen (z.B. hier https://github.com/tmbdev/hocr-tools) - auf jeden Fall ist das der Schritt bei dem man programmatisch die Werte nun ausliest und und die Excel einträgt.
5. Du bist der Held weil du so eine geile Software geschrieben hast face-smile

oder
Du könntest auch warten bis sich XRechnung durchsetzt, da kann man schön strukturiert alle Felder aus der XML auslesen (mehr dazu: https://ecosio.com/de/blog/was-ist-das-xrechnung-format/)

MFG N-Dude
Member: monstermania
monstermania Dec 17, 2019 at 10:01:55 (UTC)
Goto Top
Moin,
wenn Du Dich mal mit dem Thema etwas mehr beschäftigen möchtest kann ich Dir für den Einstieg ELO Office und den ELO Connector (jetzt Scan&Archive) empfehlen. Der ELO Connector ist eine vollwertige Formularerkennung/Zonenextration und ist in der kostenlos verfügbaren Testversion von ELO Office enthalten.
https://elooffice.elo.com/blog/wp-content/uploads/2014/03/Connector-1.pd ...
http://www.allesinordnung.de/fileadmin/user_upload/dokumente/LprobBuchE ...

Gruß
Dirk

PS: Mit etwas vbs-Skripting lässt sich der ELO Connecor auch im Rahmen eigener Projekte nutzen. face-wink
Ich habe mit dem ELO Konnektor eine automatische Verarbeitung von Abliefernachweisen der von uns genutzten Logistiker für meinen alten Arbeitgeber gebaut. Damit wurden mehrere hundert Dokumente im Monat automatisch verarbeitet und Indexdaten die ausgelesen.