Zum Inhalt springen
Shopware 6 Handbuch

Rohstoffberechnung

Preisberechnung aus Rohstoffkursen wie Gold und Silber: Ändert sich der Kurs, ändert sich dein Artikelpreis. Mit Formel, Aufschlägen, Rundung und eigenen Kursen je Kundentyp.

Version 6.7.0 Kompatibel mit 6.7.0 und neuer 28 Min. Lesezeit
Auf dieser Seite

Einleitung

Rohstoffberechnung hilft dir dabei, Artikelpreise direkt aus Rohstoffkursen wie Gold oder Silber zu berechnen. Ändert sich der Kurs, ändert sich der Preis — ohne dass du einen Artikel einzeln anfassen musst.

Was du mit diesem Plugin erreichst

  • Du pflegst den Kurs je Rohstoff an einer einzigen Stelle. Alle Artikel aus diesem Rohstoff rechnen damit.
  • Jeder Artikel weiß, welcher Rohstoff in ihm steckt und wie viele Einheiten davon.
  • Deine Marge ist eingebaut: prozentualer und fester Aufschlag, dazu Mindest- und Höchstpreis.
  • Rundungsregeln sorgen für glatte Endpreise statt krummer Centbeträge.
  • Händler oder andere Kundengruppen bekommen auf Wunsch eigene Kurse.
  • Deine Kunden sehen auf der Produktseite, in Kategorien, Slidern und Suchvorschlägen immer den aktuellen Preis. Der Warenkorb rechnet mit dem aktuellen Kurs weiter.
  • Mit dem Erlebniswelten-Element Rohstoff-Widget zeigst du die aktuellen Kurse direkt im Shop.

Für wen ist dieses Plugin?

Für Shops, deren Preise an einem Rohstoffkurs hängen: Edelmetallhandel mit Barren und Münzen, Schmuck nach Goldgewicht oder Metallwaren mit hohem Materialanteil.

Gut zu wissen: Das Plugin holt keine Kurse aus dem Internet. Du trägst sie in der Administration ein oder lässt sie von deiner IT automatisch übertragen, zum Beispiel aus deiner Warenwirtschaft (siehe Für Administratoren / Technische Details).

Installation

Nach dem Kauf steht dir das Plugin direkt in deiner Administration zur Verfügung — du musst nichts herunterladen.

  1. Melde dich in deiner Shopware-Administration an (DeinShop.de/admin).
  2. Öffne Erweiterungen → Meine Erweiterungen.
  3. Klicke neben Rohstoffberechnung auf Installieren.
  4. Aktiviere das Plugin über den Schalter links neben dem Plugin-Symbol — fertig.

Rohstoffberechnung unter Meine Erweiterungen Abb. 1: Rohstoffberechnung unter Meine Erweiterungen — installiert und aktiviert

Beim Aktivieren legt das Plugin den Kundentyp Default an und blendet seine Zusatzfelder an Artikeln, erweiterten Preisen und Kundengruppen ein.

Taucht Rohstoffberechnung nicht in der Liste auf, ist dein Shopware-Account noch nicht mit dem Shop verbunden. Das erledigst du unter Erweiterungen → Meine Erweiterungen im Reiter Shopware Account über die Anmeldung mit deinem Shopware-Konto.

Gut zu wissen: Beim Installieren lädt Shopware für das Plugin eine Rechenbibliothek für die Formeln nach. Bricht die Installation ab, gib die Hinweise aus Für Administratoren / Technische Details an deine IT weiter.

Erste Schritte

In sechs Schritten kommst du zum ersten berechneten Preis:

  1. Plugin im Verkaufskanal prüfen: Klicke unter Erweiterungen → Meine Erweiterungen neben Rohstoffberechnung auf Konfigurieren. Der Schalter Plugin für diesen Verkaufskanal aktivieren ist ab Werk eingeschaltet (Einstellungen).
  2. Kurs eintragen: Lege unter Kataloge → Rohstoffberechnung → Kursdaten je Rohstoff einen Eintrag an, zum Beispiel Gold mit dem Kurs je Gramm (So pflegst du die Kursdaten).
  3. Regel anlegen: Lege einmalig im Rule Builder die Regel an, an der das Plugin seine Preise erkennt (Regel für die Rohstoffberechnung anlegen).
  4. Artikel einrichten: Schalte am Artikel die Berechnung ein, wähle den Rohstoff und trage die Anzahl an Einheiten ein (Rohstoff und Menge am Artikel festlegen).
  5. Aufschläge festlegen: Lege am Artikel einen erweiterten Preis mit dieser Regel an und trage Formel, Aufschläge und Preisgrenzen ein (Erweiterten Preis mit der Regel anlegen und Formel, Aufschläge und Preisgrenzen eintragen).
  6. Ergebnis prüfen: Öffne den Artikel in deinem Shop. Nach einem kurzen Ladesymbol steht dort der berechnete Preis (Das sehen deine Kunden im Shop).

Optional richtest du danach Rundungsregeln (Einstellungen) und eigene Kurse für Händler (So richtest du Kundentypen ein) ein.

Einstellungen

Die Einstellungen öffnest du unter Erweiterungen → Meine Erweiterungen: Klicke neben Rohstoffberechnung auf Konfigurieren. Nach jeder Änderung klickst du oben rechts auf Speichern.

Oberer Teil der Konfiguration Abb. 2: Oberer Teil der Konfiguration mit Verkaufskanal-Auswahl, Dokumentations-Button, Kanal-Schalter und Rundungsregeln

Für welchen Verkaufskanal du einstellst

Ganz oben wählst du unter Verkaufskanal aus, für welchen Shop die Einstellungen gelten. Alle Verkaufskanäle ist die Grundeinstellung für alle Shops. Wählst du einen einzelnen Verkaufskanal, kannst du dort jede Einstellung abweichend festlegen.

Mit dem Button Dokumentation öffnen gelangst du direkt zur Online-Dokumentation des Plugins.

