# DEXPRO Stammdaten (DEX_MasterData) # 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**
IDbigintNeinEindeutige ID (Auto-Inkrement).
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM).
Principalnvarchar(50)NeinTechnischer Mandant oder 'ANY'
CompanyCodenvarchar(50)NeinTechnischer Buchungskreis oder 'ANY'
InsertTSdatetimeNeinWird automatisch beim Insert gesetzt
UpdateTSdatetimeJaWird 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](https://docs.squeeze.one/uploads/images/gallery/2022-01/scaled-1680-/image-1642503654351.png)](https://docs.squeeze.one/uploads/images/gallery/2022-01/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. # 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](https://docs.squeeze.one/uploads/images/gallery/2022-01/scaled-1680-/image-1642520313020.png)](https://docs.squeeze.one/uploads/images/gallery/2022-01/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: - **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... [![image-1642516996231.png](https://docs.squeeze.one/uploads/images/gallery/2022-01/scaled-1680-/image-1642516996231.png)](https://docs.squeeze.one/uploads/images/gallery/2022-01/image-1642516996231.png)... als auch bei der Auswahl über das Pop-Up. [![image-1642519524004.png](https://docs.squeeze.one/uploads/images/gallery/2022-01/scaled-1680-/image-1642519524004.png)](https://docs.squeeze.one/uploads/images/gallery/2022-01/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](https://docs.squeeze.one/uploads/images/gallery/2022-01/scaled-1680-/image-1642519591864.png)](https://docs.squeeze.one/uploads/images/gallery/2022-01/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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
Category1nvarchar(50)NeinEindeutiger Wert 1
Category1\_Descnvarchar(150)NeinBeschreibung zu Wert 1
Category2nvarchar(50)JaEindeutiger Wert 2
Category2\_Descnvarchar(150)JaBeschreibung zu Wert 2
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
CostCenternvarchar(50)NeinKostenstelle (eindeutiger Wert)
ResponsibleUsernvarchar(100)NeinKostenstellenverantwortlicher
denvarchar(250)JaBeschreibung Kostenstelle Deutsch
ennvarchar(250)JaBeschreibung Kostenstelle Englisch
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
CostUnitnvarchar(50)NeinKostenträger (eindeutiger Wert)
denvarchar(250)JaBeschreibung Kostenträger Deutsch
ennvarchar(250)JaBeschreibung Kostenträger Englisch
ResponsibleUsernvarchar(100)NeinKostenstellenverantwortlicher
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
NumberintNeinFeldzuordnung (1-10; Vorbelegung: 1)
TechNamenvarchar(50)NeinTechnische Beschreibung für die projektspezifischen Stammdaten
denvarchar(250)JaBeschreibung projektspezifische Stammdaten Deutsch
ennvarchar(250)JaBeschreibung projektspezifische Stammdaten Englisch
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
TechNamenvarchar(50)NeinTechnische Beschreibung für die projektspezifischen Stammdaten
TechName\_IDnvarchar(50)NeinID für Stammdatenwert
denvarchar(250)JaBeschreibung zum Stammdatenwert Deutsch
ennvarchar(250)JaBeschreibung zum Stammdatenwert Englisch
CustFilternvarchar(250)JaOptionale Angabe für einen Filter
CustFilter2nvarchar(250)JaOptionale zusätzliche Angabe für einen Filter
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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](https://docs.squeeze.one/uploads/images/gallery/2022-01/scaled-1680-/image-1642751422179.png)](https://docs.squeeze.one/uploads/images/gallery/2022-01/image-1642751422179.png) Durch einen Klick auf die eine Zeile öffnet sich die Ansicht mit den Stammdaten. [![image-1642751598772.png](https://docs.squeeze.one/uploads/images/gallery/2022-01/scaled-1680-/image-1642751598772.png)](https://docs.squeeze.one/uploads/images/gallery/2022-01/image-1642751598772.png)# 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
GLAccountnvarchar(50)NeinSachkonto (eindeutiger Wert)
denvarchar(250)JaBeschreibung Sachkonto Deutsch
ennvarchar(250)JaBeschreibung Kostenträger Englisch
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
NavisionTypenvarchar(50)NeinFixed\_Asset / G\_L\_Account / Item
NavisionTypeValuenvarchar(50)NeinEindeutige ID (Anlage / Sachkonto oder Artikel)
denvarchar(250)NeinBeschreibung Deutsch
ennvarchar(250)NeinBeschreibung Englisch
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
PostingPeriodnvarchar(50)NeinBuchungsperiode technischer Name
OpenPeriodbitNeinAngabe ob in die Periode aktuell gebucht werden darf
DefaultPeriodbitNeinAngabe ob es sich um die aktuelle Standard-Periode handelt
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
QuantityUnitnvarchar(50)NeinMengeneinheit
denvarchar(250)NeinBeschreibung Deutsch
ennvarchar(250)NeinBeschreibung Englisch
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
VatCodenvarchar(50)NeinMehrwertsteuer-Code
VatRatedecimal(5,2)NeinMehrwertsteuersatz
denvarchar(250)NeinBeschreibung Mehrwertsteuer-Code Deutsch
ennvarchar(250)NeinBeschreibung Mehrwertsteuer-Code Englisch
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel beim Update (automatisch via Trigger)
*Eindeutiger Schlüssel:* Licence + Principal + CompanyCode + VatCode Beispiel für zusammengesetzte MwSt-Codes: [![image-1642762220598.png](https://docs.squeeze.one/uploads/images/gallery/2022-01/scaled-1680-/image-1642762220598.png)](https://docs.squeeze.one/uploads/images/gallery/2022-01/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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
Currencynvarchar(3)NeinWährung 3-stelliger ISO-Code
denvarchar(50)NeinBeschreibung Deutsch
ennvarchar(50)NeinBeschreibung Englisch
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel beim Update (automatisch via Trigger)
*Eindeutiger Schlüssel:* Licence + Principal + CompanyCode + Currency Beispiel: [![image-1642762748606.png](https://docs.squeeze.one/uploads/images/gallery/2022-01/scaled-1680-/image-1642762748606.png)](https://docs.squeeze.one/uploads/images/gallery/2022-01/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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
CurrencyFilenvarchar(3)NeinWährung 3-stelliger ISO-Code in der Akte
CurrencyOwnnvarchar(3)NeinWährung 3-stelliger ISO-Code , zu der umgerechnet werden soll
ChangeRatedecimal(18,6)NeinWechselkurs
ValidDatedateNeinGült ab - Datum
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
FirmIDnvarchar(100)NeinEindeutige Firmen ID
FirmNamenvarchar(200)NeinFirmenname
BankCodenvarchar(100)JaBankleitzahl
AccountHoldernvarchar(150)NeinKontoinhaber
AccountIDnvarchar(50)JaKontonummer
IBANnvarchar(50)JaIBAN
BICnvarchar(50)JaBIC
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
FirmIDnvarchar(100)NeinEindeutige Firmen ID
FirmNamenvarchar(200)NeinFirmenname
FirmName2nvarchar(200)NeinZusätzliche Firmenbeschreibung
Streetnvarchar(200)JaStraße
StreetNonvarchar(50)Ja Hausnummer
PostCodenvarchar(50)JaPostleitzahl
Citynvarchar(50)JaStadt
Provincenvarchar(50)JaProvinz
Countrynvarchar(50)JaLand
OwnCustomerIDnvarchar(50)JaEigene Kundennummer bei der Firma
TaxIDnvarchar(50)JaSteuer ID
NationalTaxIDnvarchar(50)JaSteuer ID national
Mail1nvarchar(100)JaMailadresse 1
Mail2nvarchar(100)JaMailadresse 2
Mail3nvarchar(100)JaMailadresse 3
URLnvarchar(100)JaURL der Firma
Phone1nvarchar(75)JaTelefonnummer 1
Phone2nvarchar(75)JaTelefonnummer 2
Phone3nvarchar(75)JaTelefonnummer 3
PaymentPractisenvarchar(50)JaZahlungsbedingungscode
BankNamenvarchar(150)JaName der Bank
BankCodenvarchar(100)JaBankleitzahl
BankAccountHoldernvarchar(150)JaKontoinhaber
BankAccountIDnvarchar(50)JaKontonummer
BankIBANnvarchar(50)JaIBAN
BankBICnvarchar(50)JaBIC
Currencynvarchar(50)JaWährung
BusinessPostingGroupnvarchar(50)JaBuchungsgruppe
BusinessPostingGroupVatnvarchar(50)JaMwSt-Buchungsgruppe
DeliveryCodenvarchar(50)JaLiefercode
DeliveryDescriptionnvarchar(50)JaLiefercode-Beschreibung
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
PaymentPractisenvarchar(100)NeinZahlungsbedingungs-Code
FullDescriptionnvarchar(250)JaBeschreibungstext zum Zahlungsbedingungs-Code
NetDaysintJaAnzahl Tage Netto
Days1intJaAnzahl Tage Prozent (Stufe 1)
Percent1decimal(5,3)Ja Prozentangabe (Stufe 1)
Days2intJaAnzahl Tage Prozent (Stufe 2)
Percent2decimal(5,3)JaProzentangabe (Stufe 2)
Days3intJaAnzahl Tage Prozent (Stufe 3)
Percent3decimal(5,3)JaProzentangabe (Stufe 3)
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
VendorIDnvarchar(100)NeinLieferant ID
VendorNamenvarchar(200)NeinLieferant Name
GoodsReceiptIDnvarchar(100)NeinWareneingangs-ID
GoodsReceiptPositionnvarchar(100)NeinWareneingangs-Position
DeliveryNoteIDnvarchar(100)Ja Lieferscheinnummer
DeliveryDatedateJaLieferdatum
OrderNumbernvarchar(100)NeinBestellnummer
OrderPositionnvarchar(100)NeinBestellposition
InternalArticleCodenvarchar(50)JaInterner Artikel-Code
ExternalArticleCodenvarchar(50)JaExterner Artikel-Code
ArticleDescriptionnvarchar(250)JaArtikelbeschreibung
Quantitydecimal(18,6)NeinLiefermenge
QuantityUnitnvarchar(50)NeinMengeneinheit
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinMandant (automatische Vorbelegung: 'ANY')
CompanyCodenvarchar(50)NeinBuchungskreis (automatische Vorbelegung: 'ANY')
VendorIDnvarchar(100)NeinLieferant ID
VendorNamenvarchar(200)JaLieferant Name
OrderDatedateJaBestelldatum
OrderNumbernvarchar(100)NeinBestellnummer
OrderPositionnvarchar(100)NeinBestellposition
OrderClosedbitNeinAngabe ob die Bestellung geschlossen ist
GoodsReceiptCheckbitNeinAngabe ob gegen den Wareneingang geprüft werden soll
InternalArticleCodenvarchar(50)JaInterne Artikelnummer
ExternalArticleCodenvarchar(50)JaExterne Artikelnummer
ArticleDescriptionnvarchar(250)JaArtikelbeschreibung
QuantityOrdereddecimal(18,6)NeinBestellte Menge
QuantityOpendecimal(18,6)JaOffene Bestellmenge
QuantityUnitnvarchar(50)NeinMengeneinheit
Pricedecimal(18,2)NeinBestell-Preis
PriceUnitdecimal(18,5)NeinPreiseinheit
Currencynvarchar(5)NeinWährung im ISO-Format
PurchaserLoginnvarchar(255)JaEinkäufer-Login
RequesterLoginnvarchar(255)JaAnforderer-Login
PaymentTermsnvarchar(50)JaZahlungsbedingungen
GLAccountnvarchar(50)JaSachkonto ID
NavisionTypenvarchar(50)JaAnlage (Fixed\_Asset) / Sachkonto (G\_L\_Account) / Artikel (Item)
NavisionTypeValuenvarchar(50)JaID (Anlage/Sachkonto/Artikel)
CostCenternvarchar(50)JaKostenstelle ID
CostUnitnvarchar(50)JaKostenträger ID
Category1nvarchar(50)JaZweistufige Kategorie (Wert 1)
Category2nvarchar(50)JaZweistufige Kategorie (Wert 2)
AssetNumbernvarchar(50)JaAnlagennummer
JobNumbernvarchar(50)JaAuftragsnummer
VatCodenvarchar(50)JaMehrwertsteuer-Code
VatRatedecimal(3,1)JaMehrwertsteuer-Satz
BranchIDnvarchar(50)JaID Niederlassung
ProjectIDnvarchar(50)JaProjekt ID
OrderLimitCheckboxbitJaAngabe ob ein Bestell-Limit geprüft werden soll
OrderLimitAmountdecimal(18,2)JaBestell-Limit
OrderCustomBit1bitJaProjektspezifische Verwendung
OrderCustomBit2bitJaProjektspezifische Verwendung
OrderCustomDate1dateJaProjektspezifische Verwendung
OrderCustomDate2dateJaProjektspezifische Verwendung
OrderCustomDatetime1datetimeJaProjektspezifische Verwendung
OrderCustomNumeric1decimal(18,2)JaProjektspezifische Verwendung
OrderCustomNumeric2decimal(18,2)JaProjektspezifische Verwendung
OrderCustomString1nvarchar(50)JaProjektspezifische Verwendung
OrderCustomString2nvarchar(50)JaProjektspezifische Verwendung
OrderCustomString3nvarchar(50)JaProjektspezifische Verwendung
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel 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**
IDbigintNeinEindeutige ID / Primary Key (Auto-Inkrement)
Licencenvarchar(50)NeinDocuments-Lizenzname (PEM)
Principalnvarchar(50)NeinEindeutige ID für den Mandanten
PrincipalDescnvarchar(100)NeinBeschreibung für den Mandanten
CompanyCodenvarchar(50)NeinEindeutige ID für den Buchungskreis
CompanyCodeDescnvarchar(100)NeinBeschreibung für den Buchungskreis
ExternalIDnvarchar(50)JaZusätzlich externe ID bei Anbindung mehrerer Systeme
HomeCurrencynvarchar(5)JaWährung des Mandanten
Address1nvarchar(150)JaAdresse 1 zum Mandanten
Address2nvarchar(150)JaAdresse 2 für ggf. weitere Angaben
PostCodenvarchar(50)JaPostleitzahl
Citynvarchar(50)JaStadt
Countrynvarchar(50)JaLand
ManagingDirector1nvarchar(150)JaGeschäftsführer
ManagingDirector2nvarchar(150)JaWeiterer Geschäftsführer
ManagingDirector3nvarchar(150)JaWeiterer Geschäftsführer
eMailnvarchar(150)JaE-Mail
Banknvarchar(100)JaName der Bank
IBANnvarchar(50)JaIBAN
BICnvarchar(50)JaBIC
Phone1nvarchar(50)JaTelefonnummer 1
Phone2nvarchar(50)JaTelefonnummer 2
WEBnvarchar(150)JaURL
TaxIDnvarchar(50)JaSteuer ID
CommercialRegisterIDnvarchar(50)JaNummer Handelsregister
InsertTSdatetimeNeinZeitstempel beim Insert (automatische Vorbelegung beim Insert)
UpdateTSdatetimeJaZeitstempel beim Update (automatisch via Trigger)
*Eindeutiger Schlüssel:* Licence + Principal + CompanyCode