> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Vendor- und Geschäftsbereichsdatenbanken vorbereiten

> ODBC-kompatible Vendor- und Geschäftsbereichsdatenbanken für FlexiCapture-Datensätze vorbereiten: eindeutige Schlüssel auswählen, doppelte Datensätze entfernen und Spalten mit mehreren Werten verwenden.

<div id="odbc-compatible-databases">
  ## ODBC-kompatible Datenbanken
</div>

Mit FlexiCapture for Invoices können Sie einen Datensatz mit einer ODBC-kompatiblen Datenbank verbinden und dann entweder die darin enthaltenen Daten einmalig laden oder den Datensatz in regelmäßigen Abständen aus der externen Datenbank aktualisieren. Weitere Informationen finden Sie unter [Verwenden von Vendor- und Geschäftsbereichsdatenbanken](/de/flexi-capture/invoice-reader/ir-db-connection) und [Aktualisieren von Datensätzen](/de/flexi-capture/invoice-reader/ir-data-set-update).

Der erste Schritt besteht daher darin, die externen Daten in einer ODBC-kompatiblen Datenbank wie Microsoft Access, Microsoft SQL Server oder Oracle zu speichern.

<div id="eliminate-duplicate-records-in-the-external-database">
  ## Doppelte Datensätze in der externen Datenbank eliminieren
</div>