Plugin für diesen Verkaufskanal aktivieren

Mit dem Schalter Plugin für diesen Verkaufskanal aktivieren legst du fest, ob die Rohstoffberechnung im gewählten Verkaufskanal wirkt. Standardmäßig ist er eingeschaltet. Schaltest du ihn aus, zeigt dieser Shop wieder die normalen Shopware-Preise, und das Rohstoff-Widget bleibt dort leer.

Wozu das gut ist: Betreibst du mehrere Shops, zum Beispiel für Händler und für Endkunden, nutzt du die Berechnung gezielt nur dort, wo du sie brauchst — ohne das Plugin zu deinstallieren.

Rundungsregeln

Mit den Rundungsregeln in der Karte Preisberechnung sorgst du für glatte Endpreise. Eine Regel besteht aus einer Bruttopreis-Schwelle und einem Rundungsschritt, getrennt durch einen Doppelpunkt. Mehrere Regeln trennst du mit einem senkrechten Strich |.

Das Beispiel aus Abb. 2 lautet 0:0.05|100:0.50|1000:1.00. Es bedeutet:

  • Bruttopreise über 0 € werden auf 5 Cent gerundet.
  • Bruttopreise über 100 € werden auf 50 Cent gerundet.
  • Bruttopreise über 1.000 € werden auf volle Euro gerundet.

Es gilt immer die höchste Schwelle, die der Preis überschreitet. Gerundet wird kaufmännisch auf den nächstgelegenen Schritt: Aus 1.405,24 € wird 1.405,00 €, aus 57,79 € wird 57,80 €. Als Dezimaltrennzeichen funktionieren Punkt und Komma. Ab Werk steht hier 0 — damit rundet das Plugin nicht.

Wozu das gut ist: Statt 1.873,27 € zeigt dein Shop 1.873,00 €. Das wirkt aufgeräumt und erleichtert den Preisvergleich für deine Kunden.

Unterer Teil der Konfiguration Abb. 3: Unterer Teil der Konfiguration mit Ausnahmen von der Rundung, Formelgenauigkeit und Differenzbesteuerung

Kundengruppen ohne Rundung

Unter Kundengruppen ohne Rundung wählst du Kundengruppen aus, deren Preise das Plugin nicht rundet. Standardmäßig ist keine Gruppe ausgewählt.

Wozu das gut ist: Das Plugin rundet immer den Bruttopreis. Kunden, die Nettopreise sehen — etwa Händler —, bekommen deshalb einen Nettopreis mit krummen Centbeträgen. Möchtest du für sie exakt nach Kurs abrechnen, nimm ihre Kundengruppe hier aus.

Dezimalgenauigkeit der Formel

Die Dezimalgenauigkeit der Formel gibt an, mit wie vielen Nachkommastellen das Plugin deine Formel ausrechnet. Ab Werk steht hier 16. Lass den Wert so, solange du keinen besonderen Grund hast. Trägst du 0 ein oder lässt das Feld leer, rechnet das Plugin trotzdem mit 16 Nachkommastellen.

Differenzbesteuerung

Verkaufst du Ware differenzbesteuert, ist nur deine Marge steuerpflichtig. Das Plugin kann deine Aufschläge in diesem Fall mit einem eigenen Steuersatz versehen. Dafür gibt es in der Karte Differenzbesteuerung drei Einstellungen:

  • Unter Steuersatz zur Erkennung der Differenzbesteuerung wählst du den Steuersatz, den du in Shopware deinen differenzbesteuerten Artikeln zuordnest. Daran erkennt das Plugin, welche Artikel betroffen sind.
  • Den Steuersatz für Aufschläge der Differenzbesteuerung schlägt das Plugin bei diesen Artikeln auf deine Aufschläge auf.
  • Trägst du unter Fester Steuersatz für Aufschläge der Differenzbesteuerung einen Prozentwert ein, gilt er statt des oben gewählten Steuersatzes.

Gemeint sind die Aufschläge, die du am Artikel im erweiterten Preis einträgst (Formel, Aufschläge und Preisgrenzen eintragen) — nicht die Kursaufschläge aus den Kursdaten. Bleiben die Felder leer, ist die Differenzbesteuerung aus.

Wichtig: Ob und wie du differenzbesteuert verkaufen darfst, klärst du bitte mit deiner Steuerberatung.

So pflegst du die Kursdaten

Was dir das bringt: Die Kursdaten sind das Herz des Plugins. Hier trägst du je Rohstoff den aktuellen Marktkurs ein. Jeder Artikel aus diesem Rohstoff rechnet sofort mit dem neuen Kurs.

Du findest sie unter Kataloge → Rohstoffberechnung → Kursdaten.

Liste der Kursdaten Abb. 4: Die Kursdaten mit Gold, Silber und den Währungen Euro und US-Dollar

Die Liste zeigt jeden Eintrag mit Kursbezeichnung, Kurscode, Interner Kurscode, Aktueller Kurs und in der Spalte Berechnung aktiv, ob die Kursmanipulation eingeschaltet ist. Gold steht im Beispiel zweimal: einmal mit 112,4 für den Kundentyp Default und einmal mit 110,9 für den Kundentyp Händler (So richtest du Kundentypen ein).

