# Lokatoren Anleitungen zur Extraktion mittels Lokatoren. # Lokatoren Lokatoren sind in Squeeze Werkzeuge mit deren Hilfe Textinformationen aus Dokumenten ermittelt werden. Lokatoren können in Squeeze Feldern zugewiesen werden, in diesem Fall wird das Lokatorergebnis in das jeweilige Dokumentenfeld übernommen. **In Squeeze sind verschiedene Lokatorentypen verfügbar:**
LokatortypBedeutung
Regular ExpressionLokator für reguläre Ausdrücke z.B. (RG\[0-9\]{5,6})
KeyWordLokator für Schlüsselbegriffe. Diese Schlüsselbegriffe werden für den Fall, dass z.B. ein Buchstabe im Wort nicht richtig erkennbar ist, mit einer Fuzziness von einem Zeichen gesucht.
Invoice AmountsLokator für Endbeträge und Steuersatz einer Rechnung (Nettobetrag, Bruttobetrag, Steuerbetrag und Steuersatz)
Document DateLokator für Datumsangaben
Keyword to ValueLokator für Werte (reguläre Ausdrücke) die auf einen Schlüsselbegriff umgesetzt werden. Z.B: Das Wort "Schlussrechnung" soll auf den Schlüsselbegriff "Rechnung" umgesetzt werden.
Value next to KeywordLokator für Werte (reguläre Ausdrücke) die in der Nähe eines bestimmten Schlüsselbegriffes
Search for line itemsLokator für die Positionszeilenfindung
Search for DB linked dataLokator für Datenbanksuche (andere Lokatoren können als Source-Lokator angegeben werden)
BarcodeLokator für Barcodeerkennung
Value from Regular ExpressionDatenbanklokator für reguläre Ausdrücke (regex, result)
**Lokatoreigenschaften:**
EigenschaftBedeutung
Nametechnischer Lokatorname
BeschreibungAnzeigenamen für den Lokator
Lokator TypAuswahlfeld für Lokatortypen
DatentypAuswahlfeld für Lokatorwerte (Text, Date, Amount)
SeitenAuswahlfeld für welche Seiten des Dokumentes der Lokator ausgeführt werden soll (Jede Seite, Erste Seite, Letzte Seite)
ggf. QuelleAuswahlfeld für Lokatoren, deren Ergebnismenge für diesen Lokator genutzt werden soll
AktivAuswahlfeld für die Aktivierung des Lokators (ja, nein)
ignoriere Leerzeichendas Suchmuster des Lokators ignoriert Leerzeichen

Wichtig: Lokatoren können Ihr Suchmuster nur pro Textzeile finden, es gibt keine Möglichkeit mit Zeilenumbrüchen zu arbeiten.

