DEXPRO Stammdaten (DEX_MasterData)
In diesem Buch werden die Stammdatentabellen der Datenbank "DEX_MasterData" beschrieben.
- Allgemeine Informationen
- Accounting_Category (zweistufige Kategorien)
- Accounting_CostCenter (Kostenstellen)
- Accounting_CostUnit (Kostenträger)
- Accounting_Custom / Accounting_CustomValues (Projektspezifische Tabellen)
- Accounting_GLAccount (Sachkonten)
- Accounting_Navision (Navision Anlage/Sachkonto/Artikel)
- Accounting_PostingPeriod (Buchungsperioden)
- Accounting_QuantityUnits (Mengeneinheiten)
- Accounting_VatRate (Mehrwertsteuer-Codes)
- Currencies (Währungen)
- CurrencyChangeRate (Wechselkurse)
- FirmBankInformation (Bankinformationen)
- FirmInformation (Kreditoren/Lieferanten)
- FirmPaymentPractise (Zahlungsbedingungen)
- GoodsReceipt (Wareneingänge)
- OrderData (Bestellnummern)
- Principal (Mandanten/Buchungskreise)
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 |
nvarchar(150) | Ja | ||
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