Einen Rohstoff anlegen

  1. Klicke auf Kursdaten hinzufügen.
  2. Fülle die Karte Kursdaten aus:
    • Kundentyp: Für welche Kunden dieser Kurs gilt. Beim Anlegen ist Default vorausgewählt — dieser Kurs gilt für alle Kunden ohne eigenen Kundentyp.
    • Kursbezeichnung: Der Name des Rohstoffs, zum Beispiel Gold. Unter diesem Namen wählst du den Rohstoff später am Artikel aus, und das Rohstoff-Widget zeigt ihn an.
    • Code: Ein Kürzel zu deiner Orientierung, zum Beispiel XAU für Gold. Für die Berechnung spielt es keine Rolle.
    • Interner Code: Die Verbindung zwischen Kurs und Artikeln, zum Beispiel GOLD. Jeder Artikel aus diesem Rohstoff verweist auf diesen Code. Je Kundentyp darf ein Interner Code nur einmal vorkommen.
    • Ist eine Währung: Bleibt bei Rohstoffen ausgeschaltet. Wofür du den Schalter brauchst, steht in Währungen für das Rohstoff-Widget anlegen.
    • Variable in der Formel: Wird automatisch gesetzt — x für Rohstoffe, y für Währungen. Hier musst du nichts eintragen.
    • Aktueller Marktkurs: Der Kurs je Einheit, zum Beispiel 112,40 für einen Goldpreis von 112,40 € je Gramm.
    • Währung: In welcher Währung der Kurs vorliegt. Bekommst du deinen Kurs zum Beispiel in US-Dollar, wählst du US-Dollar. Das Plugin rechnet dann über den Faktor um, den du in Shopware unter Einstellungen → Regional → Währungen für US-Dollar hinterlegt hast. Bleibt das Feld bei Bitte wählen …, rechnet das Plugin ohne Umrechnung, also in der Standardwährung deines Shops.
  3. Klicke auf Speichern.

Kurseintrag für Gold Abb. 5: Der Kurseintrag für Gold mit Kundentyp, Kursbezeichnung, Code, Internem Code und Variable

Tipp: Pflege Kurs und Einheiten in derselben Maßeinheit. Trägst du den Goldkurs je Gramm ein, gibst du am Artikel das Gewicht in Gramm an — eine Unze also als 31,1.

Wichtig: Lass das Feld Aktueller Marktkurs nie leer. Ohne Kurs rechnet das Plugin mit dem Wert 1, und der Artikel wäre viel zu günstig.

Den Kurs automatisch anpassen (Kursmanipulation)

Was dir das bringt: Du legst einen Aufschlag direkt auf den Kurs — etwa für Beschaffung oder Kursschwankungen — und bestimmst einen Kurs, unter den die Berechnung nie fällt. Das gilt für alle Artikel aus diesem Rohstoff auf einmal.

Karte Kursmanipulation Abb. 6: Die Karte Kursmanipulation mit 2 % Aufschlag auf den Goldkurs

Die Karte Kursmanipulation findest du im selben Eintrag unter den Kursdaten:

  • Berechnung aktiv schaltet die Kursmanipulation für diesen Eintrag ein. Nur dann wirken die drei Felder darunter.
  • Aufschlag in Prozent erhöht den Kurs um diesen Prozentsatz. Mit 2 wird aus 112,40 ein Kurs von 114,648.
  • Fester Aufschlag wird danach auf den Kurs addiert.
  • Rückfallkurs (Mindestkurs): Liegt der Kurs nach den Aufschlägen darunter, rechnet das Plugin mit diesem Wert. So sicherst du dich gegen Kurseinbrüche oder einen versehentlich falsch eingetragenen Kurs ab.

Klicke anschließend auf Speichern.

Gut zu wissen: Das Rohstoff-Widget zeigt immer den eingetragenen Marktkurs — ohne die Aufschläge aus der Kursmanipulation.

Währungen für das Rohstoff-Widget anlegen

Was dir das bringt: Mit Währungseinträgen zeigt das Rohstoff-Widget deine Kurse in mehreren Währungen an, jede in einem eigenen Reiter (So zeigst du die Kurse mit dem Rohstoff-Widget an).

  1. Klicke auf Kursdaten hinzufügen.
  2. Trage unter Kursbezeichnung den Namen ein, der im Reiter erscheinen soll, zum Beispiel US-Dollar.
  3. Trage unter Code und unter Interner Code das dreistellige Währungskürzel ein, zum Beispiel USD. Das Widget zeigt die Beträge in dieser Währung an.
  4. Schalte Ist eine Währung ein. Das Feld Währung verschwindet dann, und als Variable steht y.
  5. Trage unter Aktueller Marktkurs den Wechselkurs zu deiner Standardwährung ein, zum Beispiel 1,085 für 1 € = 1,085 US-Dollar. Für die Standardwährung selbst legst du einen Eintrag mit dem Kurs 1 an — im Beispiel Euro mit dem Code EUR.
  6. Klicke auf Speichern.

Für die Umrechnung deiner Artikelpreise brauchst du diese Einträge nicht. Dafür sorgen das Feld Währung im Rohstoff-Eintrag und der Faktor aus den Währungseinstellungen von Shopware.

Kurse im Alltag aktualisieren

Öffne den Eintrag, trage unter Aktueller Marktkurs den neuen Kurs ein und klicke auf Speichern. Schneller geht es direkt in der Liste: Ein Doppelklick auf eine Zeile öffnet ihre Werte zur Bearbeitung. Die Spalte Zuletzt geändert zeigt dir, wann ein Kurs zuletzt angepasst wurde.

Dein Shop zeigt den neuen Preis beim nächsten Seitenaufruf. Sortierung nach Preis, Preisfilter und Exporte nutzen dagegen einen gespeicherten Preis. Der zieht erst nach, wenn dein Server die gespeicherten Preise neu berechnet (Für Administratoren / Technische Details).

So richtest du Kundentypen ein

Was dir das bringt: Händler bekommen andere Kurse als Endkunden. Ein Kundentyp bündelt diese Kurse, und du ordnest ihn einer oder mehreren Kundengruppen zu.

So hängt alles zusammen:

  • Den Kundentyp Default legt das Plugin selbst an. Seine Kurse gelten für alle Kundengruppen ohne eigenen Kundentyp.
  • Hat ein Kundentyp für einen Rohstoff keinen eigenen Kurs, gilt der Kurs von Default. Du legst also nur die Kurse an, die wirklich abweichen.