**Mit dem Squeeze Invoice Template werden bereits verschiedene Lokatoren ausgeliefert:** [![image-1648467138006.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648467138006.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648467138006.png)

Wichtig: Diese Lokatoren können in jeder anderen Dokumentenklasse genutzt werden.

**Für jeden Lokator können entsprechende Ersetzungen konfiguriert werden:** [![image-1648467230330.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648467230330.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648467230330.png) **Beispiele für Ersetzungen im Phone (Telefonnummer) - Lokator:** [![image-1648467307999.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648467307999.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648467307999.png)

Wichtig: Ersetzungen können immer nur für die Ersetzung eines Zeichens durch ein oder ein Leerzeichen konfiguriert werden.

# Testen von Lokatoren Lokatoren können getestet werden, indem in der Validierung über das Optionsmenü "Lokatoren testen" ausgewählt wird. [![image-1648467709729.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648467709729.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648467709729.png) [![image-1648467783491.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648467783491.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648467783491.png) In dem Auswahlfenster kann der Lokator den der Benutzer testen möchte ausgewählt werden: [![image-1648467886249.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648467886249.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648467886249.png) Beim Klick auf den Button Testen wird der ausgewählte Lokator ausgeführt. Auf der linken Seite werden jetzt die erkannten Werte in einer Liste dargestellt. Auf der rechten Seite ist wieder das Dokument zu sehen. Wenn der Benutzer nun mit der Maus über einen der Werte zeigt, wird auf der rechten Seite die Fundstelle dieses Wertes markiert. [![image-1648468006847.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648468006847.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648468006847.png) Der Benutzer kann nun wahlweise den Button Bearbeiten klicken, dann erscheint der Konfigurationsdialog für den Lokator, hier kann die Konfiguration angepasst werden und der Test erneut ausgeführt werden. [![image-1648468114721.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648468114721.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648468114721.png) [![image-1648468145120.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648468145120.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648468145120.png) Besonders bei der Konfiguration eines Lokators für reguläre Ausdrücke, Schlüsselworte oder auch Positionen ist der Testmodus empfehlenswert. Nachdem der Benutzer einen neuen Lokator erfolgreich getestet hat, kann über den Reiter Optionen und den Menüpunkt Ergebnis neu erstellen, das Dokument erneut verarbeitet werden, dabei wird nur die Lokatoren-Konfiguration mit den aktuellen Einstellungen angewendet.

Hinweis: Bei Ergebnis neu erstellen, wird keine neue OCR-Erkennung durchgeführt, es wird lediglich die Lokatoren-Logik auf das OCR-Ergebnis neu angewendet.

# Lokator: Barcode # Lokator: Document Date **Der Lokator Document Date findet das erste Datum auf einer Dokumentenseite, von oben beginnend.**

Dieser Lokator kann nur mittels eines weiteren Lokators basierend auf der Suche nach regulären Ausdrücken genutzt werden. Für diesen Lokator sollten entsprechende reguläre Ausdrücke konfiguriert sein.

Im Squeeze Invoice-Template wird ein Lokator mit verschiedenen regulären Ausdrücken zur Datums-Suche ausgeliefert. Dieser Lokator (Dates) wird dann als Quelle für den Beleg-Datums-Lokator genutzt. **Konfiguration des Dates-Lokators:** Allgemeine Eigenschaften: [![image-1648643710726.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648643710726.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648643710726.png) **Reguläre Ausdrücke für den Date-Lokator:** [![image-1648643820678.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648643820678.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648643820678.png) **Konfiguration des Beleg-Datum-Lokators:** Der Datums-Lokator wird als Quelle für den Beleg-Datums Lokator eingetragen. [![image-1648643896600.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648643896600.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648643896600.png) # Lokator: Invoice Amounts **Der Lokator Invoice Amounts findet die Endbeträge (Nettobetrag, Bruttobetrag und Steuerbetrag) und den Steuersatz einer Rechnung.**

Dieser Lokator funktioniert nur in Kombination mit einem Betrags-Lokator der auf Basis regulärer Ausdrücke, numerische Werte mit 2 Nachkommastellen ermittelt. Darüber hinaus werden Stammdateninformationen zum gültigen Steuersatz benötigt.

**Die Funktionsweise dieses Lokators kann wie folgt beschrieben werden.** - Mittels des Betrags-Lokators werden zuerst alle Beträge der Rechnung gefunden - Auf der letzten Seite der Rechnung wird beginnend von unten nach oben der höchste Betrag ermittelt - In der Stammdaten-Tabelle taxrates (Steuersätze) werden mit dem Invoice Template alle europäischen Steuersätze landesspezifisch ausgeliefert - In der Stammdaten-Tabelle creditors (Bestandteil des ausgelieferten Invoice Templates) können kreditorspezifische Länderkennzeichen hinterlegt werden - Mittels des zum ermittelten Kreditor, passenden Länderkennzeichens, werden die für diese Rechnung gültigen Steuersätze ermittelt - Der Lokator Invoice Amount verwendet diese Informationen um zum höchsten gefundenen Bruttobetrag, mittels der gültigen Steuersätze, entsprechende passende Netto und Steuerbeträge zu finden.

Wichtig: Diese Konfiguration funktioniert nur für einen Steuersatz. Für Rechnungen mit mehreren Steuersätzen wird es in zukünftigen Versionen entsprechende Funktionen geben. Aktuell gibt es für diese Rechnungen die Möglichkeit Endbeträge für mehrere Steuersätze kreditorspezifisch zu trainieren.

#### Konfiguration des Invoice Amounts Lokators:

Voraussetzung für die Verwendung dieses Lokators ist ein Lokator für die Betragsfindung aufgrund regulärer Ausdrücke. Dieser Lokator wird mit dem Invoice Template ausgeliefert.

weitere Voraussetzungen sind die Stammdatentabellen taxrates und creditors. Beide Stammdatentabellen werden mit dem Invoice Template ausgeliefert.

[![image-1648643243789.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648643243789.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648643243789.png) Im Feld ggf. Quelle wird der konfigurierte Betragslokator hinterlegt. **Alternative Endbetragsermittllung für Rechnungen:** Da es vorkommen kann das einige Rechnungen die für die Endbetrags-Ermittlung notwendigen Werte (Brutto, Netto und Steuerbetrag) nicht enthalten (z.B. Rechnungen im Baugewerbe), kann für diese Rechnungen alternativ, die Endbetrags-Ermittlung nach dem Prinzip der Keyword-Suche konfiguriert werden. Für diese Konfiguration sind 3 weitere Keyword-Lokatoren (Nettobetrag, Bruttobetrag und Steuerbetrag) anzulegen. Diese Lokatoren sollten die gewünschten Schlüsselworte für die gesuchten Beträge finden. Diese Lokatoren können dann im Reiter Endbeträge entsprechend hinterlegt werden. [![image-1648643306663.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648643306663.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648643306663.png) #### Konfigurierbare Steuersätze je Land Seit der SQUEEZE Version 1.8.0 existiert eine weitere Möglichkeit zur Konfiguration dieses Lokators. Auf Grund der Mehrwertsteueranpassung zum 01.07.2020 wurde die Möglichkeit geschaffen, die gültigen Mehrwertsteuersätze je Land in der **Stammdatentabelle (taxrates)** zu hinterlegen. Hinzu kommt die Möglichkeit, der Betragserkennung mitzugeben, für welches Land gerade eine Betragserkennung durchgeführt werden soll bzw. welche Mehrwertsteuersätze zu nutzen sind. Das Land bzw. die Mehrwertsteuersätze können je Beleg variieren, daher kann unter dem neuen Reiter **Eigenschaften** hinterlegt werden, in welchem Feld (**TaxCountryField**) das Länderkürzel steht, welches zur Ermittlung der Steuersätze genutzt werden soll. Sollte kein Land ermittelt worden sein, kann ein Standard Ländercode festgelegt werden (**DefaultTaxCountry**), welcher verwendet wird, um die Steuersätze zu ermitteln. Hier ein Beispiel: [![image-1648643530325.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648643530325.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648643530325.png) # Lokator: KeyWord **Der Lokator KeyWord findet Schlüsselwörter in den OCR-Textzeilen des Dokumentes.** Das Ergebnis dieses Lokators ist das konfigurierte Schlüsselwort.

Wichtig: die Suche nach Schlüsselwörtern berücksichtigt immer nur ein Schlüsselwort.

Wichtig: Es können beliebig viele Schlüsselwörter konfiguriert werden, diese werden dann automatisch **oder** verknüpft gesucht.

Wichtig: Die Suche nach Schlüsselwörtern berücksichtigt eine gewisse Unschärfe. Im Detail bedeutet unscharf in diesem Lokator, das ein Zeichen des Schlüsselwortes abweichen kann und dennoch zu einem positiven Suchergebnis führen wird.

Wichtig: Schlüsselwörter werden in Squeeze case insensitive gesucht, das bedeutet, Groß-Klein Schreibung muss nicht extra berücksichtigt werden.

Die Anlage eines neuen Lokators für die Suche nach einem neuen Schlüsselwort, funktioniert analog zur Anlage eines regulären Ausdrucks, der Lokator Typ für die Schlüsselwortsuche ist KeyWord. # Lokator: KeyWord to Value **Der Lokator KeyWord to Value findet Schlüsselwörter in den OCR-Textzeilen des Dokumentes.**

Der Unterschied zum normalen KeyWord Lokator besteht darin, das dem Schlüsselwort ein weiterer konfigurierbarer Wert zugewiesen werden muss.

Das Ergebnis dieses Lokators ist der konfigurierte Wert der dem Schlüsselwort zugeordnet ist.

Darüber hinaus gelten für die KeyWord to Value Suche alle Merkmale der normalen KeyWord Suche (siehe Lokator: KeyWord)

**Ein geeignetes Beispiel für die KeyWord to Value Suche ist z.B. die Rechnungsart.**
zugewiesener Wertmögliche Schlüsselwörter
RechnungRechnung, Anzahlungsrechnung, Invoice, Faktura, Dauerrechnung etc.
GutschriftGutschrift, Debit Note etc.
**Anlegen eines KeyWord to Value Lokators:** Das Vorgehen zum Anlegen eines KeyWord to Value Lokators ist analog zum KeyWord Lokator. Wenn der Lokator Typ KeyWord to Value ausgewählt wird, erscheint im Konfigurationsdialog neben dem Reiter Suchbegriffe für die Schlüsselwörter, ein weiterer Reiter für die Konfiguration der Werte. Zuerst konfiguriert man den gewünschten Wert mit einem Klick auf den Reiter Werteliste. [![image-1648637904934.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648637904934.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648637904934.png) Mit einem Klick auf das + Symbol wird ein neuer Wert hinzugefügt. Daraufhin öffnet sich ein neues Fenster mit den beiden Feldern Wert und Beschreibung, diese beiden Felder werden im folgenden Beispiel jeweils mit dem Wert Rechnung gefüllt und mit einem Klick auf den Speichern Button bestätigt. [![image-1648638008764.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648638008764.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648638008764.png) Direkt unter den Werten können Suchbegriffe über das Symbol "Neuer Eintrag" gepflegt werden. [![image-1648638184167.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648638184167.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648638184167.png) [![image-1648638234271.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648638234271.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648638234271.png) Mit dieser Konfiguration werden das Schlüsselwort Rechnung auf dem Dokument gesucht und das Ergebnis dieses Lokators ist der Wert Rechnung. Diese Konfiguration kann beliebig erweitert werden. Zum Beispiel kann ein weiterer Wert Gutschrift hinzugefügt werden. Diesem Wert können wieder beliebig viele Suchbegriffe zugewiesen werden.

Wichtig: Jedem Suchbegriff sollte ein Wert zugewiesen werden, da andernfalls das Lokator-Ergebnis für den Suchbegriff leer bleibt.

# Lokator: Regular Expression **Der Lokator Regular Expression findet reguläre Ausdrücke in den OCR-Textzeilen des Dokumentes.** Das Ergebnis dieses Lokators ist das gefundene Suchmuster.

Wie reguläre Ausdrücke funktionieren, ist nicht Bestandteil dieser Dokumentation, dafür gibt es im Internet sehr viele gute Beispiele und Möglichkeiten zum Testen von regulären Ausdrücken, z.B. [https://regex101.com/](https://regex101.com/)

Wichtig: Es können beliebig viele reguläre Ausdrücke konfiguriert werden, diese werden dann automatisch **oder** verknüpft gesucht.

Wichtig: reguläre Ausdrücke werden in Squeeze case insensitive gesucht, das bedeutet, Groß-Klein Schreibung muss nicht extra berücksichtigt werden.

Wichtig: Die regulären Ausdrücke werden in der Reihenfolge in der diese angelegt sind gesucht, das bedeutet für einen regulären Ausdruck der bereits gefunden wurde, kann kein weiterer, in der Liste nachfolgender regulärer Ausdruck gefunden werden.

**Klassische Beispiele für den Einsatz von Lokatoren für reguläre Ausdrücke:**

Wichtig: für einige dieser regulären Ausdrücke müssen Ersetzungen konfiguriert werden

BeispielWertregulärer AusdruckLeerzeichen ignorieren
IBANDExx xxxx xxxx xxxx xxxx xx(DE\\d{20})ja
Ust-IDDE xxxxxxxx((DE)(\[1-9\]\\d{8}))ja
Beträge100,00 oder 1.000,00(\[-\\+\]?\[0-9\]{1,3}(\[ \]?\[,\\.\]?\[ \]?\[0-9\]{3})\*\[ \]?\[,\\.\]\[ \]?\[0-9\]{2}\[-\\+\]?(?!\[0-9.,\]))nein
Datum01.01.2020(\[0-9\]{1,2}\\.\[0-9\]{1,2}\\.\[0-9\]{4})|(\[0-9\]{1,2}\\.\[0-9\]{1,2}\\.\[0-9\]{2})ja
NamenMax Mustermann(Max Mustermann)nein
Telefonnr.+4940359840001 (\[+\]?\[0-9\]{8,15})ja
Emailadresseinfo@dexpro-solutions.de(\[a-zA-Z0-9\_\\-.\]{2,30}@\[a-zA-Z0-9-\]{2,30}\\.\[a-zA-Z\]{2,3})nein
URLwww.dexpro-solutions.de(www\\.\[a-zA-Z0-9-\]{2,30}\\.\[a-zA-Z\]{2,3})nein
##### beispielhafte Einrichtung eines neuen Lokators zur Erkennung einer Bestellnummer anhand eines regulären Ausdrucks Im folgenden Beispiel soll eine auf dem Dokument befindliche 10-stellige numerische Bestellnummer erkannt werden. Dazu bietet sich der Lokator für reguläre Ausdrücke sehr gut an. Um ins Lokatoren-Menü zu gelangen Klicken Sie auf Admin und danach auf Lokatoren. [![image-1648562983709.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648562983709.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648562983709.png) In der unteren Bildschirmleiste das Symbol "Neuer Eintrag" klicken um einen neuen Lokator anzulegen. [![image-1648563068961.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648563068961.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648563068961.png) Im sich daraufhin öffnenden Dialog den technischen Namen, den Anzeige-Namen des neuen Lokators angeben und den Lokator auf Aktiv setzen. Der Lokator-Typ Regular Expression ist bereits vorausgewählt. Die Erkennung der Bestellnummer soll auf jeder Seite durchgeführt werden und der Wert Typ den wir erkennen wollen ist Text. Danach wird der Lokator gespeichert. [![image-1648563343353.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648563343353.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648563343353.png) In der danach erscheinenden Ansicht klicken wir auf den Reiter Reguläre Ausdrücke um den Reg-Ex für den Lokator zu konfigurieren. Hier wieder das Symbol "Neuer Eintrag" klicken um einen neuen regulären Ausdruck zu konfigurieren. [![image-1648563530773.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648563530773.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648563530773.png) Der reguläre Ausdruck für eine freistehende 10 stellige Nummer könnte folgend konfiguriert werden: \\b(\[0-9\]{10})\\b dann auf Speichern klicken. [![image-1648563886916.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648563886916.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648563886916.png) Wie dieser Lokator getestet werden kann finden Sie auf der Seite "Testen von Lokatoren". # Lokator: Search for DB linked data Der Lokator DB-Link-Lokator **(Search for DB linked data)** findet auf Basis von konfigurierbaren Filtermerkmalen den Wert der für das entsprechende Feld vorgesehen ist. Mittels entsprechender Lokatoren für die Suche nach IBAN-Nummern, Umsatzsteuer-IDs, Steuernummern, Telefon - und Fax-Nummern, Email-Adressen oder Internet-Adressen wird in einer entsprechenden Datenbank nach passenden Einträgen gesucht und zu diesen Einträgen die Kreditor-Nummer zurückgegeben. 1. [Konfiguration des DB Link Locators](#bkmrk-konfiguration-des-db-0) 2. [Beispiel für Datenbank-Plausibilisierung ](#bkmrk-beispiel-f%C3%BCr-datenba) 3. [Lokatorenfilterung](#bkmrk-lokatorenfilterung) ##### **Konfiguration des DB-Link-Locators** Im folgenden gehen wir auf die beispielhafte Konfiguration eines Lokators ein, der zur Ermittlung von Kreditorennummern eingesetzt wird.

**Der Lokator für die Suche nach Kreditorennummern mittels der Datenbank-Suche ist Bestandteil des ausgelieferten "Invoice Templates" und ist ein klassisches Beispiel für die Verwendung dieses Lokators bei Eingangsrechnungs-Erkennung.**

Die Konfiguration wird analog zu allen anderen Lokatoren durchgeführt. Der Lokator Typ für den Db-Link-Lokator ist **"Search for DB linked data"** und muss über das Auswahlfeld innerhalb der Lokatoren-Konfiguration im Tab **"Allgemein"** ausgewählt werden. [![image-1688372712478.png](https://docs.squeeze.one/uploads/images/gallery/2023-07/scaled-1680-/image-1688372712478.png)](https://docs.squeeze.one/uploads/images/gallery/2023-07/image-1688372712478.png) Wie man nun erkennt sind neben des Typen-Merkmals auch die weiteren allgemeinen Merkmale, entsprechend unseres Beispiels, eingepflegt Um nun die Datenbanksuche und die Filtermerkmale zu konfigurieren müssen wir den Tab **"Datenbanksuche"** öffnen und die **Stammdaten-Tabelle** sowie die **Ausgabespalte** definieren. [![image-1688381823233.png](https://docs.squeeze.one/uploads/images/gallery/2023-07/scaled-1680-/image-1688381823233.png)](https://docs.squeeze.one/uploads/images/gallery/2023-07/image-1688381823233.png) Für die Umsetzung des konkreten Beispiels werden wir hier als Stammdaten-Tabelle die **"Liste aller Lieferanten"** wählen und die **Ausgabespalte** mit **"Nummer"** definieren. Auf die Konfigurationsmerkmale **Filterspalte**, **Filterfeld** und **Filterlokator** (ab Squeeze 2.5.0) gehen wir im [Abschnitt Lokator-Filter](#bkmrk-lokatorenfilterung) weiter ein. Im Unteren Abschnitt des Tabs "**Datenbanksuche"** können nun die ersten **Filtermerkmale(Quell-Lokatoren)**, im Tabellenabschnitt, konfiguriert werden: [![image-1688371726185.png](https://docs.squeeze.one/uploads/images/gallery/2023-07/scaled-1680-/image-1688371726185.png)](https://docs.squeeze.one/uploads/images/gallery/2023-07/image-1688371726185.png)
Source Lokator (Quell-Lokator)DB-Spalte der ausgewählten DBStop-Kennzeichen
UstId (Lokator für die Ermittlung von Umsatzsteuer-IDs)EUTaxIdNein
IBAN (Lokator für die Ermittlung von IBANs)IBANNein
Email (Lokator für die Ermittlung von Emails)EmailNein
URL (Lokator für die Ermittlung von URLs)WebpageNein
Phone (Lokator für die Ermittlung von Telefonnummern)PhoneNein
Phone (Lokator für die Ermittlung von Telefaxnummern)FaxNein

Die Such-Ergebnisse der Source-Lokatoren werden in der DB-Spalte der entsprechenden Datenbank gesucht und der Wert der Ergebnis-Spalte zurückgegeben.

Die Reihenfolge wie die Ergebnisse der Source-Lokatoren in der Datenbank gesucht werden, kann in der Liste via Drag & Drop geändert werden. Der oberste Eintrag wird zuerst gesucht, der unterste Eintrag zuletzt.

Für das Stop-Kennzeichen kann entweder **ja** oder **nein** ausgewählt werden. **Ja** bedeutet, wenn nur ein Ergebnis in der Datenbank gefunden wird, wird der Wert der konfigurierten Ergebnis-Spalte zurückgegeben und die Suche beendet. **Nein** bedeutet, unabhängig ob es Treffer in der Datenbank gibt, es wird immer mit dem nächsten Lokator in der Liste weiter gesucht.

Für die IBAN bedeutet diese Konfiguration, alle via IBAN-Lokator gefundenen IBANs werden in der Datenbankspalte IBAN gesucht, wenn eine oder mehrere passende IBANs gefunden werden, werden die Kreditor-IDs dieser Zeilen zurückgegeben. **Mit dem Symbol "Neuer Eintrag" können weitere Lokatoren die bereits konfiguriert sind, ausgewählt und hinzugefügt werden.** [![image-1688371793234.png](https://docs.squeeze.one/uploads/images/gallery/2023-07/scaled-1680-/image-1688371793234.png)](https://docs.squeeze.one/uploads/images/gallery/2023-07/image-1688371793234.png) - das Feld **"Quellen-Lokator"** ist ein Auswahlfeld mit allen Lokatoren die konfiguriert sind - das Feld **"DB Spalte"** gibt an in welcher Datenbankspalte das Lokatorergbnis in der Tabelle gesucht werden soll - für das Feld **"Stop"** kann ja/nein gewählt werden und bestimmt ob die weitere Suche nach einem eindeutigen Treffer fortgeführt werden soll, wenn ein Wert für das Filtermerkmal **"Quellen-Lokator"** gefunden wurde. ##### **Verwendungsmöglichkeit als Datenbank-Plausibilisierung** So könnte man zum Beispiel unter Verwendung anderer Lokatortypen wie: - [Regex Lokatoren](https://docs.squeeze.one/books/squeeze-2-admin-handbuch/page/lokator-value-from-regular-expression "Lokator: Value from Regular Expression") - [KeyWord Lokatoren](https://docs.squeeze.one/books/squeeze-2-admin-handbuch/page/lokator-keyword-to-value "Lokator: KeyWord to Value") - [Value next to KeyWord Lokatoren](https://docs.squeeze.one/books/squeeze-2-admin-handbuch/page/lokator-value-next-to-keyword "Lokator: Value next to KeyWord") folgende eindeutigen Werte auf dem Dokument ermitteln: - Bestell-Nummern, - Lieferschein-Nummern, - Auftrags-Nummern, - Mandanten-Namen und als Quell-Lokatoren in dem Tabellenabschnitt des **DB-Link Lokators** hinzufügen. - - - - - - In dem folgenden Beispiel, wird die mittels eines regulären Ausdrucks ermittelte Bestellnummern, gegen eine Datenbank mit entsprechenden Bestellnummern plausibilisiert. **Regex-Lokator für Erkennung der Bestellnummer (10-stellig numerisch) mittels regulärem Ausdruck:** [![image-1648644299907.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648644299907.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648644299907.png) **DB-Link Lokator für die Plausibilisierung der erkannten Bestellnummer gegen eine Datenbank:** [![image-1688381976971.png](https://docs.squeeze.one/uploads/images/gallery/2023-07/scaled-1680-/image-1688381976971.png)](https://docs.squeeze.one/uploads/images/gallery/2023-07/image-1688381976971.png) ##### **Lokatorenfilterung (ab Squeeze 2.5.0)** Der DB-Link-Lokator bietet ab der Version 2.5.0 drei neue Filtermerkmale um die Datenbankeinträge die zu Prüfen sind vorab einzugrenzen. Unter dem Tab "**Datenbanksuche**" können nun die drei neue Merkmale zur Filterung definiert werden. 1. **Filterspalte** - die Datenbank Spalte die als Basis des Vergleichs herangezogen wird 2. **Filterfeld** - das Dokumentenklassen-Feld das verwendet werden soll, um auf die Filterpalte zu vergleichen 3. **Filter-Lokator** - ein bereitsbestehender Lokator der ebenfalls verwendet werden soll, um auf die Filterspalte zu vergleichen [![image-1688380370985.png](https://docs.squeeze.one/uploads/images/gallery/2023-07/scaled-1680-/image-1688380370985.png)](https://docs.squeeze.one/uploads/images/gallery/2023-07/image-1688380370985.png) Folgendes Beispiel beschreibt die Formel für eine erfolgreiche Datensatz Identifizierung:
**Filtermerkmal-Ergebnis****Filtermerkmal**
AFilterspalte
BFilterfeld
CFilter-Lokator
**Formel:** `Wahr wenn: A = B = C` Alle Ergebnisse die dieser Formel entsprechen können nun durch die weiteren Quell-Lokatoren Filter validiert werden. Ein konkretes Beispiel wie man mit diesem Filter umgehen kann finden Sie [hier](https://docs.squeeze.one/books/squeeze-2-solution-templates/page/mandantenspezifische-kreditorfilterung "Mandantenspezifische-Kreditorfilterung"). # Lokator: Search for line items Der Lokator **Search for line items** findet Positionszeilen auf Dokumenten anhand entsprechender Spalten-Überschriften und unter diesen Spalten befindlichen Werten.

**Wir bitten darum die die Seite [Unterschiede zu Squeeze 1 (Lokatoren)](https://docs.squeeze.one/books/squeeze-2-admin-handbuch/page/unterschiede-zu-squeeze-1 "Unterschiede zu Squeeze 1") aufmerksam zu lesen, wenn Sie bereits mit Squeeze 1 (der alten Benutzeroberfläche) arbeiten / gearbeitet haben.**

Die Suche nach Positionen ist im ausgelieferten Invoice-Template bereits konfiguriert.

Die Positions-Suche in Squeeze benötigt entsprechende Lokatoren mit deren Hilfe die Spaltenüberschriften der Positions-Tabelle gefunden werden.

#### Funktionsweise Die Erkennung von Tabellen mittels dieses Lokators funktioniert in folgenden Schritten: - Spalten der Tabelle werden über ihre Überschriften ermittelt *(nutzt Überschriften-Lokator)* - Werte werden innerhalb der gefunden Spalten *gesucht (nutzt Wert-Lokator)* - Gefundene Werte werden zu Zeilen zusammengefasst #### Schrittweise Konfiguration Zur Konfiguration einer Positionserkennung gehören folgende Punkte. ##### 1. Überschriften & Wert-Lokatoren Sowohl die Überschriften, als auch die Werte werden über normale Lokatoren gefunden. Hier bietet sich bspw. ein "Regular Expression"-Lokator an. Für jede zu extrahierende Spalte wird also 1 Überschriftenlokator und 1 Wert-Lokator benötigt. ##### 2. Tabelle inkl. Tabellen-Spalten konfigurieren Als nächstes müssen die Lokatoren an den Tabellen-Spalten konfiguriert werden. Sollte bis jetzt noch gar keine Tabelle an der zu extrahierenden Dokumentenklasse existieren, dann muss diese zuerst inkl. Spalten konfiguriert werden. An jeder Tabellenspalte kann 1 Überschriftenlokator und 1 Wert-Lokator konfiguriert werden. ##### 3. Verknüpfung von Tabelle und Tabellen-Lokator (Search for line items) Zuletzt muss ein Tabellen-Lokator (Search for line items) konfiguriert werden. Diese Konfiguration geschieht an zwei Stellen: 1. An der Tabelle muss der angelegte Lokator ausgewählt werden. 2. Am Lokator muss die Tabelle ausgewählt werden, für welche der Lokator extrahieren muss.

**Achtung: Aktuell kann ein Tabellen-Lokator (Search for line items) nur für die Extraktion einer einzigen Tabelle eingesetzt werden.** D. h. für jede Tabelle (unabhängig davon, zu welcher Dokumentenklasse sie gehört), muss ein neuer Tabellen-Lokator eingerichtet werden. Das gilt **nicht** für die Überschriften- und Wert-Lokatoren, welche wiederverwendbar sind.

Das folgende Screenshot zeigt eine Warnung im Konfigurations-Dialog einer Tabelle. Diese Warnung soll dabei helfen mögliche Fehlerquellen auszuschließen.

[![image-1662031695453.png](https://docs.squeeze.one/uploads/images/gallery/2022-09/scaled-1680-/image-1662031695453.png)](https://docs.squeeze.one/uploads/images/gallery/2022-09/image-1662031695453.png) ### Beispiel: Konfiguration einer Standard-Positions-Suche für Eingangsrechnungen Beispiel: Überschriften-Lokator für die Spalte Menge: [![image-1662030159612.png](https://docs.squeeze.one/uploads/images/gallery/2022-09/scaled-1680-/image-1662030159612.png)](https://docs.squeeze.one/uploads/images/gallery/2022-09/image-1662030159612.png) [![image-1662030171618.png](https://docs.squeeze.one/uploads/images/gallery/2022-09/scaled-1680-/image-1662030171618.png)](https://docs.squeeze.one/uploads/images/gallery/2022-09/image-1662030171618.png)

Überschriften-Lokatoren für andere Überschriften sind wie auf den dargestellten Bildern, normale Lokatoren, welche bspw. via regulärem Ausdruck die Überschriften finden.

Die konfigurierten Suchbegriffe können je nach Anwendungsfall entsprechend angepasst und/oder erweitert werden.

Beispiel: Verwendung der Überschriften- und Wert-Lokatoren an der Tabellenspalte Menge:** ** [![image-1662030050684.png](https://docs.squeeze.one/uploads/images/gallery/2022-09/scaled-1680-/image-1662030050684.png)](https://docs.squeeze.one/uploads/images/gallery/2022-09/image-1662030050684.png) ##### Beispiel: Verwenden des Tabellen-Lokators an der Tabelle** ** [![image-1662030101072.png](https://docs.squeeze.one/uploads/images/gallery/2022-09/scaled-1680-/image-1662030101072.png)](https://docs.squeeze.one/uploads/images/gallery/2022-09/image-1662030101072.png) # Lokator: Value next to KeyWord **Der Lokator Value next to KeyWord findet Schlüsselwörter und in der Nähe des Schlüsselwortes befindliche Reguläre Ausdrücke.**

In der Nähe bedeutet, der Lokator sucht rechts neben dem Schlüsselbegriff und unter dem Schlüsselbegriff nach einem passenden regulären Ausdruck.

Ein klassisches Beispiel für diesen Lokator ist die Suche nach Rechnungsnummern auf einer Rechnung. In der Konfiguration des Lokators gibt es einen Reiter für die Konfiguration der gewünschten Schlüsselbegriffe und einen Reiter für die regulären Ausdrücke. [![image-1648638852401.png](https://docs.squeeze.one/uploads/images/gallery/2022-03/scaled-1680-/image-1648638852401.png)](https://docs.squeeze.one/uploads/images/gallery/2022-03/image-1648638852401.png)

Die Konfiguration der der regulären Ausdrücke und der Schlüsselbegriffe ist analog zur Konfiguration der Lokatoren für KeyWords und des Lokators für reguläre Ausdrücke

# Lokator: Value from Regular Expression **Der Lokator Value from Regular Expression sucht mit Hilfe regulärer Ausdrücke(regex) aus einer Stammdatentabelle in den OCR-Textzeilen des Dokumentes. Diese werden mittels der Stammdatentabelle auf einen bestimmen Wert(result) umgeschlüsselt.** **Einrichtung eines Lokators Value from Regular Expression am Beispiel des Lokators "Lieferantensuchbegriffe"** Um ins Lokatoren-Menü zu gelangen Klicken Sie auf Admin und danach auf Lokatoren. [![image-1658311834780.png](https://docs.squeeze.one/uploads/images/gallery/2022-07/scaled-1680-/image-1658311834780.png)](https://docs.squeeze.one/uploads/images/gallery/2022-07/image-1658311834780.png) In der unteren Bildschirmleiste das Symbol "Neuer Eintrag" klicken um einen neuen Lokator anzulegen. [![image-1658311783382.png](https://docs.squeeze.one/uploads/images/gallery/2022-07/scaled-1680-/image-1658311783382.png)](https://docs.squeeze.one/uploads/images/gallery/2022-07/image-1658311783382.png) Weiter mit dem Beispiel "Lieferantensuchbegriffe" [![image-1658303923970.png](https://docs.squeeze.one/uploads/images/gallery/2022-07/scaled-1680-/image-1658303923970.png)](https://docs.squeeze.one/uploads/images/gallery/2022-07/image-1658303923970.png) Im sich daraufhin öffnenden Dialog den technischen Namen(CreditorSearch), den Anzeige-Namen(Lieferantensuchbegriffe) des neuen Lokators angeben und den Lokator auf Aktiv setzen. Den Lokator-Typ Value from Regular Expression auswählen und danach den Lokator speichern. [![image-1658304340015.png](https://docs.squeeze.one/uploads/images/gallery/2022-07/scaled-1680-/image-1658304340015.png)](https://docs.squeeze.one/uploads/images/gallery/2022-07/image-1658304340015.png) Im Reiter "Tabelle" wird nun die Stammdatentabelle ausgewählt, in der sich die Regulären Ausdrücke(regex) und die Übersetzungswerte(result) befinden. In diesem Beispiel "creditorsearch". Informationen zur Anlage einer neuen Stammdatentabelle finden Sie im Kapitel "Stammdaten". [![image-1658304778932.png](https://docs.squeeze.one/uploads/images/gallery/2022-07/scaled-1680-/image-1658304778932.png)](https://docs.squeeze.one/uploads/images/gallery/2022-07/image-1658304778932.png) Die Verwendung des Lokators Value from Regular Expression ist auf einen bestimmten Aufbau der Spalten und ihrer Beschreibungen in der Stammdatentabelle angewiesen. Siehe Oben. Hierbei sind die Spalten(Name und Quelle) und ihre Einträge wichtig. Die Spaltennamen und Einträge müssen hierbei exakt übernommen werden. Die Spalte Beschreibung und ihre Einträge können je nach Funktion des Lokators variieren. [![image-1658306732039.png](https://docs.squeeze.one/uploads/images/gallery/2022-07/scaled-1680-/image-1658306732039.png)](https://docs.squeeze.one/uploads/images/gallery/2022-07/image-1658306732039.png) In den Spalten muss nun der zu übersetzende Wert(result) und das Muster(regex) eingetragen werden. In diesem Fall die Lieferantennummer "1234567890" und die URL "www.brt-gmbh.de". Mehr Informationen zu Regular Expressions finden Sie im Kapitel Lokatoren. [![image-1658306925789.png](https://docs.squeeze.one/uploads/images/gallery/2022-07/scaled-1680-/image-1658306925789.png)](https://docs.squeeze.one/uploads/images/gallery/2022-07/image-1658306925789.png) Über "Lokator testen" kann nun der Lokator und seine Übersetzung getestet werden. [![image-1658307092965.png](https://docs.squeeze.one/uploads/images/gallery/2022-07/scaled-1680-/image-1658307092965.png)](https://docs.squeeze.one/uploads/images/gallery/2022-07/image-1658307092965.png) Oben sehen wir nun das die URL(regex) auf die Lieferantennummer(result) übersetzt wurde.

*Falls Sie unsicher bei der Erstellung von Regulären Ausdrücken sind, finde Sie hier eine Seiter auf der Sie Ihre Regulären aAsudrücke testen können: https://regex101.com/*

# Unterschiede zu Squeeze 1 Diese Seite beschreibt relevante Unterschiede zwischen der Extraktion mittels Lokatoren zwischen Squeeze 1 und Squeeze 2. ### Globale Lokatoren In Squeeze 1 wurden Lokatoren immer als Teil einer Dokumentenklasse konfiguriert. Das hatte zur Folge, dass Lokatoren nur in ihrer Dokumentenklasse genutzt werden konnten. Wenn ein System über mehrere Dokumentenklassen verfügt hat, so mussten übliche Lokatoren (Email / IBAN usw.) in jeder Dokumentenklasse erneut angelegt werden. In Squeeze 2 hingegen werden Lokatoren unabhängig von der Dokumentenklasse verwaltet. Somit ist es möglich, dass bspw. nur ein einziger IBAN-Lokator zu konfigurieren ist und dieser in beliebig vielen Dokumentenklasse wiederverwendet werden kann.

Diese Änderung gilt im Prinzip für alle Lokatoren. Der Tabellen-Lokator (Search for line items) hingegen ist der einzige Lokator, bei welchem diese Umstellung aktuell (Q3 2022) nur teilweise zutrifft.

#### Besonderheit Tabellen-Lokator (Search for line items)

**Zusammenfassung / TLDR:** - Der Tabellen-Lokator (Search for line items) ist aktuell **nicht** global. - Für jede zu extrahierende Tabelle muss ein eigener Tabellen-Lokator konfiguriert werden. - Überschriften- und Wert-Lokatoren von Tabellen können mehrmals verwendet werden.

##### Kontext Wie in [Globale Lokatoren](#bkmrk-globale-lokatoren) beschrieben sind Lokatoren global, d. h. sie können mehrfach in unterschiedlichen Dokumentenklassen für diverse Felder wiederverwendet werden. Bei der Extraktion von Tabellen mittels des Tabellen-Lokators (Search for line items) allerdings trifft diese Umstellung nur teilweise zu. Falls Sie nur wissen möchten, wie die Positionserkennung zu konfigurieren ist, dann lesen Sie bitte die [Dokumentation zum entsprechenden Lokator](https://docs.squeeze.one/books/squeeze-2-admin-handbuch/page/lokator-search-for-line-items "Lokator: Search for line items"). Dort haben wir dokumentiert, wie in Squeeze 2 das System zu konfigurieren ist. Andernfalls wird im Folgenden erläutert, wie sich die Konfiguration zwischen Squeeze 1 und 2 unterscheidet, damit Administratoren die Umstellung einfacher fällt. ##### Funktionsweise des Lokators Zuerst muss die Funktionsweise des Lokators (egal ob Squeeze 1 oder 2) verstanden werden. Vereinfacht arbeitet der Tabellen-Lokator in folgenden Schritten: - Spalten der Tabelle über ihre Überschriften finden *(nutzt Überschriften-Lokator)* - Werte innerhalb der gefunden Spalten finden *(nutzt Wert-Lokator)* - Gefundene Werte zu Zeilen zusammenfassen Wichtig ist hierbei zu verstehen, dass der Lokator also auf Basis von Überschriften- und Werte-Lokatoren arbeitet. Aus diesem Grund, muss der Tabellen-Lokator wissen, für welche Tabelle dieser ausgeführt wird, um dann wiederum über die Tabellen-Spalten der Tabelle zu erfahren, welche Überschriften- und Werte-Lokatoren zu nutzen sind. ##### Der Tabellen-Lokator ist nicht global Die beschriebene Funktionsweise des Tabellen-Lokators setzt voraus, dass bei diesem konfiguriert werden muss, für welche Tabelle dieser ausgeführt wird. Während das aus funktionaler Sicht kein Problem darstellt, ist der Lokator allerdings somit der einzige Lokator, welcher de facto **nicht** global einsetzbar ist, was bei der Konfiguration zu Irritation führen kann:

Während alle anderen Lokatoren wiederverwendet werden können, muss für die Extraktion einer Tabelle je ein eigener Tabellen-Lokator genutzt werden.

##### Roadmap bzgl. der Positionserkennung Abschließend sei erwähnt, dass die Besonderheit des Positionslokators bekannt ist und das Konzept auch zukünftig überarbeitet werden soll. Ziel dabei soll ist die Einfachheit und Nachvollziehbarkeit der Konfiguration. Änderungen an dem System werden entsprechend in der Dokumentation (insbesondere [Lokator: Search for DB linked data](https://docs.squeeze.one/books/squeeze-2-admin-handbuch/page/lokator-search-for-db-linked-data "Lokator: Search for DB linked data")) fortlaufend festgehalten. # Swiss QR-Code Um einen QR Code Lokator anzulegen, welcher Schweizer QR-Codes auszulesen, kann man einen neuen Lokator von Typen "Swiss QR Code" anlegen.[![Swiss_QR_Code_anlegen.png](https://docs.squeeze.one/uploads/images/gallery/2024-08/scaled-1680-/swiss-qr-code-anlegen.png)](https://docs.squeeze.one/uploads/images/gallery/2024-08/swiss-qr-code-anlegen.png) Dann in den Lokator Eigenschaften einen neuen Eintrag anlegen und Barcode Engine auswählen und den Wert "SOFTEK" eintragen. [![Swiss_OR_Code_Eigenschaft.png](https://docs.squeeze.one/uploads/images/gallery/2024-08/scaled-1680-/swiss-or-code-eigenschaft.png)](https://docs.squeeze.one/uploads/images/gallery/2024-08/swiss-or-code-eigenschaft.png) In der Dokumentenklasse muss dann ein Feld "SwissQrCode" angelegt werden und als Lokator den vorher erstellen "SwissOR" Lokator einstellen.[![Swiss_QR_Code_Feld.png](https://docs.squeeze.one/uploads/images/gallery/2024-08/scaled-1680-/swiss-qr-code-feld.png)](https://docs.squeeze.one/uploads/images/gallery/2024-08/swiss-qr-code-feld.png) Folgenden Werte werden automatisch aus dem Swiss QR-Code gewonnen: - IBAN - Currency (Währung) - TotalAmount (Brutto) Zusätzlich kann ein Feld mit dem technischen Namen "PaymentReference" angelegt werden, welcher die Zahlungsreferenz automatisch ausließt.