Produkt-Lieferanten-Preise & Deckungsbeitrag
Dieser Artikel erklärt die zentrale Preis-Engine für die Beziehung Produkt ↔ Lieferant (ProductSupplier): wie aus Verkaufspreis, Rabatt und Einkaufspreis der Deckungsbeitrag entsteht und wie SpeamCore den effektiven Rabatt über mehrere Ebenen auflöst. Er richtet sich an Einkauf/Kalkulation und an die KI-Wissensbasis. Die operativen Seiten — die Lieferanten-Sub-Liste, die Deckungsbeitrags-Übersicht und die Produkt-Einstellungen — verweisen hierher.
Das Problem
Ein Produkt hat oft mehrere Lieferanten, jeder mit eigenem Verkaufspreis und Rabatt. Daraus muss SpeamCore konsistent ableiten: Was zahle ich tatsächlich (EK)? Was ist meine Marge (DB)? Und das überall gleich — im Produkt-Marktplatz, in der Kalkulation, in Auswertungen und in der Oberfläche. Würde jede Stelle eigen rechnen, driften die Zahlen auseinander.
Lösung — eine zentrale Resolver-Funktion
Eine einzige Funktion (resolveProductSupplierPricing) ist die alleinige Quelle für effektiven EK, Rabatt und Deckungsbeitrag. Alle Konsumenten nutzen sie.
Die Begriffe
| Begriff | Feld / Formel | Bedeutung |
|---|---|---|
| VK (Verkaufspreis) | salePrice | Listenpreis des Lieferanten — die Basis, von der der Rabatt abgezogen wird. |
| EK (Einkaufspreis) | purchasePrice | Was Sie tatsächlich zahlen. Explizit hinterlegt oder abgeleitet als VK − Rabatt. |
| Rabatt | discount + discountType | Einkaufsseitiger Nachlass auf den VK (percentage, fixed oder none). |
| Deckungsbeitrag (DB) | VK − EK | Ihre absolute Marge in Euro. |
| Marge | DB / VK × 100 | Marge in % vom Verkaufspreis. |
| Aufschlag | DB / EK × 100 | Aufschlag in % auf den Einkaufspreis. |
Die Rabatt-Kette (spezifischste Ebene gewinnt)
Der effektive Rabatt wird über drei Ebenen aufgelöst — die spezifischste gesetzte Ebene gewinnt:
- Produkt-Ebene — Rabatt direkt am
ProductSupplier. - Warengruppen-Ebene — Rabatt über
ProductGroupSupplier. - Lieferanten-Ebene — Pauschalrabatt am Lieferanten.
Nur eine nicht gesetzte (null/leere) Ebene fällt zur nächsten durch. Ein explizit eingetragener Rabatt von 0 gilt als gesetzt („kein Rabatt") und überschreibt tiefere Ebenen.
Sonderfall „nicht rabattierfähig" (discountType = 'none')
Steht der Rabatt-Typ am Produkt-Lieferanten auf none, gibt es keinen Rabatt und keine Vererbung aus Warengruppe oder Lieferant — dann gilt EK = VK.
Einkaufspreis-Ableitung
- Ist ein expliziter EK (
purchasePrice) hinterlegt, gilt dieser. - Sonst:
EK = VK − Rabattbetrag, mindestens 0. Der Rabattbetrag ist beifixedder absolute Wert, beipercentagegleichVK × Rabatt ÷ 100.
Staffelpreise (Tiered Prices)
Pro Lieferant lassen sich mengengestaffelte Einkaufspreise pflegen (tieredPrices):
[ { fromQuantity, purchasePrice, discount, discountType }, … ]
Die unterste Staffel (kleinste fromQuantity) wird automatisch in den Basis-EK/-Rabatt gespiegelt; der Verkaufspreis bleibt ungestaffelt. Das Spiegeln greift nur, wenn sich die Staffeln tatsächlich ändern — ein direktes Bearbeiten des Basis-EK wird nicht überschrieben.
Marge-Ampel
Der Deckungsbeitrag wird in der Oberfläche farblich bewertet (rot/gelb/grün). Die Schwellwerte pflegen Sie in den Produkt-Einstellungen:
| Schwellwert | Bedeutung |
|---|---|
contributionMarginMin | unter diesem DB% → rot (zu niedrig) |
contributionMarginNormal | bis hierhin gelb |
contributionMarginBest | darüber grün (gut) |
Wo die Engine wirkt
- Lieferanten-Sub-Liste — das Grid, in dem VK/EK/Rabatt/Marge je Lieferant gepflegt werden.
- Deckungsbeitrags-Übersicht — Aggregation je Produkt über alle Lieferanten (DB-Bereich, Median, Durchschnitt).
- Produkt-Marktplatz — der Marktplatz-Preis wird aus dem Hersteller-Aufschlag (
sellPriceMarge) neu berechnet. - Kalkulation & Auswertungen — nutzen denselben Resolver.
Anti-Pattern (was NICHT machen)
- ❌ Rabatt und Deckungsbeitrag verwechseln — der Rabatt sagt nichts über die Marge.
- ❌ Den EK manuell „passend" rechnen, statt VK + Rabatt zu pflegen (die Engine leitet den EK korrekt ab).
- ❌ Bei „nicht rabattierfähigen" Artikeln einen Warengruppen-/Lieferanten-Rabatt erwarten —
noneblockiert die Vererbung.
KI-Chat-Anwendungen
Welche Produkte haben bei ihrem Hauptlieferanten einen Deckungsbeitrag unter 10 %?
Zeig mir für Produkt X den effektiven Einkaufspreis je Lieferant inkl. Marge.
Verwandte Doku
- Produkt — Lieferanten (Sub-Route) — operative Pflege je Lieferant.
- Deckungsbeitrags-Übersicht — Auswertung je Produkt.
- Produkt-Einstellungen — Marge-Ampel-Schwellwerte.
- Warengruppen —
type(intern/extern) undProductGroupSupplier-Rabatt. - Preisfindung — verkaufsseitige Preisermittlung.