Kundentyp anlegen

  1. Öffne Kataloge → Rohstoffberechnung → Kundentypen.
  2. Klicke auf Kundentyp hinzufügen.
  3. Trage im Feld Name einen Namen ein, zum Beispiel Händler.
  4. Das Feld Intervall ist mit 100 vorbelegt. Die Preisberechnung dieses Plugins wertet es nicht aus — lass den Wert einfach stehen.
  5. Klicke auf Speichern.

Liste der Kundentypen Abb. 7: Die Kundentypen Default und Händler

Kundentyp Händler Abb. 8: Der Kundentyp Händler

Eigene Kurse für den Kundentyp anlegen

Lege unter Kataloge → Rohstoffberechnung → Kursdaten einen weiteren Eintrag an (Einen Rohstoff anlegen). Wähle als Kundentyp den neuen Typ, zum Beispiel Händler, und trage denselben Internen Code ein wie beim Default-Eintrag, zum Beispiel GOLD. Nur so erkennt das Plugin, dass beide Einträge zum selben Rohstoff gehören.

Im Beispiel rechnen Händler mit einem Goldkurs von 110,90 € je Gramm statt 112,40 €. Weil die Kursmanipulation beim Händler-Eintrag ausgeschaltet ist, kommt für sie auch kein Kursaufschlag von 2 % dazu.

Kundentyp einer Kundengruppe zuordnen

  1. Öffne Einstellungen → Kunde → Kundengruppen und dort die gewünschte Kundengruppe, zum Beispiel Händler.
  2. Wähle in der Karte Zusatzfelder im Reiter Rohstoffberechnung unter Kundentyp den passenden Kundentyp aus.
  3. Klicke auf Speichern.

Kundengruppe mit Kundentyp Abb. 9: Die Kundengruppe Händler mit dem Kundentyp Händler

Ab jetzt rechnet jeder Kunde dieser Kundengruppe mit den Kursen seines Kundentyps.

So richtest du einen Artikel für die Rohstoffberechnung ein

Was dir das bringt: Einmal eingerichtet, folgt der Artikelpreis automatisch dem Kurs. Du legst fest, welcher Rohstoff im Artikel steckt, wie viel davon und welche Aufschläge du nimmst.

Die Einrichtung hat zwei Teile: Die Regel legst du einmalig für den ganzen Shop an. Rohstoff, Menge und Aufschläge legst du je Artikel fest.

Regel für die Rohstoffberechnung anlegen

Formel, Aufschläge und Preisgrenzen hängen an einem erweiterten Preis. Das Plugin berechnet einen erweiterten Preis nur dann, wenn dessen Regel die Bedingung Position vom Typ mit dem Wert Rohstoffberechnung enthält. Diese Regel legst du einmal an und nutzt sie für alle Artikel.

  1. Öffne Automation → Rule Builder und klicke auf Regel erstellen.
  2. Trage im Feld Name einen Namen ein, zum Beispiel Rohstoffberechnung, und im Feld Priorität eine Priorität.
  3. Stelle in der Karte Bedingungen die Bedingung so ein: Position vom Typ — Mind. eine — Ist gleich — Rohstoffberechnung.
  4. Klicke auf Speichern.

Regel mit der Bedingung Position vom Typ Abb. 10: Die Regel Rohstoffberechnung mit der Bedingung Position vom Typ, Ist gleich, Rohstoffberechnung

Wichtig: Fehlt diese Bedingung in der Regel, berechnet das Plugin den erweiterten Preis nicht. Dein Shop zeigt dann den dort fest eingetragenen Preis oder einen Preis ohne deine Aufschläge.

Rohstoff und Menge am Artikel festlegen

  1. Öffne Kataloge → Produkte und dort den Artikel.
  2. Wechsle in den Reiter Spezifikationen. Öffne in der Karte Zusatzfelder den Reiter Rohstoffberechnung.
  3. Schalte Berechnung aktiv ein.
  4. Wähle unter Rohstoff den Rohstoff aus, zum Beispiel Gold. Sein Kurs ist in der Formel die Variable x.
  5. Trage unter Anzahl an Einheiten ein, wie viele Einheiten des Rohstoffs im Artikel stecken — beim Goldbarren 10 g also 10. Diese Zahl ist in der Formel die Variable b. Bleibt das Feld leer, rechnet das Plugin mit 1.
  6. Klicke auf Speichern.

Zusatzfelder am Artikel Abb. 11: Der Artikel Goldbarren 10 g mit eingeschalteter Berechnung, Rohstoff Gold und 10 Einheiten

Tipp: Pflegst du einen Rohstoff für mehrere Kundentypen, erscheint er unter Rohstoff mehrfach. Du kannst jeden dieser Einträge wählen: Der Artikel ist über den Internen Code mit allen verbunden, und jeder Kunde bekommt den Kurs seines Kundentyps.

Gut zu wissen: Der Schalter Berechnung aktiv am Artikel ist ein anderer als der gleichnamige Schalter in der Kursmanipulation. Am Artikel schaltet er die Rohstoffberechnung für genau diesen Artikel ein.

Erweiterten Preis mit der Regel anlegen

  1. Wechsle im selben Artikel in den Reiter Erweiterte Preise.
  2. Wähle als Preisregel die Regel aus Regel für die Rohstoffberechnung anlegen, im Beispiel Rohstoffberechnung. Gibt es schon andere Preisregeln, legst du mit Preisregel hinzufügen eine weitere an.
  3. Trage in der Zeile einen Preis ein, zum Beispiel deinen bisherigen Verkaufspreis. Im Shop ersetzt das Plugin ihn durch den berechneten Preis. Sortierung, Filter und Exporte nutzen diesen Wert aber, bis dein Server die gespeicherten Preise neu berechnet.

Erweiterter Preis mit der Regel Rohstoffberechnung Abb. 12: Der erweiterte Preis mit der Regel Rohstoffberechnung

Wichtig: Trage Preise nur in der Standardwährung ein und lass die übrigen Währungen wie gewohnt von Shopware umrechnen. Das Plugin rechnet in der Standardwährung. Ein eigener Preis für eine weitere Währung würde sonst mit dem Betrag aus der Standardwährung überschrieben.

