DEXPRO Stammdaten (DEX_MasterData) In diesem Buch werden die Stammdatentabellen der Datenbank "DEX_MasterData" beschrieben. Allgemeine Informationen Datenbank DEX_MasterData Für die Stammdatentabellen wird eine separate SQL Datenbank DEX_MasterData mit diversen Tabellen für MS SQL Server und MySQL Server zur Verfügung gestellt. Die Datenbank DEX_Workflow verwaltet hingegen sämtliche Konfigurationen und Einstellungen. Das DEXPRO Template-Lösungen bieten im Standardumfang eine detaillierte SQL basierte Tabellenstruktur an, welche aus externen Systemen befüllt werden kann. Die in den Templates hinterlegte Programmlogik greift auf die definierten Tabellen zu und kann deren Inhalte direkt in den dafür vorgesehenen Szenarien verwenden. Zu den einzelnen Tabellen existieren passende Felder und die Pop-Up-Auswahlfenster und Autocomplete-Funktionen sind auf diese Datenbank-Tabellen ausgerichtet. Sobald die Tabellen mit Stammdaten gefüllt wurden und die zugehörigen Felder aktiviert wurden können die Funktionen in der Anwendung getestet werden. Der Großteil der Stammdatentabellen kann fixen Daten zugeordnet werden. So wurde die Tabelle Accounting_GLAccount für Sachkonten erstellt und die Tabelle OrderData stellt Bestell-Daten bereit. Weitere Tabellen wie Accounting_Category oder Accounting_Custom sind Platzhalter für zusätzliche Stammdaten. Genauere Erläuterungen gibt es in den einzelnen Kapiteln zu den Tabellen. Es gibt einen grundsätzlichen Aufbau für die Stammdatentabellen. Einige Spalten sind in allen Tabellen enthalten und werden in der folgenden Tabellarischen Ansicht einmal erläutert. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID (Auto-Inkrement). Licence nvarchar(50) Nein Documents-Lizenzname (PEM). Principal nvarchar(50) Nein Technischer Mandant oder 'ANY' CompanyCode nvarchar(50) Nein Technischer Buchungskreis oder 'ANY' InsertTS datetime Nein Wird automatisch beim Insert gesetzt UpdateTS datetime Ja Wird automatisch bei einem Update gesetzt Die ID -Spalte wird technisch zwingend in den Pop-Ups und für die WEB-Darstellung benötigt. Der Großteil der Tabellen kann bei Bedarf auch manuell über Konfigurationen der WEB-Anwendung erfolgen. Hierfür wird die ID-Spalte ebenfalls zwingend benötigt. Über die WEB-Konfiguration können Stammdaten die sich in der Regel nur selten ändern komplett manuell gepflegt werden. Alle Abfragen auf die Datenbank-Tabellen beinhalten den Documents-Lizenznamen. Die Licence -Tabellenspalten können in der Datenbank mit dem Lizenznamen vorbelegt werden. Bei den WEB-Konfigurationen wird der Wert automatisch gefiltert und gesetzt. In der Regel benötigen Kunden nur eine Angabe um interne Mandanten zu unterscheiden. Einige Buchungs-Systeme wie SAP bieten jedoch die Möglichkeit zwischen Mandant und Buchungskreis zu unterscheiden. Die Spalten Principal und CompanyCode werden in allen Abfragen verwendet und es wird jeweils nach dem spezifischen Wert aus der Vorgangsakte gesucht. Zusätzlich wird mit einem 'Oder' verknüpft in beiden Spalten nach dem fixen Wert ' ANY ' gesucht. Durch die Angabe von 'ANY' müssen Mandanten- oder Buchungskreis-übergreifende Stammdaten nicht mehrfach angelegt werden. Wenn zum Beispiel der Buchungskreis nicht verwendet wird kann in allen Tabellen an den CompanyCode-Spalten dieser fixe Wert hinterlegt werden. In der WEB-Konfiguration wird 'ANY' mit '*Beliebig' übersetzt. Beim Schreiben in die Datenbank wird der Spaltenwert InsertTS automatisch auf den aktuellen Zeitstempel gesetzt. Hierdurch kann der Support sehen wann die Stammdaten zuletzt geschrieben wurden. Bei der Aktualisierung einer Zeile wird die Spalte UpdateTS auf den aktuellen Zeitstempel gesetzt.  Stammdatenübertragung Die Übertragung der Stammdaten aus dem führenden System muss projektspezifisch geklärt werden. Die Stammdaten können über die WEB-Administration  auf der Administrations-Outbar "Allgemein" manuell angegeben oder verändert werden. Häufig werden die Tabellen bei der Stammdatenübertragung aus dem führenden System zunächst komplett gelöscht und im Anschluss neu geschrieben. Während der Übertragung stehen die Stammdaten temporär nicht komplett zur Verfügung. Bei großen Stammdaten-Mengen bietet sich wegen der Downtime ein Job-Lauf ausserhalb der Arbeitszeiten an. Wie häufig Stammdaten aktualisiert werden können muss projektspezifisch entschieden werden und ist stark abhängig von der Laufzeit der Übertragung. Bei vielen Stammdaten reicht eine Übertragung am Tag aus. Ein häufiger genannter Fall für den Bedarf der mehrfachen Übertragung ist die Anlage neuer Kreditoren im führenden System bei der Validierung von Rechnungen. Die neuen Kreditor-Stammdaten stehen erst bei einer erneuten Stammdaten-Übertragung zur Verfügung. Für solche Fälle kann eine Übertragung eines einzelnen Datensatzes erstellt werden oder es wird am Mittag eine zusätzliche Übertragung ausgeführt. Häufig setzen sich die Anwender diese Rechnung einfach auf Wiedervorlage für den nächsten Tag. Als zusätzliche Alternative können die Stammdaten auch aktualisiert werden. Aktualisierungs-Jobs sind deutlich aufwändiger aber haben bei großen Datenmengen aber den Vorteil, dass man den Job häufiger am Tag ohne Downtime durchführen kann. Hier müssen Aufwand und Nutzen abgewogen werden. Das jeweilige Vorgehen sollte projektspezifisch pro Tabelle entschieden werden. Accounting_Category (zweistufige Kategorien) Über die Tabelle Accounting_Category können zweistufige Werte abgebildet werden. Die Tabelle liefert die Stammdaten für die folgenden Gentable-Felder: Category1 Category1_Desc Category2 Category2_Desc Bei der Angabe des zweiten Werts wird die Auswahl durch den ersten Wert eingeschränkt. Das funktioniert automatisch bei der Verwendung der Autocomplete-Funktion... ... als auch bei der Auswahl über das Pop-Up. Durch die Auswahl der ersten Angabe wird im Pop automatisch direkt Auswahl für den zweiten Wert mit den passenden Werten angezeigt. Bei der zugehörigen Tabelle Accounting_Category müssen alle gültigen Wertepaare für die Kategorien angegeben werden. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') Category1 nvarchar(50) Nein Eindeutiger Wert  1 Category1_Desc nvarchar(150) Nein Beschreibung zu Wert 1 Category2 nvarchar(50) Ja Eindeutiger Wert  2 Category2_Desc nvarchar(150) Ja Beschreibung zu Wert 2 InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Category1 + Category2   Accounting_CostCenter (Kostenstellen) In der Tabelle Accounting_CostCenter werden die Kostenstellen abgelegt. Zur Tabelle gehören die Gentable-Felder: CostCenter CostCenter_Desc CostCenter_Responsible Optional kann der Kostenstellenverantwortliche zur Kostenstelle angegeben werden. Zur Verwendung innerhalb der Workflow Regeln ist es sinnvoll das Documents-Login der Kostenstellenverantwortlichen zu verwenden. Bei den Beschreibungen wird automatisch die passende Beschreibung zur Anmeldesprache des Benutzers angezeigt. Häufig ist in den führenden Systemen nur eine Sprache für die Beschreibung gepflegt. Es empfiehlt sich diese Beschreibung in beide Felder de und en zu übertragen. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') CostCenter nvarchar(50) Nein Kostenstelle (eindeutiger Wert) ResponsibleUser nvarchar(100) Nein Kostenstellenverantwortlicher de nvarchar(250) Ja Beschreibung Kostenstelle Deutsch en nvarchar(250) Ja Beschreibung Kostenstelle Englisch InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode + CostCenter Accounting_CostUnit (Kostenträger) In der Tabelle Accounting_CostCenter werden die Kostenstellen abgelegt. Zur Tabelle gehören die Gentable-Felder: CostCenter CostCenter_Desc CostCenter_Responsible Optional kann der Kostenträgerverantwortliche zum Kostenträger angegeben werden. Zur Verwendung innerhalb der Workflow Regeln ist es sinnvoll das Documents-Login der Kostenträgerverantwortlichen zu verwenden. Bei den Beschreibungen wird automatisch die passende Beschreibung zur Anmeldesprache des Benutzers angezeigt. Häufig ist in den führenden Systemen nur eine Sprache für die Beschreibung gepflegt. Es empfiehlt sich diese Beschreibung in beide Felder de und en zu übertragen. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') CostUnit nvarchar(50) Nein Kostenträger (eindeutiger Wert) de nvarchar(250) Ja Beschreibung Kostenträger Deutsch en nvarchar(250) Ja Beschreibung Kostenträger Englisch ResponsibleUser nvarchar(100) Nein Kostenstellenverantwortlicher InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode + CostUnit Accounting_Custom / Accounting_CustomValues (Projektspezifische Tabellen) Stammdaten bestehen in der Regel aus einer technischen eindeutigen ID und einem Anzeigewert. Die projektspezifischen Tabellen Accounting_Custom und Accounting_CustomValues können für beliebige Stammdaten verwendet werden, welche diesem einfachen Standard-Aufbau entsprechen. Zu den Tabelle gehören die Gentable-Felder: Custom1 Custom1_Desc Custom2 Custom2_Desc Custom3 Custom3_Desc ... Custom10 Custom10_Desc Es können bis zu 10 projektspezifische Stammdaten-Typen definiert werden und zu einem Stammdaten-Typ gehören 2 Gentable-Felder (plus Button für die Auswahl via Pop-Up). In der ersten Tabelle Accounting_Custom werden technische Namen und Anzeigenamen für die WEB-Darstellung vergeben. Die Zuordnung zu den Gentable-Feldern erfolgt über die Angabe in der Spalte Number . Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') Number int Nein Feldzuordnung (1-10; Vorbelegung: 1) TechName nvarchar(50) Nein Technische Beschreibung für die projektspezifischen Stammdaten de nvarchar(250) Ja Beschreibung projektspezifische Stammdaten Deutsch en nvarchar(250) Ja Beschreibung projektspezifische Stammdaten Englisch InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutige Schlüssel: Licence + Number / Licence + TechName In die zweite Tabelle Accounting_CustomValues werden die Stammdaten geschrieben. Die Verknüpfung zur ersten Tabelle erfolgt über die Spalte TechName. Die eindeutige ID der Stammdaten muss in die Spalte TechName_ID . Bei den Beschreibungen wird automatisch die passende Beschreibung zur Anmeldesprache des Benutzers angezeigt. Häufig ist in den Systemen nur eine Sprache gepflegt. Es empfiehlt sich diese Beschreibung in beide Felder de und en zu schreiben. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') TechName nvarchar(50) Nein Technische Beschreibung für die projektspezifischen Stammdaten TechName_ID nvarchar(50) Nein ID für Stammdatenwert de nvarchar(250) Ja Beschreibung zum Stammdatenwert Deutsch en nvarchar(250) Ja Beschreibung zum Stammdatenwert Englisch CustFilter nvarchar(250) Ja Optionale Angabe für einen Filter CustFilter2 nvarchar(250) Ja Optionale zusätzliche Angabe für einen Filter InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode + TechName + TechName_ID Über die WEB-Konfiguration können die Daten manuell angegeben werden. In der ersten Ansicht werden die Stammdatendefinitionen angezeigt. Durch einen Klick auf die eine Zeile öffnet sich die Ansicht mit den Stammdaten. Accounting_GLAccount (Sachkonten) In der Tabelle Accounting_GLAccount werden die Sachkonten abgelegt. Zur Tabelle gehören die Gentable-Felder: GLAccount GLAccount_Desc Bei den Beschreibungen wird automatisch die passende Beschreibung zur Anmeldesprache des Benutzers angezeigt. Häufig ist in den führenden Systemen nur eine Sprache für die Sachkontenbeschreibung gepflegt. Es empfiehlt sich diese Beschreibung in beide Felder de und en zu übertragen. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') GLAccount nvarchar(50) Nein Sachkonto (eindeutiger Wert) de nvarchar(250) Ja Beschreibung Sachkonto Deutsch en nvarchar(250) Ja Beschreibung Kostenträger Englisch InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode + GLAccount Accounting_Navision (Navision Anlage/Sachkonto/Artikel) Für eine optimale Anbindung an Navision wurde die Logik aus dem führenden System übernommen. In Navision wird in einem Feld zunächst entschieden, ob auf eine Anlage oder ein Sachkonto oder auf einen Artikel kontiert werden soll. Im zweiten Feld wird die Auswahl entsprechend der ersten Angabe eingeschränkt. In der Tabelle Accounting_Navision werden entsprechend die Anlagennummern; Sachkonten und Artikel abgelegt. Zur Tabelle gehören die Gentable-Felder: NavisionType NavisionTypeValue NavisionTypeDescription In der Spalte NavisionType werden 3 Angaben unterschieden. Das Gentable-Feld wird als Auswahlliste dargestellt. Technisch kann in das Feld NavisionType einer der 3 Werte geschrieben werden: Fixed_Asset (Anlage) G_L_Account (Sachkonto) Item (Artikel) Bei den Beschreibungen wird automatisch die passende Beschreibung zur Anmeldesprache des Benutzers angezeigt. Häufig ist in den führenden Systemen nur eine Sprache für die Beschreibung gepflegt. Es empfiehlt sich diese Beschreibung in beide Felder de und en zu übertragen. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') NavisionType nvarchar(50) Nein Fixed_Asset / G_L_Account / Item NavisionTypeValue nvarchar(50) Nein Eindeutige ID (Anlage / Sachkonto oder Artikel) de nvarchar(250) Nein Beschreibung Deutsch en nvarchar(250) Nein Beschreibung Englisch InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode + NavisionType + NavisionTypeValue Accounting_PostingPeriod (Buchungsperioden) In der Tabelle Accounting_PostingPeriod werden die Buchungsperioden abgelegt. Zur Tabelle gehört das Kopf-Feld PostingPeriod . Neben dem Feld wird ein Button dargestellt, über den sich das Auswahl-Pop-Up öffnet. Im Pop-Up werden nur die aktuell offenen Perioden angezeigt ( OpenPeriod ). Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') PostingPeriod nvarchar(50) Nein Buchungsperiode technischer Name OpenPeriod bit Nein Angabe ob in die Periode aktuell gebucht werden darf DefaultPeriod bit Nein Angabe ob es sich um die aktuelle Standard-Periode handelt InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode + PostingPeriod Accounting_QuantityUnits (Mengeneinheiten) In der Tabelle Accounting_QuantityUnit werden die gültigen Mengeneinheiten abgelegt. Zur Tabelle gehört das Gentable-Feld QuantityUnit . Die passende Beschreibung wird je nach Anmeldesprache des Benutzers im Pop-Up angezeigt und wird in kein Feld geschrieben. Die manuelle Auswahl einer Mengeneinheit wird in der Regel nur im Modul Procurement benötigt. Bei Invoice sind die Mengeneinheiten durch die Bestellung und den Wareneingang vorbelegt. Die Angaben sollen in der Regel nicht manuell abgeändert werden können. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') QuantityUnit nvarchar(50) Nein Mengeneinheit de nvarchar(250) Nein Beschreibung Deutsch en nvarchar(250) Nein Beschreibung Englisch InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode + QuantityUnit Accounting_VatRate (Mehrwertsteuer-Codes) In der Tabelle Accounting_VatRate werden die gültigen Mehrwertsteuersätze zusammen mit den Mehrwertsteuercodes geschrieben. Zur Tabelle gehören die Gentable-Felder: VatCode VatRate In einigen führenden System besteht der Mehrwertsteuercode aus mehreren Elementen. Hier bietet es sich an für jede Kombinationen einen eindeutigen Code zu erstellen. Zum Beispiel können die Werte mit "||" verknüpft werden. Beim Mehrwertsteuersatz muss der Wert angegeben werden, mit dem gerechnet werden muss. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') VatCode nvarchar(50) Nein Mehrwertsteuer-Code VatRate decimal(5,2) Nein Mehrwertsteuersatz de nvarchar(250) Nein Beschreibung Mehrwertsteuer-Code Deutsch en nvarchar(250) Nein Beschreibung Mehrwertsteuer-Code Englisch InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode + VatCode   Beispiel für zusammengesetzte MwSt-Codes: Currencies (Währungen) In der Tabelle Currencies werden die Währungen abgelegt. Zur Tabelle gehört das Kopf-Feld Currency sowie das Gentable-Feld Currency . Neben dem Feld wird ein Button dargestellt, über den sich das Auswahl-Pop-Up öffnet. Die Beschreibungen werden lediglich in der Pop-Up-Auswahl angezeigt und werden in kein Feld geschrieben. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') Currency nvarchar(3) Nein Währung 3-stelliger ISO-Code de nvarchar(50) Nein Beschreibung Deutsch en nvarchar(50) Nein Beschreibung Englisch InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode + Currency   Beispiel: CurrencyChangeRate (Wechselkurse) In der Tabelle CurrencyChangeRate werden die Wechselkurse zu den Währungen abgelegt. Zur Tabelle gehört das Gentable-Feld CurrencyChangeRate . Ein Wechselkurs wird zum Beispiel benötigt, wenn über die Workflow-Regeln Freigabehöhen definiert wurden und den Akten Fremdwährungen vorkommen können. In dem Fall kann der Betrag über eine projektspezifische Umsetzung in die Mandantenwährung umgerechnet werden und kann in ein neues Feld geschrieben werden, welches dann wiederum in den Workflow-Regeln verwendet werden kann. Alternativ könnten Workflow-Regeln pro Währung definiert werden. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') CurrencyFile nvarchar(3) Nein Währung 3-stelliger ISO-Code in der Akte CurrencyOwn nvarchar(3) Nein Währung 3-stelliger ISO-Code , zu der umgerechnet werden soll ChangeRate decimal(18,6) Nein Wechselkurs ValidDate date Nein Gült ab - Datum InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode + CurrencyFile + CurrencyOwn + ValidDate FirmBankInformation (Bankinformationen) In der Tabelle FirmBankInformation werden die Kontodaten der Kreditoren abgelegt.An den Kreditor-Stammdaten kann eine Standard-Bankverbindung hinterlegt werden. Über diese Tabelle können weitere Bankverbindungen angegeben werden. Zur Tabelle gehören die Kopf-Felder: BankName BankID IBAN BIC BankAccountHolder BankAccountID Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') FirmID nvarchar(100) Nein Eindeutige Firmen ID FirmName nvarchar(200) Nein Firmenname BankCode nvarchar(100) Ja Bankleitzahl AccountHolder nvarchar(150) Nein Kontoinhaber AccountID nvarchar(50) Ja Kontonummer IBAN nvarchar(50) Ja IBAN BIC nvarchar(50) Ja BIC InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger)   FirmInformation (Kreditoren/Lieferanten) In der Tabelle FirmInformation werden aus Invoice-Sicht die Kreditoren abgelegt. Aus Bedarfsmeldungs-Sicht (Procurement) sind es die Lieferanten oder Dienstleister. Zur Tabelle gehören im Invoice diverse Kopffelder. Die Auswahl erfolgt über das Feld CreditorID . Der Großteil der Stammdaten ist optional. An den Kreditor-Stammdaten kann eine Standard-Bankverbindung hinterlegt werden. Bei der manuellen Auswahl eines Kreditors wird automatisch die Standard-Kontoverbindung gesetzt. Über die Tabelle FirmBankInformation können zu einem Kreditor weitere Bankverbindungen angegeben werden. Ebenso kann eine Standard-Zahlungsbedingung pro Kreditor hinterlegt werden. Die Ausprägung der Zahlungsbedingungen wird in der Tabelle FirmPaymentPractise definiert. Die Standard-Zahlungsbedingung wird ebenfalls vorbelegt. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') FirmID nvarchar(100) Nein Eindeutige Firmen ID FirmName nvarchar(200) Nein Firmenname FirmName2 nvarchar(200) Nein Zusätzliche Firmenbeschreibung Street nvarchar(200) Ja Straße StreetNo nvarchar(50) Ja Hausnummer PostCode nvarchar(50) Ja Postleitzahl City nvarchar(50) Ja Stadt Province nvarchar(50) Ja Provinz Country nvarchar(50) Ja Land OwnCustomerID nvarchar(50) Ja Eigene Kundennummer bei der Firma TaxID nvarchar(50) Ja Steuer ID NationalTaxID nvarchar(50) Ja Steuer ID national Mail1 nvarchar(100) Ja Mailadresse 1 Mail2 nvarchar(100) Ja Mailadresse 2 Mail3 nvarchar(100) Ja Mailadresse 3 URL nvarchar(100) Ja URL der Firma Phone1 nvarchar(75) Ja Telefonnummer 1 Phone2 nvarchar(75) Ja Telefonnummer 2 Phone3 nvarchar(75) Ja Telefonnummer 3 PaymentPractise nvarchar(50) Ja Zahlungsbedingungscode BankName nvarchar(150) Ja Name der Bank BankCode nvarchar(100) Ja Bankleitzahl BankAccountHolder nvarchar(150) Ja Kontoinhaber BankAccountID nvarchar(50) Ja Kontonummer BankIBAN nvarchar(50) Ja IBAN BankBIC nvarchar(50) Ja BIC Currency nvarchar(50) Ja Währung BusinessPostingGroup nvarchar(50) Ja Buchungsgruppe BusinessPostingGroupVat nvarchar(50) Ja MwSt-Buchungsgruppe DeliveryCode nvarchar(50) Ja Liefercode DeliveryDescription nvarchar(50) Ja Liefercode-Beschreibung InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode + FirmID FirmPaymentPractise (Zahlungsbedingungen) In der Tabelle FirmPaymentPractise werden die Zahlungsbedingungen hinterlegt. Der Zahlungsbedingungs-Code wird in das Feld ConditionsOfPayment_ID geschrieben. Für die genaue Ausprägung werden weitere Felder zur Verfügung bereitgestellt. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') PaymentPractise nvarchar(100) Nein Zahlungsbedingungs-Code FullDescription nvarchar(250) Ja Beschreibungstext zum Zahlungsbedingungs-Code NetDays int Ja Anzahl Tage Netto Days1 int Ja Anzahl Tage Prozent (Stufe 1) Percent1 decimal(5,3) Ja Prozentangabe (Stufe 1) Days2 int Ja Anzahl Tage Prozent (Stufe 2) Percent2 decimal(5,3) Ja Prozentangabe (Stufe 2) Days3 int Ja Anzahl Tage Prozent (Stufe 3) Percent3 decimal(5,3) Ja Prozentangabe (Stufe 3) InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode + PaymentPractise GoodsReceipt (Wareneingänge) In der Tabelle GoodsReceipt werden die Wareneingänge hinterlegt. Zu einem Wareneingang werden zwingend eine ID und eine Positionsnummer benötigt und diese Kombination muss eindeutig sein. Einer Wareneingangsposition muss eine Bestellung zugeordnet werden. Gegen den Wareneingang wird nur die Menge und die Mengeneinheit geprüft. Preise werden beim Wareneingang nicht erfasst. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') VendorID nvarchar(100) Nein Lieferant ID VendorName nvarchar(200) Nein Lieferant Name GoodsReceiptID nvarchar(100) Nein Wareneingangs-ID GoodsReceiptPosition nvarchar(100) Nein Wareneingangs-Position DeliveryNoteID nvarchar(100) Ja Lieferscheinnummer DeliveryDate date Ja Lieferdatum OrderNumber nvarchar(100) Nein Bestellnummer OrderPosition nvarchar(100) Nein Bestellposition InternalArticleCode nvarchar(50) Ja Interner Artikel-Code ExternalArticleCode nvarchar(50) Ja Externer Artikel-Code ArticleDescription nvarchar(250) Ja Artikelbeschreibung Quantity decimal(18,6) Nein Liefermenge QuantityUnit nvarchar(50) Nein Mengeneinheit InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode + GoodsReceiptID + GoodsReceiptPosition OrderData (Bestellnummern) In der Tabelle OrderData werden die Bestellnummern hinterlegt. Zu einem Eintrag in wird zwingend eine Bestellnummer und eine Bestellposition benötigt und diese Kombination muss eindeutig sein. Gegen die Bestellung werden Preis, Preiseinheit, Menge und die Mengeneinheit geprüft. Bei der Menge gibt es eine Spalte QuantityOrdered für die Bestellmenge und eine Spalte QuantityOpen für die noch offene Bestellmenge. Eine Bestellmenge darf in dem Kontext erst durch die Buchung der zugehörigen Rechnung geschlossen werden. Falls diese Angabe so in den Stammdaten vorkommt oder anders definiert ist, dann sollte die Bestellmenge übertragen werden. Zu den Bestellungen können optional diverse Kontierungswerte mitgegeben werden. Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Mandant (automatische Vorbelegung: 'ANY') CompanyCode nvarchar(50) Nein Buchungskreis (automatische Vorbelegung: 'ANY') VendorID nvarchar(100) Nein Lieferant ID VendorName nvarchar(200) Ja Lieferant Name OrderDate date Ja Bestelldatum OrderNumber nvarchar(100) Nein Bestellnummer OrderPosition nvarchar(100) Nein Bestellposition OrderClosed bit Nein Angabe ob die Bestellung geschlossen ist GoodsReceiptCheck bit Nein Angabe ob gegen den Wareneingang geprüft werden soll InternalArticleCode nvarchar(50) Ja Interne Artikelnummer ExternalArticleCode nvarchar(50) Ja Externe Artikelnummer ArticleDescription nvarchar(250) Ja Artikelbeschreibung QuantityOrdered decimal(18,6) Nein Bestellte Menge QuantityOpen decimal(18,6) Ja Offene Bestellmenge QuantityUnit nvarchar(50) Nein Mengeneinheit Price decimal(18,2) Nein Bestell-Preis PriceUnit decimal(18,5) Nein Preiseinheit Currency nvarchar(5) Nein Währung im ISO-Format PurchaserLogin nvarchar(255) Ja Einkäufer-Login RequesterLogin nvarchar(255) Ja Anforderer-Login PaymentTerms nvarchar(50) Ja Zahlungsbedingungen GLAccount nvarchar(50) Ja Sachkonto ID NavisionType nvarchar(50) Ja Anlage (Fixed_Asset) / Sachkonto (G_L_Account) / Artikel (Item) NavisionTypeValue nvarchar(50) Ja ID (Anlage/Sachkonto/Artikel) CostCenter nvarchar(50) Ja Kostenstelle ID CostUnit nvarchar(50) Ja Kostenträger ID Category1 nvarchar(50) Ja Zweistufige Kategorie (Wert 1) Category2 nvarchar(50) Ja Zweistufige Kategorie (Wert 2) AssetNumber nvarchar(50) Ja Anlagennummer JobNumber nvarchar(50) Ja Auftragsnummer VatCode nvarchar(50) Ja Mehrwertsteuer-Code VatRate decimal(3,1) Ja Mehrwertsteuer-Satz BranchID nvarchar(50) Ja ID Niederlassung ProjectID nvarchar(50) Ja Projekt ID OrderLimitCheckbox bit Ja Angabe ob ein Bestell-Limit geprüft werden soll OrderLimitAmount decimal(18,2) Ja Bestell-Limit OrderCustomBit1 bit Ja Projektspezifische Verwendung OrderCustomBit2 bit Ja Projektspezifische Verwendung OrderCustomDate1 date Ja Projektspezifische Verwendung OrderCustomDate2 date Ja Projektspezifische Verwendung OrderCustomDatetime1 datetime Ja Projektspezifische Verwendung OrderCustomNumeric1 decimal(18,2) Ja Projektspezifische Verwendung OrderCustomNumeric2 decimal(18,2) Ja Projektspezifische Verwendung OrderCustomString1 nvarchar(50) Ja Projektspezifische Verwendung OrderCustomString2 nvarchar(50) Ja Projektspezifische Verwendung OrderCustomString3 nvarchar(50) Ja Projektspezifische Verwendung InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode + OrderNumber + OrderPosition Principal (Mandanten/Buchungskreise) Über die Tabelle Principal werden die Mandanten und ggf. auch die Buchungskreise angegeben. In den führenden Systemen gibt es häufig nur eine Angabe für den Mandanten. In einigen Systemen wie SAP kann neben dem Mandanten zusätzlich noch zwischen Buchungskreisen unterschieden werden. Wenn es keine Unterscheidung gibt kann für beide Werte derselbe Wert angegeben werden. Zur Tabelle gehören die Kopf-Felder: Principal CompanyCode Spaltenname Typ NULL-Werte zulassen Erläuterung ID bigint Nein Eindeutige ID / Primary Key (Auto-Inkrement) Licence nvarchar(50) Nein Documents-Lizenzname (PEM) Principal nvarchar(50) Nein Eindeutige ID für den Mandanten PrincipalDesc nvarchar(100) Nein Beschreibung für den Mandanten CompanyCode nvarchar(50) Nein Eindeutige ID für den Buchungskreis CompanyCodeDesc nvarchar(100) Nein Beschreibung für den Buchungskreis ExternalID nvarchar(50) Ja Zusätzlich externe ID bei Anbindung mehrerer Systeme HomeCurrency nvarchar(5) Ja Währung des Mandanten Address1 nvarchar(150) Ja Adresse 1 zum Mandanten Address2 nvarchar(150) Ja Adresse 2 für ggf. weitere Angaben PostCode nvarchar(50) Ja Postleitzahl City nvarchar(50) Ja Stadt Country nvarchar(50) Ja Land ManagingDirector1 nvarchar(150) Ja Geschäftsführer ManagingDirector2 nvarchar(150) Ja Weiterer Geschäftsführer ManagingDirector3 nvarchar(150) Ja Weiterer Geschäftsführer eMail nvarchar(150) Ja E-Mail Bank nvarchar(100) Ja Name der Bank IBAN nvarchar(50) Ja IBAN BIC nvarchar(50) Ja BIC Phone1 nvarchar(50) Ja Telefonnummer 1 Phone2 nvarchar(50) Ja Telefonnummer 2 WEB nvarchar(150) Ja URL TaxID nvarchar(50) Ja Steuer ID CommercialRegisterID nvarchar(50) Ja Nummer Handelsregister InsertTS datetime Nein Zeitstempel beim Insert (automatische Vorbelegung beim Insert) UpdateTS datetime Ja Zeitstempel beim Update (automatisch via Trigger) Eindeutiger Schlüssel: Licence + Principal + CompanyCode