Zum Hauptinhalt springen

Preisfindung

Wenn Sie ein Produkt in einen Beleg ziehen, woher kommt der Preis? Diese Seite erklärt die mehrstufige Preisfindungs-Logik.

Hierarchie der Preisquellen (höchste Priorität zuerst)

Quellen im Detail

1. Manueller Override

Sachbearbeiter tippt einen anderen Preis ins Beleg-Feld. Höchste Priorität — überschreibt alles.

Wann? Sonderfall-Preise, Verhandlung am Telefon.

2. Kunden-/Standort-Sonderkonditionen

Pro Kunde oder Standort kann pro Produkt eine Sonderkondition hinterlegt sein. Modell: ProductSpecialCondition (polymorph über Parent — parentType ist Customer oder Location).

Felder (Code-verifiziert):

  • productId — Bezug aufs Produkt
  • parentId + parentType — Polymorpher Eigentümer der Kondition (z. B. ein Kunde oder ein Standort)
  • discount: number — Höhe des Rabatts
  • discountType: 'percentage' | 'fixed' — Prozent-Rabatt oder Festbetrag-Reduktion

Wann? Großkunden mit Rahmenvertrag, langjährige Geschäftsbeziehungen. Standort-spezifische Konditionen z. B. wenn ein Kunde mit mehreren Filialen unterschiedliche Preise hat.

3. Mengen-Rabatte (Staffelpreise) — Status: Konzept

Staffelpreise (z. B. 1-9 Stück: 100 EUR, 10+ Stück: 90 EUR) sind als Konzept beschrieben — im Standard-Modell Product und ProductSpecialCondition ist keine Mengen-Schwelle vorgesehen. Aktuell als Workaround: mehrere Sonderkonditionen pro Produkt mit manueller Anwendung durch den Sachbearbeiter.

Wann? Großbestellungen, Bauprojekte mit GAEB-Position — Kalkulation über manuelle Override (Schritt 1) oder Sonderkondition (Schritt 2).

4. Standard-Verkaufspreis

Aus den Produkt-Stammdaten (product.salePrice).

Standard wenn keine spezifische Regel greift.

Snapshot-Pattern für Beleg-Preise

Sobald ein Beleg angelegt ist, werden die Preise als Snapshot eingefroren. Spätere Änderungen am Produkt-Stammpreis oder der Kunden-Sonderkondition wirken nicht zurück auf bestehende Belege.

Mehr in Snapshot-Pattern.

Steuersatz-Findung (parallel)

Pro Position wird auch der Steuersatz bestimmt:

Edge-Cases

Sonderkondition läuft ab mitten im Beleg

Wenn der Beleg vor dem validUntil angelegt wurde, gilt die Sonderkondition. Snapshot bleibt.

Manueller Preis vs Sonderkondition

Manueller Override hat Vorrang. SpeamCore zeigt aber einen Hinweis: „Standardpreis wäre 90 EUR (Sonderkondition)".

Negativer Preis

Theoretisch möglich (Gutschrift, Rabatt-Position) — Skonto / Storno-Position. UI warnt.

Preis 0

Bei Service-/Garantie-Position — explizit auf 0 setzen, abrechenbar=false.

KI-Chat-Anwendungen

Welche Sonderkonditionen sind in den nächsten 30 Tagen ablaufend?
Mit Kunde, Produkt und Endpreis-Differenz zum Standard.
Welche Produkte haben in den letzten 12 Monaten den höchsten Rabatt-Anteil
(Manuelle Overrides) bekommen? Möglicherweise Standardpreis zu hoch.

Verwandte Doku