Tipp: Legst du in der Preisregel mehrere Zeilen mit Menge von … und bis … an, hat jede Zeile eigene Zusatzfelder. So nimmst du zum Beispiel ab 10 Stück einen kleineren Aufschlag.

Formel, Aufschläge und Preisgrenzen eintragen

  1. Klicke ganz rechts in der Preiszeile auf die drei Punkte und wähle Zusatzfelder.

    Menü der Preiszeile Abb. 13: Das Menü der Preiszeile mit dem Eintrag Zusatzfelder

  2. Trage im Fenster Zusatzfelder im Reiter Rohstoffberechnung deine Werte ein:

    • Mindestpreis: Darunter fällt der Preis nie.
    • Höchstpreis: Darüber steigt der Preis nie.
    • Prozentualer Aufschlag: Wird prozentual auf den berechneten Preis aufgeschlagen, zum Beispiel 3 für 3 %.
    • Fester Aufschlag: Ein fester Betrag, der zusätzlich dazukommt, zum Beispiel 3,50 für Prägung oder Verpackung.
    • Formel: Wie aus Kurs und Einheiten der Preis entsteht (siehe unten).
  3. Schließe das Fenster über das Kreuz oben rechts.

  4. Klicke auf Speichern.

Zusatzfelder des erweiterten Preises Abb. 14: Die Zusatzfelder des erweiterten Preises mit Preisgrenzen, Aufschlägen und Formel

Mindest- und Höchstpreis sind Nettobeträge je Stück. Das Plugin prüft sie ganz zum Schluss, nach der Rundung. Greift eine Grenze, wird der Preis nicht mehr gerundet. Bleibt ein Feld leer, gibt es diese Grenze nicht.

So schreibst du die Formel

In der Formel stehen dir drei Variablen zur Verfügung:

  • x ist der Kurs des Rohstoffs, nach der Kursmanipulation.
  • y ist der Umrechnungsfaktor der Währung, in der der Kurs vorliegt. Liegt der Kurs schon in deiner Standardwährung vor, ist y gleich 1.
  • b ist die Anzahl an Einheiten am Artikel.

Erlaubt sind die Rechenzeichen + - * / ^ und Klammern. Dezimalzahlen schreibst du mit Punkt, also 0.585 statt 0,585. Beispiele:

  • x*b rechnet Kurs mal Einheiten. So ist der Goldbarren im Beispiel eingerichtet.
  • (x*b)/y rechnet Kurs mal Einheiten und rechnet aus der Kurswährung um. Das ist auch die Standardrechnung.
  • x*b*0.585 berücksichtigt nur den Feingoldanteil, etwa bei Schmuck aus 585er Gold.

Lässt du die Formel leer, nutzt das Plugin die Standardrechnung (x*b)/y. Das gilt auch, wenn die Formel einen Fehler enthält — so steht der Artikel nie ohne Preis da. Prüfe neue Formeln deshalb an einem Testartikel.

So rechnet das Plugin den Preis aus

Was dir das bringt: Wenn du die Reihenfolge kennst, kannst du jeden Preis im Shop nachvollziehen.

Das Plugin rechnet immer in dieser Reihenfolge:

  1. Kurs bestimmen: Es nimmt den Marktkurs des Rohstoffs für den Kundentyp des Kunden. Gibt es dort keinen eigenen Kurs, nimmt es den Kurs von Default. Ist die Kursmanipulation eingeschaltet, kommen Aufschlag in Prozent und fester Aufschlag dazu. Liegt das Ergebnis unter dem Rückfallkurs, gilt der Rückfallkurs.
  2. Grundpreis berechnen: Kurs und Einheiten laufen durch die Formel. Ohne Formel rechnet das Plugin Kurs mal Einheiten und rechnet aus der Kurswährung um.
  3. Aufschläge addieren: Prozentualer und fester Aufschlag aus dem erweiterten Preis kommen dazu. Bei differenzbesteuerten Artikeln kommt auf die Aufschläge noch der Steuersatz für Aufschläge.
  4. Runden: Der Bruttopreis wird nach deinen Rundungsregeln gerundet — außer für Kundengruppen ohne Rundung.
  5. Grenzen prüfen: Liegt der Nettopreis unter dem Mindestpreis oder über dem Höchstpreis, gilt die Grenze.

Beispiel 1: Goldbarren 10 g

Goldkurs 112,40 € je Gramm mit 2 % Kursaufschlag, 10 Einheiten, Formel x*b, prozentualer Aufschlag 3 %, Mindestpreis 1.000, Höchstpreis 5.000, Mehrwertsteuer 19 %, Rundungsregeln wie in Einstellungen.

SchrittRechnungErgebnis
Kurs112,40 € + 2 %114,648 € je g
Formel x*b114,648 € × 101.146,48 €
Prozentualer Aufschlag1.146,48 € + 3 %1.180,87 € netto
Bruttopreis1.180,87 € + 19 % MwSt.1.405,24 €
Rundungüber 1.000 € auf volle Euro1.405,00 € brutto (1.180,67 € netto)
Preisgrenzen1.180,67 € liegt zwischen 1.000 und 5.000bleibt

Beispiel 2: Silbermünze 1 oz

Silberkurs 1,38 € je Gramm ohne Kursmanipulation, 31,1 Einheiten (eine Unze in Gramm), Formel x*b, prozentualer Aufschlag 5 %, fester Aufschlag 3,50 €, Mindestpreis 40, Höchstpreis 120.

SchrittRechnungErgebnis
Kursohne Kursmanipulation1,38 € je g
Formel x*b1,38 € × 31,142,92 €
Prozentualer Aufschlag42,92 € + 5 %45,06 €
Fester Aufschlag45,06 € + 3,50 €48,56 € netto
Bruttopreis48,56 € + 19 % MwSt.57,79 €
Rundungbis 100 € auf 5 Cent57,80 € brutto (48,57 € netto)
Preisgrenzen48,57 € liegt zwischen 40 und 120bleibt

