Pricing

Preisstrategie in Magento 2: Kundenpreise & Preislisten richtig umsetzen

Preisstrategie in Magento 2: Kundenpreise & Preislisten richtig umsetzen

Preisstrategie in Magento 2 — Kundenpreise & Preislisten richtig umsetzen

1. Quelle der Wahrheit: ERP/PIM & Ownership

Die Kernfrage lautet nicht „Was kostet es?“, sondern „Woher stammt der Preis?“. In der Regel: ERP oder PIM. Magento fungiert als Präsentations‑/Durchreicheschicht, nicht als Master. Preishoheit liegt im ERP; dort entstehen Vertragslogik und Kalkulation. Datenfluss: einseitig von ERP/PIM nach Magento. Direktänderungen in Magento ohne Upstream erzeugen Divergenz und Reconciliation‑Aufwand.

2. Datenmodell: Preislisten & Kundenspezifisch

Nutze ein klares Modell statt unzähliger Kundengruppen.

  • Preislisten (Shared Catalogs): Grundlegende Preisstufen (z. B. „Listpreis“, „Gold“, „Silver“). Jede Preisliste enthält vollständige Produktpreise. Ein Kunde erhält genau eine Preisliste als Basis.
  • Kundengruppen: Für Steuer/Versand/Berechtigungen – nicht für Preise. Überladung führt zu Explosion der Gruppen.
  • Kundenspezifische Overrides: Vertragspreise pro SKU & Kunde mit höchster Priorität – präzises Werkzeug, sparsam einsetzen.

3. Prioritäten/Stacking

Definiere eine eindeutige Preis‑Kaskade für PDP/PLP/Warenkorb/Checkout:

  1. Promotion‑Preis (Kampagnenregeln)
  2. Kundenspezifischer Preis (customer_id+sku)
  3. Staffelpreis (Mengenstaffel am Produkt)
  4. Preislistenpreis (aus zugewiesener Preisliste)
  5. Listpreis (Standard/Guest)

Konsistenz über alle Oberflächen ist geschäftskritisch.

4. Währungen, Steuer, Lokalisierung

Preise netto speichern; Steuerberechnung Magento überlassen (Zonen/Sätze/Klassen sauber pflegen). Wechselkurse aus dem ERP beziehen; währungsbezogene Preislisten vorab berechnen und cachen statt live zu konvertieren.

5. Performance: Vorberechnen vs. On‑Demand

  • Preis‑Index: Magento‑Indexer erweitern (Preislisten + kundenspezifisch). Flache, join‑arme Tabelle für schnelle Abfragen, z. B. SELECT price FROM price_index WHERE customer_id=X AND sku=Y AND website_id=Z.
  • Full‑Page‑Cache: Für eingeloggte Nutzer private Blöcke/Hole‑Punching für Preise einsetzen.
  • On‑Demand: Teuer nur im Warenkorb/Checkout; auch dort primär auf Indizes stützen.

6. Edge‑Cases

  • Länderpreise: Preislisten pro Region Website/Store zuordnen; Kunden korrekt scopen.
  • Komplexe Staffeln: Logik (z. B. kumulative Mengen) gehört ins ERP; nach Magento fließen Resultatpreise.
  • Kampagnen: Katalogregeln mit klar definierter Interaktion zur Prioritätenkette testen.

7. APIs & Events

Observer/Events nutzen (z. B. catalog_product_get_final_price) für finale Anpassungen. Web‑API bereitstellen (Headless), die die gesamte Prioritätslogik respektiert.

8. Governance & Audit

Importe und Änderungen lückenlos protokollieren (Wer/Wann/Alt/Neu). „Preis‑Simulator“ im Admin: Kunde+Produkt auswählen, angewandte Regel sichtbar machen.

9. Rollout/Migration

Schrittweise: mit einer großen Preisliste/Kunde starten, alt/neu parallel vergleichen, Feature‑Flag nur für Pilotgruppen aktivieren. „Dry‑Run“ des Erstimports einplanen.

10. KPIs & Tests

  • Indexdauer (Re‑Index aller Preise)
  • Antwortzeit Preisermittlung (PDP/PLP für eingeloggte Nutzer)
  • Preis‑Korrektheit (Tickets/Abweichungen → 0)

Integrationstests: Kunde anlegen, Preisliste zuweisen, Override setzen, erwarteten Preis in Frontend/API verifizieren.

Haufen leerer Preisschilder mit Schnur
Jeder Kunde, ein anderer Preis? Gehört in den Shop. Nicht in den Kopf vom Vertrieb. Sie haben genau dieses Problem in Ihrem Shop? Schreiben Sie uns, wie es bei Ihnen aussieht.