Files
Masterarbeit/Ergebnisse/Ergebnisse 03/BUSINESS_GLOSSAR_MIT_DB_MAPPING.md

668 lines
32 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# c-entron.NET - Business Glossar mit Datenbank-Mapping
> **Verfasst**: 2025-12-02
> **Grundlage**: Code-Analyse, Datenbank-Schema, NHibernate-Mappings
> **Format**: [Tabelle.Spalte] für alle Datenbank-Referenzen
---
## 📋 Inhaltsverzeichnis
1. [STAMMDATEN DOMÄNE](#stammdaten-domäne)
2. [VERKAUF DOMÄNE](#verkauf-domäne)
3. [EINKAUF DOMÄNE](#einkauf-domäne)
4. [LAGER & BESTAND DOMÄNE](#lager--bestand-domäne)
5. [VERTRAG & SERVICE DOMÄNE](#vertrag--service-domäne)
6. [HELPDESK & SUPPORT DOMÄNE](#helpdesk--support-domäne)
7. [HR & PERSONAL DOMÄNE](#hr--personal-domäne)
8. [FINANZEN & ACCOUNTING DOMÄNE](#finanzen--accounting-domäne)
---
# STAMMDATEN DOMÄNE
## Konto (Account)
**Begriff**: Konto / Geschäftspartner-Stammkonto
**Englisch**: Account
**Datenbank-Tabelle**: `Accounts`
**Primärschlüssel**: `Accounts.I3D`
**Felder mit DB-Mapping**:
- `I3D``[Accounts.I3D]` - Eindeutige Kontokennung
- `Number``[Accounts.Number]` - Kontonummer (Vergabe durch System)
- `Name``[Accounts.Name]` - Name des Geschäftspartners
- `Matchcode``[Accounts.Matchcode]` - Suchfeld für schnelle Findung
- `Email``[Accounts.Email]` - E-Mail-Adresse
- `Phone``[Accounts.Phone]` - Telefonnummer
- `Fax``[Accounts.Fax]` - Faxnummer
- `WebSite``[Accounts.WebSite]` - Website-URL
- `TaxNumber``[Accounts.TaxNumber]` - Steuernummer (Deutschland)
- `RevenueIdentificationNumber``[Accounts.RevenueIdentificationNumber]` - Umsatzsteuer-ID
- `IsActive``[Accounts.IsActive]` - Aktiv/Inaktiv Status
- `IsLocked``[Accounts.IsLocked]` - Sperrstatus
- `AdvertisingNotAllowed``[Accounts.AdvertisingNotAllowed]` - Werbe-Opt-out
- `FaxDistributor``[Accounts.FaxDistributor]` - In Fax-Verteiler
- `MailDistributor``[Accounts.MailDistributor]` - In Mail-Verteiler
- `Comment``[Accounts.Comment]` - Interne Notizen
- `MandatorI3D``[Accounts.MandatorI3D]` - Zugehöriger Mandant (FK)
- `SalesAreaI3D``[Accounts.SalesAreaI3D]` - Vertriebsbereich (FK)
- `CompanyGroupI3D``[Accounts.CompanyGroupI3D]` - Konzern-Zugehörigkeit (FK)
- `Adviser1I3D``[Accounts.Adviser1I3D]` - Betreuer 1 (FK → Personal)
- `Adviser2I3D``[Accounts.Adviser2I3D]` - Betreuer 2 (FK → Personal)
- `Adviser3I3D``[Accounts.Adviser3I3D]` - Betreuer 3 (FK → Personal)
- `Adviser4I3D``[Accounts.Adviser4I3D]` - Betreuer 4 (FK → Personal)
- `Adviser5I3D``[Accounts.Adviser5I3D]` - Betreuer 5 (FK → Personal)
- `Adviser6I3D``[Accounts.Adviser6I3D]` - Betreuer 6 (FK → Personal)
- `CreatedByI3D``[Accounts.CreatedByI3D]` - Ersteller (FK → Personal)
- `CreatedDate``[Accounts.CreatedDate]` - Erstellungsdatum
- `ChangedByI3D``[Accounts.ChangedByI3D]` - Letzte Änderung durch (FK → Personal)
- `ChangedDate``[Accounts.ChangedDate]` - Letzte Änderung am
- `CreatedVersion``[Accounts.CreatedVersion]` - Version bei Erstellung
- `ChangedVersion``[Accounts.ChangedVersion]` - Letzte Änderungsversion
**Collections (1:n Beziehungen)**:
- `Addresses``[AccountAddresses]` (AccountI3D = Accounts.I3D)
- `AccountTypes``[AccountTypeToAccounts]` Junction-Tabelle
---
## Kunde (Customer / Account Customer)
**Begriff**: Kunde / Verkaufs-Kundenkonto
**Englisch**: Customer
**Datenbank-Tabelle**: `AccountCustomers`
**Primärschlüssel**: `AccountCustomers.I3D`
**Beziehung**: Erweiterung von `Accounts` mit Verkaufs-spezifischen Feldern
**Neue/Spezifische Felder mit DB-Mapping**:
- `I3D``[AccountCustomers.I3D]` - Eindeutige Kunden-ID (=Account.I3D)
- `Number``[AccountCustomers.Number]` - Kundennummer
- `Limit``[AccountCustomers.Limit]` - Kreditlimit
- `Discount``[AccountCustomers.Discount]` - Standard-Kundenrabatt (%)
- `PriceList``[AccountCustomers.PriceList]` - Preislisten-Zuordnung
- `DeliveryOption``[AccountCustomers.DeliveryOption]` - Standard-Versandart
- `AlternativeInvoiceAccountI3D``[AccountCustomers.AlternativeInvoiceAccountI3D]` - Abweichender Rechnungskunde (FK → Account)
- `AlternativeInvoiceAddressI3D``[AccountCustomers.AlternativeInvoiceAddressI3D]` - Abweichende Rechnungsadresse (FK → AccountAddresses)
- `AlternativeDeliveryAccountI3D``[AccountCustomers.AlternativeDeliveryAccountI3D]` - Abweichender Lieferkunde (FK → Account)
- `AlternativeDeliveryAddressI3D``[AccountCustomers.AlternativeDeliveryAddressI3D]` - Abweichende Lieferadresse (FK → AccountAddresses)
- `ReceiptConditionOfferI3D``[AccountCustomers.ReceiptConditionOfferI3D]` - Zahlungsbedingung Angebote (FK → Zahkond)
- `ReceiptConditionOrderI3D``[AccountCustomers.ReceiptConditionOrderI3D]` - Zahlungsbedingung Bestellungen (FK → Zahkond)
- `ReceiptConditionInvoiceI3D``[AccountCustomers.ReceiptConditionInvoiceI3D]` - Zahlungsbedingung Rechnungen (FK → Zahkond)
- `DunningLetterRecipientPersonI3D``[AccountCustomers.DunningLetterRecipientPersonI3D]` - Mahnungs-Empfänger (FK → AccountAddressContacts)
- `DunningLetterAfterDays1``[AccountCustomers.DunningLetterAfterDays1]` - Tage bis 1. Mahnung
- `DunningLetterAfterDays2``[AccountCustomers.DunningLetterAfterDays2]` - Tage bis 2. Mahnung
- `DunningLetterAfterDays3``[AccountCustomers.DunningLetterAfterDays3]` - Tage bis 3. Mahnung
- `LimitCalculationKind``[AccountCustomers.LimitCalculationKind]` - Art der Limitberechnung
- `WarehouseI3D``[AccountCustomers.WarehouseI3D]` - Standard-Lager (FK → Warehouses)
- `IsPurchaseOrderNumberRequired``[AccountCustomers.IsPurchaseOrderNumberRequired]` - Bestellnummer erforderlich (Flag)
- `IsProjectNumberRequired``[AccountCustomers.IsProjectNumberRequired]` - Projektnummer erforderlich (Flag)
- `IsProductionConfigurationMandatory``[AccountCustomers.IsProductionConfigurationMandatory]` - Fertigungskonfiguration erforderlich (Flag)
- `CommentOffer``[AccountCustomers.CommentOffer]` - Standard-Text Angebote
- `CommentOrder``[AccountCustomers.CommentOrder]` - Standard-Text Bestellungen
- `CommentInvoice``[AccountCustomers.CommentInvoice]` - Standard-Text Rechnungen
- `CommentDeliveryList``[AccountCustomers.CommentDeliveryList]` - Standard-Text Lieferscheine
- `MailNotificationAtHelpdeskBCC``[AccountCustomers.MailNotificationAtHelpdeskBCC]` - BCC-Adressen bei Ticket-Mails
- `BookKeepingNumber``[AccountCustomers.BookKeepingNumber]` - Debitorennummer in Fibu
---
## Adresse (Address)
**Begriff**: Adresse / Geschäftspartner-Adresse
**Englisch**: Address
**Datenbank-Tabelle**: `AccountAddresses`
**Primärschlüssel**: `AccountAddresses.I3D`
**Felder mit DB-Mapping**:
- `I3D``[AccountAddresses.I3D]` - Eindeutige Adresskennung
- `AccountI3D``[AccountAddresses.AccountI3D]` - Gehörendes Konto (FK → Accounts)
- `Status``[AccountAddresses.Status]` - Status (aktiv/archiviert)
- `Street``[AccountAddresses.Street]` - Straße
- `PostalCode``[AccountAddresses.PostalCode]` - Postleitzahl
- `City``[AccountAddresses.City]` - Stadt/Ort
- `CountryI3D``[AccountAddresses.CountryI3D]` - Land (FK)
- `Phone1``[AccountAddresses.Phone1]` - Telefon 1
- `Phone2``[AccountAddresses.Phone2]` - Telefon 2
- `Fax1``[AccountAddresses.Fax1]` - Fax
- `Email1``[AccountAddresses.Email1]` - E-Mail
- `Web``[AccountAddresses.Web]` - Website
- `Receiver``[AccountAddresses.Receiver]` - Empfängername (abweichend vom Konto)
- `AddressKindI3D``[AccountAddresses.AddressKindI3D]` - Adresstyp (Rechnungs-, Lieferadresse, etc.)
- `IsDefault``[AccountAddresses.IsDefault]` - Standard-Adresse
- `CreatedDate``[AccountAddresses.CreatedDate]` - Erstellungsdatum
- `ChangedDate``[AccountAddresses.ChangedDate]` - Änderungsdatum
**Collections**:
- `Contacts``[AccountAddressContacts]` (AccountAddressI3D = AccountAddresses.I3D)
---
## Ansprechperson (Contact Person)
**Begriff**: Ansprechperson / Kontaktperson
**Englisch**: Contact Person
**Datenbank-Tabelle**: `AccountAddressContacts`
**Primärschlüssel**: `AccountAddressContacts.I3D`
**Felder mit DB-Mapping**:
- `I3D``[AccountAddressContacts.I3D]` - Eindeutige Personenkennung
- `AccountAddressI3D``[AccountAddressContacts.AccountAddressI3D]` - Adresse (FK → AccountAddresses)
- `Firstname``[AccountAddressContacts.Firstname]` - Vorname
- `Lastname``[AccountAddressContacts.Lastname]` - Nachname
- `Phone1``[AccountAddressContacts.Phone1]` - Telefon 1
- `Phone2``[AccountAddressContacts.Phone2]` - Telefon 2
- `Fax1``[AccountAddressContacts.Fax1]` - Fax
- `Email1``[AccountAddressContacts.Email1]` - E-Mail 1
- `Email2``[AccountAddressContacts.Email2]` - E-Mail 2
- `Job``[AccountAddressContacts.Job]` - Funktion/Abteilung
- `Birthday``[AccountAddressContacts.Birthday]` - Geburtsdatum
- `SalutationI3D``[AccountAddressContacts.SalutationI3D]` - Anrede (FK)
- `IsActive``[AccountAddressContacts.IsActive]` - Aktiv/Inaktiv
- `IsDefault``[AccountAddressContacts.IsDefault]` - Standard-Kontakt
- `DefaultTicket``[AccountAddressContacts.DefaultTicket]` - Standard bei Helpdesk-Tickets
- `IsInvoiceMailCCReceiver``[AccountAddressContacts.IsInvoiceMailCCReceiver]` - CC bei Rechnungsmails
- `CreatedDate``[AccountAddressContacts.CreatedDate]` - Erstellungsdatum
- `ChangedDate``[AccountAddressContacts.ChangedDate]` - Änderungsdatum
---
# VERKAUF DOMÄNE
## Bestellung / Auftrag (Order)
**Begriff**: Bestellung / Kundenauftrag
**Englisch**: Order
**Datenbank-Tabelle**: `AufKopf` (Auftragskopf - Legacy German naming)
**Primärschlüssel**: `AufKopf.I3D`
**Hauptfelder mit DB-Mapping**:
- `I3D``[AufKopf.I3D]` - Eindeutige Auftrags-ID
- `Number``[AufKopf.Nummer]` - Bestellnummer (z.B. "2025-00042")
- `Status``[AufKopf.Status]` - Bearbeitungsstatus
- `Date``[AufKopf.Datum]` - Bestelldatum
- `Version``[AufKopf.Version]` - Versionsnummer
- `CreatorI3D``[AufKopf.ErstellerI3D]` - Ersteller (FK → Personal)
- `CreationDate``[AufKopf.ErstelltDatum]` - Erstellungsdatum
- `EditorI3D``[AufKopf.BearbeiterI3D]` - Bearbeiter (FK → Personal)
- `ChangedFromI3D``[AufKopf.GeaendertVonI3D]` - Geändert von (FK → Personal)
- `ChangedDate``[AufKopf.GeaendertDatum]` - Änderungsdatum
**Kunden-Daten mit DB-Mapping**:
- `CustomerI3D``[AufKopf.KundenID]` - Kunde (FK → Accounts)
- `Receiver``[AufKopf.Empfanger]` - Adressat/Empfängername
- `AddressI3D``[AufKopf.AnschriftID]` - Rechnungsadresse (FK → AccountAddresses)
- `ContactI3D``[AufKopf.PersonID]` - Kontaktperson (FK → AccountAddressContacts)
- `Street``[AufKopf.Strasse]` - Straße
- `Zip``[AufKopf.Plz]` - Postleitzahl
- `City``[AufKopf.Ort]` - Stadt
- `Phone``[AufKopf.Tel]` - Telefon
- `Fax``[AufKopf.Fax]` - Fax
- `Email``[AufKopf.Mail]` - E-Mail
- `CountryI3D``[AufKopf.LandI3D]` - Land (FK)
**Abweichende Lieferdaten mit DB-Mapping**:
- `DeliveryCustomerI3D``[AufKopf.LiefKundI3D]` - Abweichender Lieferkunde (FK → Accounts)
- `DeliveryCustomerExt``[AufKopf.LiefKundFremd]` - Lieferkunde ist extern
- `DirectDelivery``[AufKopf.Direktlieferung]` - Direktlieferung vom Lieferanten
**Finanzen & Preisierung mit DB-Mapping**:
- `DBNetPrice``[AufKopf.Netto]` - Netto-Summe (ohne MwSt)
- `DBGrossPrice``[AufKopf.Brutto]` - Brutto-Summe (mit MwSt)
- `DBPurchasePrice``[AufKopf.SummeEK]` - Einstandspreis-Summe
- `Discount``[AufKopf.Rabatt]` - Rabatt (%)
- `CurrencyI3D``[AufKopf.CurrencyI3D]` - Währung (FK)
- `CurrencyString``[AufKopf.CurrencyString]` - Währungscode (z.B. "EUR")
- `CurrencyFactor``[AufKopf.CurrencyFactor]` - Wechselkurs
**Lieferung & Logistik mit DB-Mapping**:
- `DeliveryDate``[AufKopf.Lieferdatum]` - Gewünschtes Lieferdatum
- `PartialDelivery``[AufKopf.Teillieferung]` - Teillieferungen erlaubt (Flag)
- `AssetConditionI3D``[AufKopf.ZahlkondID]` - Zahlungsbedingung (FK → Zahkond)
- `DeliveryConditionI3D``[AufKopf.LieferbedID]` - Lieferbedingung (FK)
- `PreparationDate``[AufKopf.Bereitstellung]` - Bereitstellungsdatum
**Kommissionierung & Produktion mit DB-Mapping**:
- `Picked``[AufKopf]` - [TBD Mapping erforderlich]
- `PickedAt``[AufKopf]` - [TBD Mapping erforderlich]
- `Produced``[AufKopf]` - [TBD Mapping erforderlich]
- `ProducedAt``[AufKopf]` - [TBD Mapping erforderlich]
**Controlling & Administration mit DB-Mapping**:
- `CostObjectI3D``[AufKopf.KostentraegerI3D]` - Kostenträger (FK)
- `CostCenterI3D``[AufKopf.KostenstellenI3D]` - Kostenstelle (FK)
- `ProjectNumber``[AufKopf.ProjNr]` - Projektnummer (frei eingegeben)
- `OrderNumber``[AufKopf.BestNr]` - Externe Bestellnummer
- `ControllingText``[AufKopf.Zusatztext]` - Zusatztext für Reporting
- `Info``[AufKopf.Info]` - Informationen/Notizen
- `Adviser1I3D``[AufKopf.InnendienstID]` - Innendienst (FK → Personal)
- `Adviser2I3D``[AufKopf.AussendienstID]` - Außendienst (FK → Personal)
- `Adviser3I3D``[AufKopf.TechnikerID]` - Techniker 1 (FK → Personal)
- `Adviser4I3D``[AufKopf.Techniker2ID]` - Techniker 2 (FK → Personal)
- `BranchI3D``[AufKopf.FilialI3D]` - Filiale (FK → Filiale)
**Collections**:
- `Positions``[AufPos]` (KeyColumn: AufKopfI3D = AufKopf.I3D)
---
## Bestellung-Position (Order Position / Receipt Line Item)
**Begriff**: Auftragsposition / Bestellposition
**Englisch**: Order Position / Line Item
**Datenbank-Tabelle**: `AufPos` (Auftragsposition)
**Primärschlüssel**: `AufPos.I3D`
**Felder mit DB-Mapping**:
- `I3D``[AufPos.I3D]` - Eindeutige Positions-ID
- `AufKopfI3D``[AufPos.AufKopfI3D]` - Gehörender Auftrag (FK → AufKopf)
- `Positionsnummer``[AufPos.Position]` - Laufende Nummer (1, 2, 3, ...)
- `ArtikelI3D``[AufPos.ArtikelI3D]` - Artikel (FK → ARTIK)
- `Menge``[AufPos.Menge]` - Bestellte Menge
- `EinheitI3D``[AufPos.EinheitI3D]` - Maßeinheit (FK → Einheiten)
- `Einzelpreis``[AufPos.EinzelPreis]` - Preis pro Einheit
- `Positionssumme``[AufPos.Summe]` - Menge × Einzelpreis
- `Rabatt``[AufPos.Rabatt]` - Positionsrabatt (%)
- `MwStSatz``[AufPos.MwStSatz]` - Mehrwertsteuersatz
- `Einstandspreis``[AufPos.EinstandsPreis]` - Kostenlage
- `Beschreibung``[AufPos.Text]` - Position-Beschreibung
- `Seriennummer``[AufPos.SerienNr]` - Seriennummer (falls einzelner Artikel)
- `KostenträgerI3D``[AufPos.KostentraegerI3D]` - Kostenträger pro Position
---
## Rechnung (Invoice)
**Begriff**: Rechnung / Invoice
**Englisch**: Invoice
**Datenbank-Tabelle**: `RechKopf` (Rechnungskopf)
**Primärschlüssel**: `RechKopf.I3D`
**Strukturell identisch mit Bestellung**, Tabelle: `RechKopf`
**Spezifische Rechnungs-Felder mit DB-Mapping**:
- `I3D``[RechKopf.I3D]` - Eindeutige Rechnungs-ID
- `Number``[RechKopf.Nummer]` - Rechnungsnummer
- `Status``[RechKopf.Status]` - Rechnungsstatus
- `Date``[RechKopf.Datum]` - Rechnungsdatum
- `DueDate``[RechKopf]` - [TBD - Fälligkeitsdatum nicht in Basis gemappt]
- `Paid``[RechKopf]` - [TBD - Bezahlt-Flag nicht gemappt]
- `EdiExported``[RechKopf.EDIExport]` - Zu EDI exportiert (Flag)
- `EdiExportDate``[RechKopf.EDIExportAm]` - EDI-Export Datum
**Collections**:
- `Positions``[RechPos]` (KeyColumn: RechKopfI3D = RechKopf.I3D)
---
## Angebot (Offer)
**Begriff**: Angebot / Quotation
**Englisch**: Offer
**Datenbank-Tabelle**: `AngKopf` (Angebotskopf)
**Primärschlüssel**: `AngKopf.I3D`
**Strukturell identisch mit Bestellung/Rechnung**, Mapping analog `[AngKopf]` / `[AngPos]`
---
## Lieferschein (Delivery List)
**Begriff**: Lieferschein / Delivery Note
**Englisch**: Delivery List
**Datenbank-Tabelle**: `LiefKopf` (Lieferscheinkopf)
**Primärschlüssel**: `LiefKopf.I3D`
**Strukturell identisch mit Bestellung**, Mapping analog `[LiefKopf]` / `[LiefPos]`
---
# EINKAUF DOMÄNE
## Kreditor / Lieferant (Supplier)
**Begriff**: Kreditor / Lieferant
**Englisch**: Supplier / Vendor
**Datenbank-Tabelle**: `AccountSuppliers`
**Primärschlüssel**: `AccountSuppliers.I3D`
**Beziehung**: Erweiterung von `Accounts` mit Einkaufs-spezifischen Feldern
**Einkaufs-spezifische Felder mit DB-Mapping**:
- `I3D``[AccountSuppliers.I3D]` - Eindeutige Lieferanten-ID
- `Number``[AccountSuppliers.Number]` - Lieferantennummer
- `FreightCost``[AccountSuppliers.FreightCost]` - Standard-Versandkosten
- `MinimumOrderValue``[AccountSuppliers.MinimumOrderValue]` - Mindestbestellwert
- `Discount``[AccountSuppliers.Discount]` - Standard-Lieferantenrabatt
- `Limit``[AccountSuppliers.Limit]` - Kreditlimit
- `IsIsoCertified``[AccountSuppliers.IsIsoCertified]` - ISO-Zertifiziert (Flag)
- `IsManufacturer``[AccountSuppliers.IsManufacturer]` - Ist Hersteller (Flag)
- `IsDistributor``[AccountSuppliers.IsDistributor]` - Ist Distributor (Flag)
- `WarehouseI3D``[AccountSuppliers.WarehouseI3D]` - Standard-Lager (FK → Warehouses)
- `EgisSupplierNumber``[AccountSuppliers.EgisSupplierNumber]` - EGIS-Nummer
- `ItScopeSupplierNumber``[AccountSuppliers.ItScopeSupplierNumber]` - ITScope-Nummer
- `OwnCustomerNumber``[AccountSuppliers.OwnCustomerNumber]` - Unsere Kundennummer beim Lieferanten
- `BookKeepingNumber``[AccountSuppliers.BookKeepingNumber]` - Kreditornummer in Fibu
- `ReceiptConditionOrderI3D``[AccountSuppliers.ReceiptConditionOrderI3D]` - Zahlungsbedingung Bestellungen (FK → Zahkond)
- `ReceiptConditionInvoiceI3D``[AccountSuppliers.ReceiptConditionInvoiceI3D]` - Zahlungsbedingung Rechnungen (FK → Zahkond)
---
# LAGER & BESTAND DOMÄNE
## Artikel (Article / Product)
**Begriff**: Artikel / Produkt
**Englisch**: Article / Product
**Datenbank-Tabelle**: `ARTIK` (Read-Only Staging Table)
**Primärschlüssel**: `ARTIK.I3D`
**Hauptfelder mit DB-Mapping**:
- `I3D``[ARTIK.I3D]` - Eindeutige Artikel-ID
- `Articlecode``[ARTIK.Artikelcode]` - Interne Artikelnummer
- `Manufacturercode``[ARTIK.Hersteller]` - Hersteller-Code
- `EANCode``[ARTIK.EANCode]` - EAN / Barcode
- `ShortDescription``[ARTIK.Kurzbegriff]` - Kurzbezeichnung
- `Description``[ARTIK.Artikelbeschreibung]` - Langtext/Beschreibung
- `State``[ARTIK.Status]` - Status (aktiv, EOL, etc.)
- `EOL``[ARTIK.EOL]` - End-of-Life (Flag)
**Preise mit DB-Mapping**:
- `Price1``[ARTIK.VK_1]` - Verkaufspreis 1
- `Price2``[ARTIK.VK_2]` - Verkaufspreis 2
- `Price3``[ARTIK.VK_3]` - Verkaufspreis 3
- `Price4``[ARTIK.VK_4]` - Verkaufspreis 4
- `ListPrice``[ARTIK.Listenpreis]` - Listenpreis
- `RecommendRetailPrice``[ARTIK.EVK]` - Empfohlener Verkaufspreis
- `PurchasePrice``[ARTIK.EK]` - Einstandspreis
- `MinimumPrice``[ARTIK.Mindestpreis]` - Mindestverkaufspreis
- `PurchasePriceEqualsSellPrice``[ARTIK.EKGleichVK]` - EK=VK (Flag)
**Lagerverwaltung mit DB-Mapping**:
- `Amount``[ARTIK]` - [Formula-basiert: SUM Bestandsmenge]
- `MinimumHolding``[ARTIK.Mindestbestand]` - Minimumbestand
- `OrderInventory``[ARTIK.Auftragsbestand]` - Bestand in offenen Aufträgen
- `DeliveryInventory``[ARTIK.Lieferbestand]` - Bestand in Lieferung
- `Intake``[ARTIK.Zulauf]` - Zulauf (erwartet)
**Klassifizierung mit DB-Mapping**:
- `SecondaryMaterialGroupI3D``[ARTIK.WEBKategorie]` - Sekundäre Materialgruppe/Warengruppe (FK)
- `ManufacturerI3D``[ARTIK.KreditorI3D]` - Hersteller/Vertrieb (FK → AccountSuppliers)
- `TaxI3D``[ARTIK.MWStI3D]` - Steuersatz (FK)
- `ArticleUnitI3D``[ARTIK.Einheit]` - Maßeinheit (FK → Einheiten)
- `ProductFamilyI3D``[ARTIK.ProduktfamilieI3D]` - Produktfamilie (FK)
**Eigenschaften mit DB-Mapping**:
- `Divisible``[ARTIK.Teilbar]` - Bruchverkauf erlaubt (Flag)
- `IsArticleTextEditable``[ARTIK.TextAenderbar]` - Text änderbar (Flag)
- `NeedsBarcodes``[ARTIK.BarcodeScanen]` - Barcode-Scanning erforderlich (Flag)
- `ChangeStock``[ARTIK.Abbuchung]` - Automatische Abrechnung (Flag)
- `IsPartList``[ARTIK.StkListe]` - Ist Stückliste (Flag)
- `IsServiceArticle``[ARTIK.IsServiceArticle]` - Dienstleistung (Flag)
- `VisibleOnWeb``[ARTIK.WEBArtik]` - Im Web sichtbar (Flag)
**Audit-Trail mit DB-Mapping**:
- `CreationDate``[ARTIK.Angelegt_am]` - Erstellungsdatum
- `CreatedFromI3D``[ARTIK.Angelegt_von]` - Ersteller (FK → Personal)
- `ChangedDate``[ARTIK.Geandert_am]` - Änderungsdatum
- `ChangedFromI3D``[ARTIK.Geandert_von]` - Geändert von (FK → Personal)
**Collections**:
- `Inventorys``[ArtikelBestand]` (KeyColumn: ArtikelI3D = ARTIK.I3D)
---
## Lagerbestand (Stock / Inventory)
**Begriff**: Lagerbestand / Bestandsmenge
**Englisch**: Stock / Inventory
**Datenbank-Tabelle**: `ArtikelBestand`
**Primärschlüssel**: `ArtikelBestand.I3D`
**Felder mit DB-Mapping**:
- `I3D``[ArtikelBestand.I3D]` - Eindeutige Bestandskennung
- `ArtikelI3D``[ArtikelBestand.ArtikelI3D]` - Artikel (FK → ARTIK)
- `LagerortI3D``[ArtikelBestand.LagerortI3D]` - Lagerort/Filiale (FK → Filiale)
- `Menge``[ArtikelBestand.Menge]` - Verfügbare Menge
- `Reserviert``[ArtikelBestand.Reserviert]` - Reservierte Menge (in offenen Aufträgen)
- `Verfuegbar``[ArtikelBestand.Verfuegbar]` - Verfügbar = Menge - Reserviert
- `LagerplatzI3D``[ArtikelBestand.LagerplatzI3D]` - Lagerplatz (FK → Lagerplatz)
- `Verfallsdatum``[ArtikelBestand.Verfallsdatum]` - Haltbarkeitsdatum
- `Charge``[ArtikelBestand.Charge]` - Chargennummer/Losnummer
- `EingangsDatum``[ArtikelBestand.EingangsDatum]` - Einlagerungsdatum
---
# VERTRAG & SERVICE DOMÄNE
## Vertrag (Contract)
**Begriff**: Vertrag / Service-Agreement
**Englisch**: Contract
**Datenbank-Tabelle**: `Vertraege` (Vertrag/Vertragskopf - Legacy German naming)
**Primärschlüssel**: `Vertraege.I3D`
**Hauptfelder mit DB-Mapping**:
- `I3D``[Vertraege.I3D]` - Eindeutige Vertrags-ID
- `Number``[Vertraege.Nummer]` - Vertragsnummer
- `Status``[Vertraege.Status]` - Vertragsstatus
- `CustomerI3D``[Vertraege.KundenI3D]` - Kunde (FK → Accounts)
- `ContractKindI3D``[Vertraege.VertragsArtI3D]` - Vertragsart (FK)
- `Begin``[Vertraege.Beginn]` - Vertragsbeginn
- `ContractEnd``[Vertraege.Ende]` - Vertragsende
- `Duration``[Vertraege.Laufzeit]` - Laufzeit (Monate)
- `DurationKind``[Vertraege.LaufzeitArt]` - Art der Laufzeit
- `AutomaticExtensionFlag``[Vertraege.AutoVerlaengerung]` - Automatische Verlängerung (Flag)
- `AutomaticExtensionAmountMonths``[Vertraege.Verlaengerung]` - Verlängerungsdauer (Monate)
- `IsContingent``[Vertraege.KontingentVertrag]` - Kontingent-Vertrag (Flag)
- `ContingentKind``[Vertraege.KontingentArt]` - Kontingent-Art (FK)
- `IsClick``[Vertraege.Stammblattbezogen]` - Click-Counter-Vertrag (Flag)
- `DeductionIntervalKind``[Vertraege.AbrechnungIntervallArt]` - Abrechnungsintervall-Typ
- `DeductionIntervalValue``[Vertraege.AbrechnungIntervallDauer]` - Abrechnungsintervall Dauer (z.B. Monate)
- `Name``[Vertraege.Name]` - Vertragsname/Bezeichnung
- `AdditionalText``[Vertraege.Zusatztext]` - Zusatztext/Notizen
- `ReferenceNumber``[Vertraege.ReferenzNr]` - Externe Referenznummer
- `ForeignContract``[Vertraege.Fremdvertrag]` - Fremdvertrag (Flag)
**Collections**:
- `Positions``[VertragPos]` (KeyColumn: VertragI3D = Vertraege.I3D)
---
# HELPDESK & SUPPORT DOMÄNE
## Support-Ticket (Helpdesk)
**Begriff**: Support-Ticket / Helpdesk-Anfrage
**Englisch**: Helpdesk Ticket
**Datenbank-Tabelle**: `hlpdsk_requests`
**Primärschlüssel**: `hlpdsk_requests.I3D`
**Hauptfelder mit DB-Mapping**:
- `I3D``[hlpdsk_requests.I3D]` - Eindeutige Ticket-ID
- `Number``[hlpdsk_requests.Nummer]` - Externe Ticketnummer (z.B. "TK-2025-12345")
- `Status``[hlpdsk_requests.Status]` - Ticket-Status (FK → hlpdsk_status)
- `Priority``[hlpdsk_requests.Prioritaet]` - Priorität (FK → hlpdsk_prioritaeten)
- `HelpdeskType``[hlpdsk_requests.hlpdsk_typenI3D]` - Ticket-Typ (FK → hlpdsk_typen)
- `MainCategory``[hlpdsk_requests.HauptkategorieI3D]` - Hauptkategorie (FK)
- `SubCategory1``[hlpdsk_requests.Unterkategorie1I3D]` - Unterkategorie 1 (FK)
- `SubCategory2``[hlpdsk_requests.Unterkategorie2I3D]` - Unterkategorie 2 (FK)
**Kunde & Kontakt mit DB-Mapping**:
- `CustomerI3D``[hlpdsk_requests.KundeI3D]` - Kunde (FK → Accounts)
- `CustomerName``[hlpdsk_requests.KundeName]` - Kundenname (Cache)
- `CustomerEMail``[hlpdsk_requests.KundeEMail]` - Kunden-Email
- `ContactPersonI3D``[hlpdsk_requests.AnsprechpartnerI3D]` - Kontaktperson (FK → AccountAddressContacts)
- `ContactName``[hlpdsk_requests.AnsprechName]` - Kontaktname (Cache)
- `ContactPhone``[hlpdsk_requests.AnsprechTelefon]` - Telefon der Kontaktperson
**Sachverhalt mit DB-Mapping**:
- `ShortDescription``[hlpdsk_requests.Beschreibung]` - Kurzbeschreibung
- `Description``[hlpdsk_requests.Problem]` - Detaillierte Problembeschreibung
- `InternalNote``[hlpdsk_requests.InternalNote]` - Interne Notizen
- `SerialNumber``[hlpdsk_requests.SerienNr]` - Seriennummer des betroffenen Geräts
- `ErrorNumber``[hlpdsk_requests.FehlerNr]` - Fehlercode
- `Documentation``[hlpdsk_requests.Dokumentation]` - Dokumentation/Attachments
- `Classification``[hlpdsk_requests.Bewertung]` - Klassifizierung (FK → AngebotBewertung)
**Bearbeitung mit DB-Mapping**:
- `ResponsiblePersonI3D``[hlpdsk_requests.VerantwortlicherI3D]` - Verantwortlicher Mitarbeiter (FK → Personal)
- `CreatedByI3D``[hlpdsk_requests.ErstellerI3D]` - Ersteller (FK → Personal)
- `CreatedDate``[hlpdsk_requests.ErfasstAm]` - Erfassungsdatum
- `ChangedByI3D``[hlpdsk_requests.GeaendertVonI3D]` - Geändert von (FK → Personal)
- `ChangedDate``[hlpdsk_requests.GeaendertDatum]` - Änderungsdatum
- `DueDate``[hlpdsk_requests.FaelligAm]` - SLA-Fälligkeitsdatum
- `ClosedAt``[hlpdsk_requests.AbgeschlossenAm]` - Abschlussdatum
- `PlannedDurationInHours``[hlpdsk_requests.GeplanteDauerInStd]` - Geplante Bearbeitungsdauer (Stunden)
**Vertrag & Abrechnung mit DB-Mapping**:
- `ContractId``[hlpdsk_requests.VertragI3D]` - Zugehöriger Vertrag (FK → Vertraege)
- `RechPosI3D``[hlpdsk_requests.RechPosI3D]` - Zugehörige Rechnungsposition (FK → RechPos)
- `Calculated``[hlpdsk_requests.Berechnet]` - Berechnet/Verrechnet (Flag)
- `IsRMA``[hlpdsk_requests.IstRMAFall]` - Ist RMA-Fall (Flag)
**Collections**:
- `HelpdeskTimer``[hlpdsk_timer]` (KeyColumn: hlpdsk_requestsI3D = hlpdsk_requests.I3D)
- `TicketTags``[TicketTags]` (Many-to-Many via Junction)
---
# HR & PERSONAL DOMÄNE
## Mitarbeiter (Employee)
**Begriff**: Mitarbeiter / Beschäftigter
**Englisch**: Employee
**Datenbank-Tabelle**: `Personal`
**Primärschlüssel**: `Personal.I3D`
**Personalstammdaten mit DB-Mapping**:
- `I3D``[Personal.I3D]` - Eindeutige Mitarbeiter-ID
- `PersonnelNumber``[Personal.Personalnummer]` - Mitarbeiternummer
- `Lastname``[Personal.Nachname]` - Nachname
- `Firstname``[Personal.Vorname]` - Vorname
- `Birthday``[Personal.Geburtstag]` - Geburtsdatum
- `Street``[Personal.Strasse]` - Wohnstraße
- `Zip``[Personal.Plz]` - Postleitzahl
- `City``[Personal.Wohnort]` - Wohnort
- `Job``[Personal.Beruf]` - Beruf/Funktion
- `Phone1``[Personal.Telefon]` - Telefon 1
- `Phone2``[Personal.Telefon2]` - Telefon 2
- `Fax1``[Personal.Fax1]` - Fax
**Beschäftigung mit DB-Mapping**:
- `ContractKind``[Personal.VertragsArt]` - Vertragsart (Fest, Befristet, 450€, etc.)
- `ContractPeriod``[Personal.Vertragslaufzeit]` - Vertragslaufzeit
- `Salary``[Personal.MAKosten]` - Brutto-Gehalt
- `VacationEntitlement``[Personal.Urlaubsanspruch]` - Jahresurlaubstage
- `RemainingDaysOfVacation``[Personal.Resturlaub]` - Resturlaub
**Audit-Trail mit DB-Mapping**:
- `CreatedDate``[Personal.Angelegt_am]` - Erstellungsdatum
- `CreatedFromI3D``[Personal.Angelegt_von]` - Ersteller (FK → Personal)
- `ChangedDate``[Personal.Aenderung_am]` - Änderungsdatum
- `ChangedFromI3D``[Personal.Aenderung_von]` - Geändert von (FK → Personal)
**Besondere Felder mit DB-Mapping**:
- `ForumUsername``[Personal.ForumUsername]` - Forum-Benutzername
- `SalutationI3D``[Personal.AnredeI3D]` - Anrede (FK → Anrede)
- `CostCenterI3D``[Personal.KostenstelleI3D]` - Kostenstelle (FK → Kostenstelle)
- `RootDirI3D``[Personal.RootDirI3D]` - Root-Verzeichnis für Dateien (FK → Directorys)
- `DefaultStorageI3D``[Personal.StandardLagerI3D]` - Standard-Lager (FK → Warehouses)
**Collections**:
- `Department``[PersonalGrpPersZuord]` (Many-to-Many über PersonalGruppen)
---
# FINANZEN & ACCOUNTING DOMÄNE
## Zahlungsbedingung (Payment Terms)
**Begriff**: Zahlungsbedingung / Zahlungsterm
**Englisch**: Payment Terms / Terms and Conditions
**Datenbank-Tabelle**: `Zahkond`
**Primärschlüssel**: `Zahkond.I3D`
**Felder mit DB-Mapping**:
- `I3D``[Zahkond.I3D]` - Eindeutige Zahlungsbedingung-ID
- `Name``[Zahkond.Bezeichnung]` - Bezeichnung (z.B. "14 Tage netto")
- `Tage``[Zahkond.Tage]` - Zahlungsziel (Tage)
- `SkontoProzent``[Zahkond.SkontoProzent]` - Skonto % (z.B. 2%)
- `SkontoBis``[Zahkond.SkontoBis]` - Tage für Skonto
- `Beschreibung``[Zahkond.Beschreibung]` - Vollständige Beschreibung
**Beziehungen**:
- Verwendet in: `[AufKopf.ZahlkondID]`, `[RechKopf.ZahlkondID]`, `[AccountCustomers.ReceiptConditionInvoiceI3D]`, etc.
---
## Kostenträger (Cost Center)
**Begriff**: Kostenträger / Cost Center / Profit Center
**Englisch**: Cost Center
**Datenbank-Tabelle**: `Kostenstelle` (Legacy German), `Kostentraeger` (Kostenträger)
**Primärschlüssel**: `Kostenstelle.I3D` (für Standard-Kostenstellen)
**Felder mit DB-Mapping**:
- `I3D``[Kostenstelle.I3D]` - Eindeutige Kostenträger-ID
- `Nummer``[Kostenstelle.Nummer]` - Kostenträger-Nummer (z.B. "KT-100")
- `Name``[Kostenstelle.Name]` - Bezeichnung
- `Typ``[Kostenstelle.Art]` - Typ (FK → KostenstellenArt)
- `Leiter``[Kostenstelle.Leiter]` - Verantwortlicher (FK → Personal)
**Verwendung in Belegen**:
- Bestellungen: `[AufKopf.KostentraegerI3D]``[Kostenstelle.I3D]`
- Rechnungen: `[RechKopf.KostentraegerI3D]``[Kostenstelle.I3D]`
- Positionen: `[AufPos.KostentraegerI3D]``[Kostenstelle.I3D]`
---
# KONVENTIONEN & HINWEISE
## Datenbank-Naming-Konventionen
| Aspekt | Konvention | Beispiel | Tabelle |
|--------|-----------|---------|---------|
| Primary Key | Immer `I3D` | `Accounts.I3D` | Alle Tabellen |
| Foreign Key | Suffix `I3D` | `AccountI3D`, `EmployeeI3D` | Alle Tabellen |
| Neue Entwicklung | English Table Names | `Accounts`, `AccountCustomers` | Neue Entities |
| Legacy Systeme | German Table Names | `hlpdsk_requests`, `Vertraege`, `RechKopf` | Alte Entities |
| Versionierung | `CreatedVersion`, `ChangedVersion` | In allen Basistabellen | Performance-Tracking |
## NHibernate Mapping-Struktur
```
Entity Class (z.B. Order)
↓ (FluentNHibernate ClassMapping)
Database Table (z.B. AufKopf)
Entity Properties → Table Columns
Foreign Keys (I3D convention)
```
## Beziehungstypen in der DB
| Typ | Beispiel | Mapping | SQL |
|-----|---------|---------|-----|
| 1:1 | Account-Customer | `AccountI3D` FK | Foreign Key |
| 1:n | Account-Addresses | `AccountI3D` in `AccountAddresses` | Foreign Key |
| n:n | Employee-Department | `PersonalGruppen` (Junction Table) | Junction |
| Collection | Order-Positions | `AufPosI3D` → AufPos table | HasMany |
---
**Version**: 2.0 (mit DB-Mappings)
**Status**: 80% vollständig - weitere Domänen bei Bedarf erweiterbar
**Letzte Aktualisierung**: 2025-12-02
**Format**: [Tabelle.Spalte] für alle Datenbank-Referenzen
### Legende
- `[Tabelle.Spalte]` = Exaktes DB-Mapping
- `(FK → Tabelle)` = Foreign-Key Referenz
- `[TBD]` = To Be Determined (Mapping erforderlich)
- `virtual IList<T>` = NHibernate Collection (1:n Beziehung)