Die Zwischenwerte sind auf Cent gerundet dargestellt; das Plugin rechnet intern genauer.

Kategorie mit berechneten Preisen Abb. 15: Die Kategorie Edelmetalle mit den berechneten Preisen 1.405,00 € und 57,80 €

Ein Kunde der Kundengruppe Händler rechnet im ersten Schritt mit dem Händlerkurs von 110,90 € je Gramm und ohne Kursaufschlag. Alle weiteren Schritte bleiben gleich.

So zeigst du die Kurse mit dem Rohstoff-Widget an

Was dir das bringt: Deine Kunden sehen die aktuellen Kurse direkt im Shop, zum Beispiel auf der Startseite oder einer eigenen Kursseite — in Reitern je Währung. Das Widget lädt die Kurse regelmäßig neu, ohne dass jemand die Seite neu laden muss.

Voraussetzung ist mindestens ein Währungseintrag in den Kursdaten (Währungen für das Rohstoff-Widget anlegen).

  1. Öffne Inhalte → Erlebniswelten und das Layout, in dem die Kurse erscheinen sollen.
  2. Füge einen Block hinzu und wähle für sein Element das Rohstoff-Widget.
  3. Öffne die Einstellungen des Elements und trage ein:
    • Aktualisierungsintervall: Nach wie vielen Minuten das Widget die Kurse neu lädt. Vorgegeben sind 5 Minuten.
    • Währungsauswahl: Die Währungen, für die je ein Reiter erscheint. Hier stehen nur Einträge zur Wahl, bei denen Ist eine Währung eingeschaltet ist.
    • Rohstoffauswahl: Die Rohstoffe, deren Kurse das Widget zeigt.
  4. Klicke auf Fertig und danach oben rechts auf Speichern.

Element-Einstellungen des Rohstoff-Widgets Abb. 16: Die Element-Einstellungen des Rohstoff-Widgets mit Intervall, Währungen und Rohstoffen

Im Shop zeigt das Widget je Währung einen Reiter mit den Rohstoffen und ihren Kursen. Darunter steht der Hinweis Preisaktualisierung mit dem eingestellten Intervall.

Rohstoff-Widget im Shop Abb. 17: Das Rohstoff-Widget im Shop mit den Reitern Euro und US-Dollar

Gut zu wissen:

  • Das Widget zeigt den eingetragenen Marktkurs ohne Kursmanipulation. Im Reiter einer weiteren Währung rechnet es ihn mit dem Kurs des Währungseintrags um.
  • Bilder bringt das Plugin für die Kursbezeichnungen Gold und Silber mit. Bei anderen Kursbezeichnungen fehlt das Bild.
  • Das Widget zeigt nur in Verkaufskanälen Kurse, in denen das Plugin eingeschaltet ist.

Das sehen deine Kunden im Shop

Produktseite

Auf der Produktseite erscheint der Preis nach einem kurzen Ladesymbol. Er wird bei jedem Aufruf mit dem aktuellen Kurs berechnet — auch dann, wenn die übrige Seite aus dem Zwischenspeicher deines Shops kommt.

Produktseite mit berechnetem Preis Abb. 18: Die Produktseite des Goldbarrens mit dem berechneten Preis

Kategorien, Slider und Suchvorschläge

Auch in Kategorien, Produkt-Slidern und den Suchvorschlägen steht der berechnete Preis (siehe Abb. 15). Hat der Artikel Staffelpreise, zeigen die Suchvorschläge den Preis mit dem Zusatz „Ab”.

Warenkorb und Bestellung

Im Warenkorb rechnet die Position bei jeder Neuberechnung mit dem dann gültigen Kurs. Lagerbestand, Mindestabnahme und Staffelung gelten wie bei jedem anderen Artikel. In der Bestellung erscheint die Position als ganz normaler Artikel — Dokumente und Bestandsführung funktionieren wie gewohnt.

Warenkorb mit der Rohstoffposition Abb. 19: Der Warenkorb mit dem Goldbarren, Nettosumme und Mehrwertsteuer

Mobile Ansicht

Auf dem Smartphone funktioniert die Preisanzeige genauso.

Produktseite in der mobilen Ansicht Abb. 20: Die Produktseite in der mobilen Ansicht

Gut zu wissen:

  • Die Preisanzeige braucht im Browser deiner Kunden eingeschaltetes JavaScript.
  • Kann der Preis einmal nicht geladen werden, steht dort statt eines veralteten Preises der Hinweis „Der aktuelle Preis kann gerade nicht geladen werden.”
  • Den Dialog „Warenkorb-Modus wechseln” sehen deine Kunden nur, wenn zusätzlich ein Ankauf-Plugin installiert ist, das mit diesem Plugin zusammenarbeitet. Kauf und Ankauf lassen sich dann nicht in einem Warenkorb mischen.

Fehlerbehebung

Der Artikel zeigt 0,00 € oder seinen normalen Preis statt des berechneten Preises

Woran es liegt: Eine Voraussetzung für die Berechnung fehlt. Die häufigsten Ursachen:

  • Das Plugin ist in diesem Verkaufskanal ausgeschaltet.
  • Am Artikel ist Berechnung aktiv ausgeschaltet oder unter Rohstoff nichts gewählt.
  • Für den Internen Code des Rohstoffs gibt es weder einen Kurseintrag mit dem Kundentyp Default noch einen für den Kundentyp des Kunden.
  • Die Regel des erweiterten Preises enthält die Bedingung Position vom Typ mit Rohstoffberechnung nicht.