Bestimmen Sie zunächst, welches Feld in der externen Vendor- (oder Geschäftsbereichsdatenbank den Wert enthält, den Sie benötigen, wenn der Vendor (oder Geschäftsbereich) auf einer Rechnung erkannt wird. Dieses Feld (oder dieser Feldsatz) sollte zum eindeutigen Schlüssel des Datensatzes werden.

Der eindeutige Schlüssel eines Geschäftsbereichs-Datensatzes ist das Feld **Id** (siehe [BusinessUnits-Datensatz](/de/flexi-capture/invoice-reader/ir-columns-bu)). Aus Sicht des Benutzers ist dieses Feld das Ergebnis der Erkennung des Geschäftsbereichs, an den die Rechnung ausgestellt wurde.

Der eindeutige Schlüssel eines Vendor-Datensatzes sollte der Wert sein, der an das externe Informationssystem übergeben wird, wenn FlexiCapture for Invoices den Vendor erkennt, der die Rechnung ausgestellt hat. Wenn eine einzige Vendor-Tabelle verwendet wird, muss der eindeutige Schlüssel dem Feld **Id** des Datensatzes zugeordnet werden.

Wenn Sie Rechnungen verarbeiten möchten, die innerhalb eines Projekts an verschiedene Geschäftsbereiche Ihres Unternehmens ausgestellt wurden und von denen jeder seine eigene Vendor-Datenbank hat, ordnen Sie den eindeutigen Schlüssel jedes Geschäftsbereichs der Spalte **BusinessUnitId** des Datensatzes **Vendors** zu und den Schlüssel jedes Vendors seiner Spalte **Id**. Der eindeutige Schlüssel des Vendor-Datensatzes, der an das externe Informationssystem übergeben wird, wenn der Vendor erkannt wird, ist dann das Paar aus den Werten **Id** und **BusinessUnitId** (siehe [Vendors-Datensatz](/de/flexi-capture/invoice-reader/ir-columns-vendors)).

Die folgenden Erläuterungen beziehen sich nur auf die Vendor-Erkennung, da die Situation bei Geschäftsbereichen identisch ist.

Der eindeutige Schlüssel eines Datensatzes muss die eindeutige Kombination von Parametern festlegen, die für die Vendor-Erkennung verwendet wird. Sehr oft betrachtet ein externes Informationssystem einen Vendor-Datensatz anhand von mehr Parametern als eindeutig, als auf der Rechnung angegeben sind oder für die Vendor-Erkennung verwendet werden.

Beispielsweise kann ein externes Informationssystem erwarten, den Bezeichner **MCN\_USD** zu erhalten, wenn der Vendor **My Company Name Ltd.** eine Rechnung in US-Dollar ausstellt, oder den Bezeichner **MCN\_EUR**, wenn dasselbe Unternehmen eine Rechnung in Euro ausstellt. Obwohl die Währung auf der Rechnung angegeben ist (sodass Sie erkennen könnten, wann **MCN\_USD** statt **MCN\_EUR** zurückgegeben werden sollte), wird die Währung nicht für die Vendor-Erkennung verwendet.

Daher kann der Vendor-Erkennungsmechanismus nicht zwischen **MCN\_USD** und **MCN\_EUR** unterscheiden.

Erstellen Sie in solchen Fällen einen Bezeichner **MCN**, der sowohl **MCN\_USD** als auch **MCN\_EUR** entspricht und zurückgegeben wird, wenn der Vendor erkannt wird. Anschließend können Sie in der Document Definition eine Regel erstellen, die abhängig von der Währung der jeweiligen Rechnung zwischen **MCN\_USD** und **MCN\_EUR** wählt.

Allgemein ausgedrückt sollte der eindeutige Bezeichner eines Vendor-Datensatzes auf einem eindeutigen Satz von Parametern basieren, die für die Vendor-Erkennung verwendet werden, etwa Firmenname, Firmenadresse, Steuer-IDs (VATID, NationalVATID) und IBAN (siehe [Vendors-Datensatz](/de/flexi-capture/invoice-reader/ir-columns-vendors)). Nur dann kann der Vendor-Erkennungsmechanismus den richtigen Vendor-Datensatz für eine Rechnung auswählen.

<Note>
  Das Programm kann dann zusätzliche Felder erfassen und Regeln in der Document Definition verwenden, um das Ergebnis weiter zu verfeinern und den erforderlichen Wert zu erhalten.
</Note>

Wenn derselbe (oder leicht zu verwechselnde) Parametersatz, der für die Vendor-Erkennung verwendet wird, mehreren eindeutigen Schlüsseln entspricht, kann das Programm nicht genau einen Schlüssel auswählen, die Vendor-Erkennung wird unzuverlässig, und die Qualität verschlechtert sich.

Der Grund dafür ist folgender. Wenn das Programm die auf der Rechnung gedruckten Daten verwenden kann, um den Vendor **My Company Name** zuverlässig zu erkennen, aber mehrere Datensätze (**MCN1**, **MCN2**, ..., **MCNN**) im Datensatz mit diesen Daten übereinstimmen, kann das Programm einen anderen Datensatz auswählen, der zwar schlechter passt, aber nicht so viele übereinstimmende Datensätze hat. Dies führt letztlich dazu, dass der Vendor falsch erkannt wird.

Daher ist es sehr wichtig, doppelte Datensätze zu eliminieren und in der externen Datenbank eine Spalte zu erstellen, die für jede eindeutige Kombination der für die Vendor-Erkennung verwendeten Datensatzfelder einen eindeutigen Wert enthält.

Bei der Verbindung mit einem Datensatz werden Zeilen mit identischen Werten in der Spalte, die dem eindeutigen Schlüssel zugeordnet ist, automatisch zu einem einzigen Datensatz zusammengefasst.

## <a id="complexcolumns" />Spalten mit mehreren Werten in einem Datensatz

Ein Datensatz kann mehrere Werte für eine logische Spalte eines Unternehmensdatensatzes speichern.

Das Speichern mehrerer Werte ist erforderlich, weil Unternehmensparameter wie Firmenname und Straße von Rechnung zu Rechnung variieren können (zum Beispiel „My Company Name“ und „MCN Ltd.“). Damit das Unternehmen zuverlässig erkannt wird, muss der Text im Datensatz möglichst genau mit dem aus einem Rechnungsbild erfassten Text übereinstimmen. Außerdem kann ein Unternehmen mehrere Bankkonten oder andere Attribute haben.

<Note>
  Spalten mit mehreren Werten in Datensätzen sollten verwendet werden, um dieselben Informationen in unterschiedlicher Schreibweise zu speichern. Zum Beispiel sind „Karl Marx Street“ und „K. Marx str.“ zwei verschiedene Schreibweisen derselben Adresse. Unternehmensniederlassungen in London und Berlin sollten jedoch als zwei separate Datensätze geführt werden.
</Note>

Werte für Spalten mit mehreren Werten können aus einer externen Datenbank übernommen werden (zum Beispiel kann eine Tabelle mit Vendoren für jedes Unternehmen ein bis fünf Bankverbindungen enthalten) oder sie können vom Benutzer während der Datenerfassung hinzugefügt werden (zum Beispiel kann ein Operator dem Datensatz eine häufig verwendete Variante eines Firmennamens hinzufügen, die der externen Datenbank nicht bekannt ist).

Datensätze verwenden Spaltendenormalisierung, das heißt, sie speichern Daten in der folgenden Form:

| Eindeutiger Schlüssel des Datensatzes \* | Name1                    | Name2     | ... | NameN           | ... |
| ---------------------------------------- | ------------------------ | --------- | --- | --------------- | --- |
| 1                                        | My Company Name          | MCN Ltd.  | ... | `<empty value>` | ... |
| 2                                        | The Second Company, Inc. | S-Company | ... | `<empty value>` | ... |
| ...                                      | ...                      | ...       | ... | ...             | ... |

Für ein logisches Feld eines Datensatzes, zum Beispiel **Name**, werden im Datensatz mehrere Spalten erstellt, um alle möglichen Werte des logischen Feldes zu speichern. Deshalb kann **Name** als „komplexe Spalte“ bezeichnet werden.

Beim Verbinden einer Tabelle (oder einer Ansicht) aus einer externen Datenbank können Sie die oben beschriebene Spaltendenormalisierung oder die gebräuchlichere Zeilendenormalisierung verwenden. Im letzteren Fall müssen die Zeilen, die zu einem Datensatz zusammengeführt werden sollen, in der Spalte, die dem eindeutigen Schlüssel entspricht, denselben Wert haben. Zum Beispiel:

| Spalte, die dem eindeutigen Schlüssel im Datensatz entspricht \* | Name                     | ... |
| ---------------------------------------------------------------- | ------------------------ | --- |
| 1                                                                | My Company Name          | ... |
| 1                                                                | MCN Ltd.                 | ... |
| ...                                                              | ...                      | ... |
| N                                                                | `<empty value>`          | ... |
| 2                                                                | The Second Company, Inc. | ... |
| 2                                                                | S-Company                | ... |
| ...                                                              | ...                      | ... |
| N                                                                | `<empty value>`          | ... |
| ...                                                              | ...                      | ... |

* Der eindeutige Schlüssel eines **BusinessUnits**-Datensatzes ist das Feld **Id**. Der eindeutige Schlüssel eines **Vendors**-Datensatzes ist je nach Einstellungen entweder das Feld **Id** oder das Feldpaar **Id** und **BusinessUnitId**. Weitere Informationen finden Sie unter [Vendors-Datensatz](/de/flexi-capture/invoice-reader/ir-columns-vendors).
