Zum Hauptinhalt springen

ODBC-kompatible Datenbanken

Mit FCFORINVOICES können Sie einen Datensatz mit einer ODBC-kompatiblen Datenbank verbinden (siehe Verwenden von Vendor- und Geschäftsbereich-Datenbanken), Daten einmalig laden oder einen Datensatz in regelmäßigen Abständen mit Daten aus einer externen Datenbank aktualisieren (siehe Aktualisieren von Datensätzen). Daher sollten Sie externe Daten zunächst in einer ODBC-kompatiblen Datenbank wie Microsoft Access, Microsoft SQL Server oder Oracle bereitstellen.

Doppelte Datensätze in der externen Datenbank beseitigen

Es ist wichtig, das Feld in der externen Vendor- (oder Geschäftsbereichs-)Datenbank zu bestimmen, dessen Wert als Ergebnis der Erkennung des Vendors (oder Geschäftsbereichs) auf einer Rechnung zurückgegeben werden muss. Dieses Feld (oder diese Gruppe von Feldern) sollte zum eindeutigen Schlüssel des Datensatzes werden. Der eindeutige Schlüssel eines Geschäftsbereichs-Datensatzes ist das Feld Id (siehe BusinessUnits data set). Aus Sicht des Benutzers ist dieses Feld das Ergebnis der Erkennung des Geschäftsbereichs durch FCFORINVOICES, an den die betreffende Rechnung ausgestellt wurde. Der eindeutige Schlüssel eines Vendor-Datensatzes sollte der Wert sein, der als Ergebnis der Erkennung des Vendors, der die betreffende Rechnung ausgestellt hat, durch FCFORINVOICES an das externe Informationssystem übergeben wird. Wenn eine einzige Vendor-Tabelle verwendet wird, muss der eindeutige Schlüssel dem Feld Id des Datensatzes zugeordnet werden. Dieser Wert wird an das externe Informationssystem übergeben, wenn der Vendor in der Rechnung erkannt wird. Wenn Sie in einem Projekt Rechnungen verarbeiten möchten, die an verschiedene Geschäftsbereiche Ihres Unternehmens ausgestellt wurden, von denen jeder eine eigene Vendor-Datenbank hat, sollten Sie den eindeutigen Schlüssel jedes Geschäftsbereichs der Spalte BusinessUnitId des Datensatzes Vendors zuordnen und den Schlüssel jedes Vendors der Spalte Id des Datensatzes Vendors. Der eindeutige Schlüssel des Vendor-Datensatzes, der bei der Erkennung des Vendors an das externe Informationssystem übergeben werden soll, ist in diesem Fall also das Wertepaar aus Id und BusinessUnitId (siehe Vendors data set). In den folgenden Erläuterungen betrachten wir nur die Vendor-Erkennung, da die Situation bei Geschäftsbereichen völlig identisch ist. Der eindeutige Schlüssel eines Datensatzes muss die eindeutige Kombination von Parametern festlegen, die für die Vendor-Erkennung verwendet werden. Sehr häufig betrachtet ein externes Informationssystem einen Vendor-Datensatz anhand von mehr Parametern als eindeutig, als auf der Rechnung angegeben sind und/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 ausgestellt hat. Obwohl die Währung auf der Rechnung angegeben ist (und also zwischen dem Fall, in dem MCN_USD zurückgegeben werden sollte, und dem Fall, in dem der Bezeichner MCN_EUR zurückgegeben werden sollte, unterschieden werden kann), wird die Währung nicht für die Vendor-Erkennung verwendet. Daher kann der Vendor-Erkennungsmechanismus nicht zwischen MCN_USD und MCN_EUR entscheiden. Erstellen Sie in solchen Fällen einen MCN-Bezeichner, 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 Dokumentdefinition eine Regel erstellen, die abhängig von der Währung der betreffenden Rechnung zwischen MCN_USD und MCN_EUR auswählt. Allgemein gesagt sollte der eindeutige Bezeichner eines Vendor-Datensatzes auf einer eindeutigen Kombination von Parametern beruhen, die für die Vendor-Erkennung verwendet werden, etwa Firmenname, Firmenadresse, Steuer-IDs (VATID, NationalVATID) und IBAN (siehe Vendors data set). Nur dann kann der Vendor-Erkennungsmechanismus den richtigen Vendor-Datensatz für eine Rechnung auswählen.
Anschließend kann das Programm zusätzliche Felder erfassen und Regeln in der Dokumentdefinition verwenden, um das Ergebnis weiter zu verfeinern und den erforderlichen Wert zu erhalten.
Wenn derselbe Satz von Parametern (oder ein Satz, der leicht verwechselt werden kann), die für die Vendor-Erkennung verwendet werden, 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 sinkt. 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, es aber mehrere Datensätze (MCN1, MCN2, … MCNN) im Datensatz gibt, die zu den Rechnungsdaten passen, kann sich das Programm für einen anderen Datensatz entscheiden, der zwar schlechter zu den Rechnungsdaten passt, aber nicht zu so vielen Datensätzen führt. Dies führt letztlich dazu, dass der Vendor falsch erkannt wird. Daher ist es sehr wichtig, doppelte Datensätze in der externen Datenbank zu beseitigen und in der externen Datenbank eine Spalte zu haben, die für jede eindeutige Kombination von Werten der für die Vendor-Erkennung verwendeten Datensatzfelder einen eindeutigen Wert enthält. Beim Verbinden mit dem Datensatz werden Zeilen mit identischen Werten in der Spalte, die dem eindeutigen Schlüssel des Datensatzes zugeordnet wird, automatisch zu einem Datensatz zusammengefasst.

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, Straße usw. von Rechnung zu Rechnung variieren können (z. B. „My Company Name“ und „MCN Ltd.“). Damit das Unternehmen jedoch zuverlässig erkannt wird, muss der Text im Datensatz möglichst genau mit dem aus dem Rechnungsbild erfassten Text übereinstimmen. Außerdem kann ein Unternehmen mehrere Bankkonten oder andere Attribute haben.
Beachten Sie, dass Spalten mit mehreren Werten in Datensätzen dazu verwendet werden sollten, dieselbe Information in unterschiedlichen Schreibweisen 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 angelegt werden.
Werte für Spalten mit mehreren Werten können aus einer externen Datenbank übernommen werden (z. B. 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 (z. B. kann ein Operator dem Datensatz eine häufig verwendete Variante eines Unternehmensnamens hinzufügen, die in der externen Datenbank nicht bekannt ist). Datensätze verwenden Spaltendenormalisierung, d. h., sie speichern Daten in der folgenden Form:
Eindeutiger Schlüssel des Datensatzes*Name1Name2NameN
1My Company NameMCN Ltd.<leerer Wert>
2The Second Company, Inc.S-Company<leerer Wert>
Für ein logisches Feld eines Datensatzes, etwa Name, werden im Datensatz mehrere Spalten erstellt, in denen alle möglichen Werte des logischen Felds gespeichert werden. Daher 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 weiter verbreitete Zeilendenormalisierung verwenden. Im letzteren Fall müssen die Zeilen, die im Datensatz zu den Parametern eines Datensatzes zusammengeführt werden sollen, in der Spalte, die dem eindeutigen Schlüssel im Datensatz entspricht, denselben Wert haben. Zum Beispiel:
Spalte, die dem eindeutigen Schlüssel im Datensatz entspricht*Name
1My Company Name
1MCN Ltd.
N<leerer Wert>
2The Second Company, Inc.
2S-Company
N<leerer Wert>
*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 (siehe Vendors data set)