So behebst du es:

  1. Prüfe in der Konfiguration den Schalter Plugin für diesen Verkaufskanal aktivieren — für den richtigen Verkaufskanal (Einstellungen).
  2. Prüfe am Artikel unter Spezifikationen → Zusatzfelder → Rohstoffberechnung den Schalter und den Rohstoff (Rohstoff und Menge am Artikel festlegen).
  3. Prüfe unter Kataloge → Rohstoffberechnung → Kursdaten, ob ein Eintrag mit dem Kundentyp Default und demselben Internen Code existiert.
  4. Prüfe die Regel im Rule Builder (Regel für die Rohstoffberechnung anlegen).
  5. Leere den Cache: Einstellungen → System → Caches & Indizes → Cache löschen.

Formel, Aufschläge oder Preisgrenzen wirken nicht

Woran es liegt: Das Plugin liest diese Werte nur aus einem erweiterten Preis, dessen Regel die Bedingung Position vom Typ mit Rohstoffberechnung enthält. Bei Staffelpreisen gelten die Werte der Zeile, die zur bestellten Menge passt. Eine fehlerhafte Formel ersetzt das Plugin durch die Standardrechnung.

So behebst du es:

  1. Prüfe die Regel des erweiterten Preises (Regel für die Rohstoffberechnung anlegen).
  2. Öffne die Zusatzfelder der passenden Preiszeile und prüfe die Werte.
  3. Prüfe die Formel: nur die Variablen x, y und b, Dezimalzahlen mit Punkt, Klammern vollständig.

Der Preis ist viel zu niedrig oder passt nicht zum Kurs

Woran es liegt: Meist passen Kurs, Einheit oder Währung nicht zusammen.

So behebst du es:

  • Ist das Feld Aktueller Marktkurs leer, rechnet das Plugin mit 1. Trage den Kurs ein.
  • Kurs und Einheiten müssen dieselbe Maßeinheit haben: Kurs je Gramm, Einheiten in Gramm.
  • Prüfe das Feld Währung im Kurseintrag und den Faktor dieser Währung unter Einstellungen → Regional → Währungen.
  • Prüfe die Kursmanipulation: Aufschläge und Rückfallkurs ändern den Kurs, bevor er in die Formel geht.

Händler sehen den Endkundenpreis

Woran es liegt: Das Plugin kennt den Kundentyp nicht, oder es gibt für diesen Rohstoff keinen Händlerkurs.

So behebst du es:

  1. Prüfe unter Einstellungen → Kunde → Kundengruppen in der Kundengruppe, ob unter Zusatzfelder → Rohstoffberechnung ein Kundentyp gewählt ist.
  2. Prüfe, ob der Händler-Eintrag in den Kursdaten denselben Internen Code hat wie der Default-Eintrag. Fehlt er, gilt bewusst der Kurs von Default.
  3. Prüfe, ob der Kunde wirklich zu dieser Kundengruppe gehört.

Die Rundung greift nicht

Woran es liegt: In Rundungsregeln steht noch 0, die Kundengruppe ist unter Kundengruppen ohne Rundung ausgewählt, oder eine Preisgrenze hat gegriffen.

So behebst du es: Trage Rundungsregeln ein (Einstellungen) und prüfe die Ausnahmen. Bedenke: Gerundet wird der Bruttopreis. Kunden mit Nettoanzeige sehen deshalb einen Nettopreis mit krummen Centbeträgen.

Sortierung nach Preis, Preisfilter oder Exporte nutzen alte Preise

Woran es liegt: Diese Funktionen lesen den gespeicherten Preis, nicht den gerade berechneten. Den gespeicherten Preis aktualisiert ein Befehl, den deine IT regelmäßig auf dem Server laufen lässt.

So behebst du es: Bitte deine IT, den Befehl einzurichten oder häufiger laufen zu lassen (Für Administratoren / Technische Details).

Statt des Preises steht „Der aktuelle Preis kann gerade nicht geladen werden.”

Woran es liegt: Der Preis wird nach dem Seitenaufbau eigens geladen. Diese Anfrage ist fehlgeschlagen, etwa wegen einer kurzen Verbindungsstörung.

So behebst du es: Lade die Seite neu. Bleibt der Hinweis bestehen, bitte deine IT, das Fehlerprotokoll des Shops zu prüfen.

Das Rohstoff-Widget bleibt leer

Woran es liegt: Meist ist im Element keine Währung ausgewählt. Dann zeigt das Widget nur den Hinweis Preisaktualisierung, aber keine Kurse.

So behebst du es:

  1. Lege mindestens einen Währungseintrag an (Währungen für das Rohstoff-Widget anlegen).
  2. Wähle ihn im Element unter Währungsauswahl aus, dazu die Rohstoffe unter Rohstoffauswahl (So zeigst du die Kurse mit dem Rohstoff-Widget an).
  3. Prüfe, ob das Plugin im Verkaufskanal eingeschaltet ist.

Die Zusatzfelder oder der Menüpunkt Rohstoffberechnung fehlen

Woran es liegt: Das Plugin ist vermutlich noch nicht aktiviert oder der Zwischenspeicher (Cache) ist veraltet.

So behebst du es:

  1. Öffne Erweiterungen → Meine Erweiterungen.
  2. Prüfe, ob der Schalter neben Rohstoffberechnung eingeschaltet ist.
  3. Leere den Cache: Einstellungen → System → Caches & Indizes → Cache löschen.

FAQ

F: Woher kommen die Kurse?

A: Von dir. Das Plugin hat keinen eingebauten Kursdienst. Du pflegst die Kurse unter Kataloge → Rohstoffberechnung → Kursdaten, oder deine IT überträgt sie automatisch, zum Beispiel aus deiner Warenwirtschaft.

F: Wie schnell sehen meine Kunden einen neuen Kurs?

A: Beim nächsten Seitenaufruf. Produktseite, Kategorien und Slider berechnen den Preis bei jedem Aufruf neu. Nur Sortierung nach Preis, Preisfilter und Exporte warten auf die nächste Neuberechnung der gespeicherten Preise.

F: Was zahlt der Kunde, wenn sich der Kurs während des Einkaufs ändert?

