Zum Inhalt

Datenstrukturen

Diese Seite beschreibt die Organisation der Datenbank, die Struktur der Datensätze und die konfigurierbaren Tabelleninhalte, die das Verhalten buchungsrelevanter Vorgänge beeinflussen.


Datenorganisation

Datenbanksystem

Prosoft verwendet Microsoft SQL Server als relationales Datenbankmanagementsystem. Jede Mandanteninstanz arbeitet mit einer eigenen Datenbank. Die Systemanforderungen an den SQL Server sind in der Seite Systemanforderungen dokumentiert.

Mandantentrennung

Prosoft unterstützt den Betrieb mehrerer Mandanten (Unternehmen) innerhalb einer Installation. Jeder Mandant entspricht einem eigenständigen Client-Datensatz. Die Datentrennung erfolgt auf Anwendungsebene — jede Abfrage wird automatisch auf den aktiven Mandanten eingeschränkt.

Schema-Verwaltung

Das Datenbankschema wird automatisch aus dem Programmcode generiert (Code-First-Prinzip). Bei jedem Programmstart prüft ein integrierter Migrationsmechanismus, ob neue Tabellen oder Spalten benötigt werden, und führt die erforderlichen Schemaänderungen automatisch durch. Manuelle SQL-Skripte sind für Schemaänderungen nicht erforderlich.

Alle ausgeführten Migrationen werden in einer Versionstabelle (SchemaVersions) protokolliert. Jede Migration wird genau einmal ausgeführt.


Datensatzstruktur

Jeder Datensatz in Prosoft folgt einer einheitlichen Grundstruktur. Die folgende Tabelle zeigt die Felder, die auf jedem Datensatz vorhanden sind:

Feld Typ Beschreibung
Id Ganzzahl oder Zeichenkette Eindeutiger Primärschlüssel
CreationDate Zeitstempel Zeitpunkt der Anlage
CreationUserId Fremdschlüssel Benutzer, der den Datensatz angelegt hat
ModificationDate Zeitstempel Zeitpunkt der letzten Änderung
ModificationUserId Fremdschlüssel Benutzer, der die letzte Änderung durchgeführt hat
IsArchived Ja/Nein Kennzeichen für logisch gelöschte Stammdaten
IsCanceled Ja/Nein Kennzeichen für stornierte Belege

Keine physische Löschung

Datensätze werden in Prosoft grundsätzlich nicht physisch gelöscht. Stammdaten werden als archiviert markiert (IsArchived), Belege als storniert (IsCanceled). Beide Kennzeichen sind jederzeit nachvollziehbar. Dieses Prinzip stellt sicher, dass historische Daten für Prüfungen und Auswertungen vollständig erhalten bleiben.

Beziehungen zwischen Datensätzen

Beziehungen zwischen Tabellen werden über Fremdschlüssel abgebildet. Beispiel: Eine Rechnung verweist über PartnerId auf den zugehörigen Kunden, über TaxCodeId auf den Steuerschlüssel und über PaymentTermId auf die Zahlungsbedingung.


Veränderbare Tabelleninhalte

Die folgenden Konfigurations- und Stammdatentabellen beeinflussen unmittelbar die Verarbeitung buchungsrelevanter Vorgänge. Änderungen an diesen Daten wirken sich auf künftige Belege aus.

Steuerkonfiguration

Die Steuerermittlung basiert auf drei zusammenwirkenden Tabellen:

Tabelle Beschreibung
Steuersatz Gruppiert Steuerschlüssel zu einem Steuersatz (z. B. „Normal", „Ermäßigt", „Steuerfrei")
Steuerschlüssel Definiert die einzelnen Steuerschlüssel mit Rechnungstext und DATEV-Kennzeichen
Steuerrate Ordnet einem Steuerschlüssel einen Prozentsatz mit Gültigkeitsdatum zu

Jeder Artikel und jeder Partner ist einem Steuersatz zugeordnet. Bei der Belegerfassung ermittelt das System die gültige Steuerrate anhand des Belegdatums.

Kontenrahmen

Tabelle Beschreibung
Sachkonten Kontenplan der Finanzbuchhaltung — jedes Sachkonto hat eine frei wählbare Kontonummer und Bezeichnung
Erlöskontengruppen Gruppiert Erlöskonten nach Geschäftsbereich — steuert die automatische Kontenzuordnung bei Ausgangsrechnungen
Aufwandskontengruppen Gruppiert Aufwandskonten — steuert die automatische Kontenzuordnung bei Eingangsrechnungen

Jeder Artikel ist einer Erlös- und einer Aufwandskontengruppe zugeordnet. Bei der Rechnungsverarbeitung wird daraus automatisch das zugehörige Sachkonto ermittelt.

Nummernkreise

Feld Beschreibung
Präfix Vorangestelltes Kürzel (z. B. „RE-" für Rechnungen)
Minimum / Maximum Unter- und Obergrenze des Nummernbereichs
Letzter Zähler Aktuelle Zählerposition — wird bei jedem neuen Beleg automatisch erhöht
Stellen Anzahl der Ziffern mit führenden Nullen (z. B. 5 → „00001")
Gültigkeitszeitraum Erlaubt jährliche Rotation der Nummernkreise

Nummernkreise sind durch den Kunden frei konfigurierbar. Sie stellen die Eindeutigkeit und lückenlose Vergabe von Belegnummern sicher. Jeder Belegtyp (Rechnung, Auftrag, Lieferschein etc.) ist einem eigenen Nummernkreis zugeordnet.

Währungen und Wechselkurse

Tabelle Beschreibung
Währungen Währungsstamm nach ISO 4217 (z. B. EUR, USD, CHF)
Wechselkurse Tages- oder periodenbezogene Umrechnungskurse zwischen Quell- und Zielwährung

Fremdwährungsbelege werden anhand des zum Belegdatum gültigen Wechselkurses in die Hauswährung umgerechnet.

Zahlungsbedingungen

Zahlungsbedingungen definieren Fälligkeiten und Skontofristen für Kunden und Lieferanten:

Feld Beschreibung
Skontofrist 1 / 2 Tage bis zum Ablauf der Skontofrist
Skonto 1 / 2 Skontoprozentsatz innerhalb der jeweiligen Frist
Nettofälligkeit Tage bis zur Nettofälligkeit
Zahlungsart Verknüpfte Zahlungsart (Überweisung, Lastschrift etc.)

Jeder Partner hat eine Standard-Zahlungsbedingung hinterlegt, die bei der Belegerfassung automatisch in den Beleg übernommen wird. Die Zahlungsbedingung wird dabei als Kopie im Beleg gespeichert — eine nachträgliche Änderung der Zahlungsbedingung am Partner hat keine Auswirkung auf bereits erstellte Belege. Dieses Prinzip stellt die Datenkonsistenz sicher.

Kostenrechnung

Tabelle Beschreibung
Kostenstellen Organisatorische Einheiten zur Kostenzuordnung (z. B. Abteilungen, Bereiche), jeweils mit Verrechnungssatz und Kostenart
Kostenträger Bezugsobjekte, auf die Kosten verrechnet werden (z. B. Produkte, Projekte). Unterstützt Hierarchien über übergeordnete Kostenträger
Kostenarten Klassifizierung der Kostenarten mit Bezugsgrößen (z. B. Stunden, Euro)
Profit-Center Ergebnisorientierte Einheiten für die Ergebnisrechnung

Preisfindung

Die Preisfindung folgt einer Hierarchie mit absteigender Priorität:

Priorität Tabelle Beschreibung
1 Konditionen Partner- und artikelspezifische Sonderpreise mit Mengenstaffeln und Gültigkeitszeitraum
2 Preislisten Preislistenpositionen je Artikel
3 Standardpreise Allgemeine Listenpreise je Artikel mit Gültigkeitszeitraum
Planpreise Interne Zielpreise für Kalkulation und Abweichungsanalyse (nicht verkaufsrelevant)

Geschäftsjahre und Buchungsperioden

Tabelle Beschreibung
Geschäftsjahre Definition der Geschäftsjahre je Mandant mit Start- und Enddatum
Buchungsperioden Monatliche oder periodische Unterteilung eines Geschäftsjahres. Jede Periode hat einen Status: offen (Buchungen möglich) oder geschlossen (keine Buchungen möglich)

Das Schließen einer Buchungsperiode verhindert, dass nachträglich Belege in einen abgeschlossenen Zeitraum gebucht werden.

Artikelstamm

Jeder Artikel enthält neben den beschreibenden Feldern (Bezeichnung, Gewicht, GTIN) die folgenden Zuordnungen, die das Buchungsverhalten bestimmen:

Zuordnung Auswirkung
Steuersatz Bestimmt die Steuerberechnung auf Belegen
Erlöskontengruppe Bestimmt das Sachkonto bei Ausgangsrechnungen
Aufwandskontengruppe Bestimmt das Sachkonto bei Eingangsrechnungen
Mengeneinheit Basis-Mengeneinheit für Bestands- und Preisführung
Artikelart Steuert, in welchen Modulen der Artikel verwendet werden kann

Partnerstamm

Jeder Partner (Kunde oder Lieferant) enthält Standardwerte, die bei der Belegerfassung automatisch übernommen werden:

Zuordnung Auswirkung
Steuerschlüssel Standard-Steuerbehandlung für diesen Partner
Zahlungsbedingung Standard-Zahlungsfrist und Skonto
Währung Standardwährung für Belege mit diesem Partner
Lieferbedingung Standard-Lieferbedingung (Incoterms)
Versandart Standard-Versandart
Profit-Center Zuordnung für die Ergebnisrechnung

Zusammenfassung der buchungsrelevanten Konfigurationstabellen

Die folgende Tabelle fasst alle Konfigurationsdaten zusammen, deren Änderung sich auf die Verarbeitung buchungsrelevanter Vorgänge auswirkt:

Konfiguration Auswirkung bei Änderung
Steuersätze und Steuerraten Steuerberechnung auf neuen Belegen
Sachkonten und Kontengruppen Kontierung von Ein- und Ausgangsrechnungen
Nummernkreise Belegnummerierung neuer Dokumente
Wechselkurse Umrechnung von Fremdwährungsbelegen
Zahlungsbedingungen Fälligkeiten und Skontoberechnung
Kostenstellen und Kostenträger Kostenverteilung und Ergebnisrechnung
Preise und Konditionen Beträge auf Angeboten, Aufträgen und Rechnungen
Geschäftsjahre und Buchungsperioden Zulässigkeit von Buchungen in einem Zeitraum
Artikelstamm (Steuer, Kontengruppe) Steuer- und Kontenzuordnung je Artikel
Partnerstamm (Steuer, Zahlungsbedingung) Standardwerte auf neuen Belegen