DEXPRO Stammdaten (DEX_MasterData)

In diesem Buch werden die Stammdatentabellen der Datenbank "DEX_MasterData" beschrieben.

Allgemeine Informationen

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.

image-1642503654351.png

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. 

Allgemeine Informationen

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.

image-1642520313020.png

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:

Bei der Angabe des zweiten Werts wird die Auswahl durch den ersten Wert eingeschränkt. Das funktioniert automatisch bei der Verwendung der Autocomplete-Funktion...

image-1642516996231.png... als auch bei der Auswahl über das Pop-Up.

image-1642519524004.png

Durch die Auswahl der ersten Angabe wird im Pop automatisch direkt Auswahl für den zweiten Wert mit den passenden Werten angezeigt.

image-1642519591864.png

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:

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:

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:

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.

image-1642751422179.png

Durch einen Klick auf die eine Zeile öffnet sich die Ansicht mit den Stammdaten.

image-1642751598772.png

Accounting_GLAccount (Sachkonten)

In der Tabelle Accounting_GLAccount werden die Sachkonten abgelegt. Zur Tabelle gehören die Gentable-Felder:

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:

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:

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:

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:

image-1642762220598.png

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:

image-1642762748606.png

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:

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:

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