A: Den Preis der letzten Warenkorb-Berechnung. Der Warenkorb rechnet bei jeder Neuberechnung mit dem dann gültigen Kurs. In der Bestellung kann deshalb ein anderer Preis stehen als vorhin auf der Produktseite.

F: Kann ich je Menge unterschiedliche Aufschläge nehmen?

A: Ja. Lege in der Preisregel mehrere Zeilen mit Menge von … und bis … an. Jede Zeile hat eigene Zusatzfelder mit Formel, Aufschlägen und Preisgrenzen.

F: Was passiert, wenn meine Formel einen Fehler hat?

A: Das Plugin rechnet dann mit der Standardrechnung Kurs mal Einheiten, umgerechnet aus der Kurswährung. Der Artikel behält also einen Preis, deine Formel wirkt aber nicht. Prüfe neue Formeln an einem Testartikel.

F: Warum zeigt das Rohstoff-Widget einen anderen Wert als den Kurs, mit dem meine Artikel rechnen?

A: Das Widget zeigt den eingetragenen Marktkurs. Deine Artikel rechnen zusätzlich mit den Aufschlägen aus der Kursmanipulation und, je nach Kunde, mit dem Kurs seines Kundentyps.

F: Kann ich das Plugin nur in einem Verkaufskanal nutzen?

A: Ja. Der Schalter Plugin für diesen Verkaufskanal aktivieren und alle anderen Einstellungen gelten je Verkaufskanal.

F: Wie gebe ich Mitarbeitern nur die Kurspflege frei?

A: Unter Einstellungen → System → Benutzer & Rechte gibt es in den Rollen die Rechte „Rohstoffberechnung: Kursdaten” und „Rohstoffberechnung: Kundentypen”.

F: Kann das Plugin auch den Ankauf abbilden, also Edelmetall von Kunden zurückkaufen?

A: Nein. Dieses Plugin berechnet Verkaufspreise. Für den Ankauf ist es nicht gebaut.

F: Was passiert bei der Deinstallation mit meinen Daten?

A: Behältst du beim Deinstallieren die Daten, bleibt alles erhalten. Löschst du sie, entfernt das Plugin seine Kursdaten, Kundentypen und Zusatzfelder. Die Artikel behalten den zuletzt gespeicherten Preis.

F: Werden Daten an externe Dienste übertragen?

A: Nein. Das Plugin sendet keine Daten an externe Server. Alle Kurse und Einstellungen bleiben in deiner Shopware-Datenbank.

Für Administratoren / Technische Details

Dieser Abschnitt richtet sich an technische Administratoren. Für die normale Nutzung brauchst du ihn nicht.

Systemanforderungen

  • Shopware: 6.7
  • PHP: 8.2 oder neuer
  • Composer beim Installieren und Aktualisieren: Shopware führt für das Plugin Composer aus, um die Formel-Bibliothek denissimon/formula-parser zu laden. Der Server braucht dafür ein funktionierendes Composer und Zugriff auf Packagist.

Installation über die Kommandozeile

Liegt das Plugin bereits im Shop, installierst und aktivierst du es so:

php bin/console plugin:refresh
php bin/console plugin:install --activate SwpResourceCalcSix
php bin/console cache:clear

Gespeicherte Preise aktualisieren

Die Anzeige im Shop rechnet live. Sortierung, Preisfilter und Exporte lesen dagegen den in der Datenbank gespeicherten Preis. Den schreibt der Konsolenbefehl:

php bin/console resourcecalc:cron

Das Plugin bringt dafür keine geplante Aufgabe mit. Richte einen System-Cronjob ein, zum Beispiel alle 15 Minuten:

*/15 * * * * cd /pfad/zum/shop && php bin/console resourcecalc:cron

Was der Befehl tut:

  • Er bearbeitet alle aktiven Artikel mit eingeschalteter Berechnung in Stapeln zu 250.
  • Er rechnet aus Sicht des ältesten aktiven Storefront-Verkaufskanals, in dem das Plugin eingeschaltet ist, und als Gast — also mit der Standard-Kundengruppe dieses Verkaufskanals. Hat sie keinen Kundentyp, gelten die Kurse von Default.
  • Er überschreibt den Artikelpreis und die erweiterten Preise mit der Rohstoff-Regel. Ein gepflegter Streichpreis dieser Artikel geht dabei verloren.
  • Findet er keinen passenden Verkaufskanal, endet er mit einem Hinweis und ändert nichts.

Kurse automatisch übertragen

Kurse sind Datensätze der Entität swp_resource_calc_resources und lassen sich über die Admin-API von Shopware schreiben, etwa aus einer Warenwirtschaft. Der Marktkurs steht im Feld resourceCourse.

Protokoll

Formeln, die sich nicht auswerten lassen, schreibt das Plugin in die Datei var/log/SwpResourceCalcSix-<Datum>.log. Die Dateien werden 14 Tage aufbewahrt.

Deaktivieren und Deinstallieren

  • Deaktivieren: Die Zusatzfelder des Plugins werden ausgeblendet, alle Daten bleiben erhalten.
  • Deinstallieren mit Daten behalten: Alles bleibt erhalten.
  • Deinstallieren ohne Daten: Das Plugin löscht seine Tabellen für Kursdaten und Kundentypen sowie seine Zusatzfelder. Die Artikel behalten den zuletzt gespeicherten Preis.

Für Entwickler

Das Plugin löst eigene Events aus: ResourceCalcResourceEvent (Kurs geladen), ResourceCalcPriceEvent (Grundpreis vor den Aufschlägen) und ResourceCalcFinalPriceEvent (nach Rundung und Preisgrenzen, im Konsolenbefehl übersprungen).


Diese Anleitung wurde für Rohstoffberechnung Version 6.7.0 erstellt.

Wer betreut deinen Shop, wenn es ernst wird?

Wir pflegen Shopware-Shops seit über 20 Jahren, inklusive Updates, Hotfixes und der Plugins, die du hier gerade einrichtest.