Zum Inhalt springen
Rohstoffberechnung Kursimport VWD | Kurse per Import statt Abtippen, Plugin-Icon

Rohstoffberechnung Kursimport VWD | Kurse per Import statt Abtippen

Kursimport VWD für die Rohstoffberechnung: Das Plugin ruft deine VWD-Kursdatei nach Zeitplan ab und schreibt die Kurse in die Rohstoffberechnung. Ungültige Kurse verwirft es.

Verfügbarkeit

Bald verfügbar

Das Plugin ist in Vorbereitung für den Shopware Community Store. Preise und Download-Link stehen mit der Freigabe hier.

Auf einen Blick

  • Kurse kommen im eingestellten Takt, ohne dass jemand abtippt
  • Ungültige Kurse fliegen raus, der letzte gültige Kurs bleibt stehen
  • Ein Import aktualisiert den Kurs in allen Kundentypen zugleich
  • Mit Artikelankauf folgt auch dein Ankaufpreis dem neuen Kurs
  • Kein Abruf ohne deine Freigabe, der Schalter steht ab Werk auf aus

Jeden Morgen dasselbe Ritual: Kursseite öffnen, Werte abschreiben, in der Rohstoffberechnung eintragen, speichern. Am Nachmittag das Ganze noch einmal, weil der Markt sich bewegt hat. Mit dem Kursimport VWD holt sich dein Shop die Kurse selbst, aus der Kursdatei deines eigenen VWD-Zugangs.

Das Problem

Die Rohstoffberechnung bildet deine Preise aus dem Kurs, der gerade gespeichert ist. Ist der veraltet, stimmt jeder Preis nicht mehr, der darauf aufbaut. Kurse von Hand nachzutragen ist ein Zeitfresser. Und ein Tippfehler im Kurs landet ohne Umweg im Warenkorb deiner Kunden. Pflegst du mehrere Kundentypen, tippst du denselben Wert sogar mehrfach.

Die Lösung

Das Plugin ruft die Kursdatei unter deiner Daten-URL in einem festen Takt ab, liest das gewählte Kursfeld aus und übergibt die Kurse an die Rohstoffberechnung. Die setzt den Kurs für jeden Rohstoff mit dem passenden Code, in jedem Kundentyp, in einem einzigen Schreibvorgang. Was nicht als gültiger Kurs durchgeht, fliegt raus. Der gespeicherte Kurs bleibt dann einfach stehen.

Was du davon hast

Keine Handarbeit mehr bei den Kursen. Die geplante Aufgabe ruft die Datei alle 5 bis 1440 Minuten ab, ab Werk alle 15 Minuten. Du stellst den Takt einmal ein. Danach musst du dich nicht mehr darum kümmern.

Ein kaputter Kurs macht keinen Nullpreis. Kurse von null, negative Werte und alles, was keine Zahl ist, verwirft der Import. Dein Artikel kostet dann weiter das, was er mit dem letzten gültigen Kurs gekostet hat.

Ein Import, alle Kundentypen. Hast du in der Rohstoffberechnung mehrere Kundentypen angelegt, bekommt jeder Rohstoff mit dem Code aus der Datei den neuen Kurs. Kein Kundentyp bleibt auf dem alten Stand hängen.

Du entscheidest über die Kursbasis. Im Kursfeld wählst du, ob der Letzte Kurs, der Geldkurs oder der Briefkurs übernommen wird. Die Wahl gilt für den ganzen Import.

Kein Abruf, bevor du ihn freigibst. Nach der Installation steht „Kurse bei VWD abrufen“ auf aus. Solange das so bleibt, baut das Plugin keine Verbindung auf, weder über die geplante Aufgabe noch über den Befehl.

Deine Zugangsdaten stehen nicht in der Adresse. Benutzername und Passwort gehen per HTTP-Basic-Authentifizierung mit, getrennt von der Daten-URL. Eine Adresse, in der Zugangsdaten stecken, weist das Plugin ab.

So arbeitet das Plugin

In der Plugin-Konfiguration trägst du im Bereich „Zugangsdaten“ Daten-URL, Benutzername und Passwort ein. Im Bereich „Kursimport“ wählst du Kursfeld und Abrufintervall und schaltest „Kurse bei VWD abrufen“ ein. Ab dann holt die geplante Aufgabe die Datei im eingestellten Takt. Steht kein Protokoll in der Adresse, nutzt das Plugin https://.

Das Plugin erwartet eine Textdatei mit Semikolon als Trennzeichen. Die erste Zeile nennt die Spalten, Pflicht sind #vwdcode, name und das gewählte Kursfeld (last, bid oder ask). Die Währung liest das Plugin aus den Zeichen 4 bis 6 des Codes. Zeilen, deren Spaltenzahl nicht zur Kopfzeile passt, überspringt es und notiert sie im Log.

Jeder Rohstoff, dessen Code in der Datei steht, bekommt Kurs, Währung und Änderungszeit, in jedem Kundentyp. Taucht ein Code auf, den es in der Rohstoffberechnung noch nicht gibt, legt das Plugin ihn einmal im Standard-Kundentyp an. Den Abruf startest du bei Bedarf auch per Befehl: bin/console resourcecalc:vwd:import. Der frühere Name resourcecalcvwd:cron funktioniert weiter.

Typische Einsatzszenarien

Edelmetallhandel mit eigenem VWD-Vertrag. Du verkaufst Barren und Münzen, deren Preis die Rohstoffberechnung aus dem Kurs bildet. Mit dem Plugin kommen die Kurse aus deinem VWD-Zugang alle 15 Minuten herein, und morgens schreibt niemand mehr Werte ab.

Ankauf mit dem Plugin Artikelankauf. Kaufst du Ware von deinen Kunden an und rechnet der Ankaufpreis mit dem Kurs, folgt er nach dem Import dem neuen Kurs. Das haben wir mit beiden Plugins zusammen im Warenkorb eines Testshops nachgeprüft.

Bestandsshop mit Cronjob. Läuft bei dir schon ein Cronjob mit resourcecalcvwd:cron, läuft er nach dem Update unverändert weiter. War vor dem Update eine Daten-URL eingetragen, schaltet das Update den Abruf ein, damit dein Import nicht still stehen bleibt.

Kontrolle vor einer Preisaktion. Du willst sichergehen, dass der Kurs frisch ist? Starte den Befehl von Hand. Die Ausgabe zeigt dir, welche Codes aktualisiert und angelegt wurden und wie viele Kurse der Import verworfen hat.

Technische Fakten für deine IT

  • Shopware ab 6.7.7, PHP ab 8.2. Voraussetzung: Rohstoffberechnung (SwpResourceCalcSix) 6.7, installiert und aktiv; sie verlangt Shopware ab 6.7.7.
  • Keine eigenen Tabellen, keine Änderung an Shopware-Tabellen. Die Kurse schreibt die Import-Schnittstelle der Rohstoffberechnung in deren Kurstabelle, ein Schreibvorgang je Import. Selbst passt das Plugin nur das Intervall seiner geplanten Aufgabe an.
  • Externe Verbindung nur bei eingeschaltetem Abruf: eine HTTP-GET-Anfrage an deine Daten-URL, Zugangsdaten per Basic-Auth. Grenzen je Abruf: 10 Sekunden Timeout, 30 Sekunden gesamt, höchstens 5 MB, höchstens 3 Weiterleitungen.
  • Ohne Protokoll in der Adresse gilt https://. Trägst du http:// ausdrücklich ein, gehen Benutzername und Passwort unverschlüsselt über die Leitung.
  • DSGVO: Das Plugin sendet keine Kunden- oder Bestelldaten. Außer dieser einen Anfrage an deine Daten-URL sendet es keine Daten an externe Server.
  • Das Passwort ist in der Administration maskiert, liegt aber im Klartext in der Systemkonfiguration.
  • Die Einstellungen gelten shopweit, die Kurse haben keinen Verkaufskanal.
  • Geplante Aufgabe swp.resource_calc_vwd.rate_import, sie braucht einen laufenden Worker für geplante Aufgaben. Befehl bin/console resourcecalc:vwd:import, Alias resourcecalcvwd:cron.
  • Keine Storefront-Anteile: Der Abruf läuft im Hintergrund, nie in einem Seitenaufruf deiner Kunden.
  • Eigenes Log: var/log/SwpResourceCalcVwdSix-JJJJ-MM-TT.log mit einer Zusammenfassung je Import, Verbindungsfehlern und übersprungenen Zeilen.
  • Deinstallation: Shopware entfernt die Konfiguration (außer du behältst die Daten) und die geplante Aufgabe. Die importierten Kurse bleiben in der Rohstoffberechnung.

Ehrlich gesagt

Das Plugin liest genau ein Format, die Semikolon-Datei mit Kopfzeile. Kurse mit Dezimalkomma gelten als keine Zahl und werden verworfen. Den Zeitstempel aus der Datei übernimmt es nicht, die Änderungszeit ist die Importzeit. Gespeicherte Produktpreise rechnet der Import nicht neu, das erledigt der Befehl resourcecalc:cron der Rohstoffberechnung. Einen Zugang zu VWD bringt das Plugin nicht mit: Den brauchst du aus deinem eigenen Vertrag, und ob deine Kursdatei so aufgebaut ist, klärst du am besten vor dem Kauf mit deinem Anbieter. Passt beides, probier es aus.

Häufige Fragen

Was brauche ich außer diesem Plugin?

Die Rohstoffberechnung (SwpResourceCalcSix) ab 6.7, installiert und aktiv, und einen eigenen Vertrag mit Zugang bei VWD. Das Plugin enthält keine Kursdaten und keinen Zugang. Für den Abruf nach Zeitplan muss in deinem Shop ein Worker für geplante Aufgaben laufen.

Welche Datei erwartet das Plugin?

Eine Textdatei mit Semikolon als Trennzeichen und einer Kopfzeile mit den Spalten #vwdcode, name und dem gewählten Kursfeld (last, bid oder ask). Kurse erwartet das Plugin mit Dezimalpunkt, die Währung liest es aus den Zeichen 4 bis 6 des Codes. Kläre vor dem Kauf mit deinem Anbieter, ob deine Kursdatei so aufgebaut ist.

Werden meine Produktpreise nach dem Import sofort neu berechnet?

Teilweise. Die Rohstoffberechnung rechnet ab dann mit dem neuen Kurs. Gespeicherte Produktpreise, etwa für Sortierung, Filter und Exporte, aktualisiert der Befehl resourcecalc:cron der Rohstoffberechnung, nicht dieses Plugin.

Was passiert, wenn die Datei nicht kommt oder kaputt ist?

Dann bleiben deine Kurse, wie sie sind. Ist die Daten-URL nicht erreichbar, fehlt eine Pflichtspalte oder ist die Antwort keine Kursdatei, bricht der Import ab und schreibt den Grund ins Log. Einzelne Zeilen mit falscher Spaltenzahl überspringt das Plugin, ungültige Kurse verwirft es.

Kann ich die Kurse je Verkaufskanal unterschiedlich abrufen?

Nein. Die Einstellungen gelten shopweit, weil die Kurse in der Rohstoffberechnung keinem Verkaufskanal gehören. Der Import setzt den Kurs in jedem Kundentyp gleich.

Sendet das Plugin Daten an externe Server?

Nur, wenn du „Kurse bei VWD abrufen“ einschaltest. Dann geht eine Anfrage an deine Daten-URL, mit Benutzername und Passwort per Basic-Auth. Kunden- oder Bestelldaten sendet das Plugin nie, andere Dienste spricht es nicht an.

Mein Shop nutzt schon resourcecalcvwd:cron. Muss ich etwas ändern?

Nein. Der alte Befehlsname funktioniert weiter. War vor dem Update eine Daten-URL eingetragen, schaltet das Update „Kurse bei VWD abrufen“ ein, damit dein Import weiterläuft.

Was passiert bei der Deinstallation mit meinen Daten?

Die importierten Kurse bleiben in der Rohstoffberechnung, eigene Tabellen hat das Plugin nicht. Shopware entfernt die Plugin-Konfiguration und die geplante Aufgabe, die Konfiguration nur, wenn du die Daten nicht behältst.

Funktioniert das mit meinem Theme?

Ja. Das Plugin bringt keine Storefront-Anpassungen mit, es arbeitet nur im Hintergrund.

Kann das Plugin auch JSON, XML oder andere Kursanbieter lesen?

Nein. Es liest genau die Semikolon-Datei mit Kopfzeile von deiner Daten-URL. Für andere Formate oder Anbieter ist es nicht gebaut.

Features im Überblick

  • Schalter „Kurse bei VWD abrufen“, ab Werk aus: ausgeschaltet keine Verbindung zu VWD
  • Abrufintervall 5 bis 1440 Minuten (Standard 15) über eine geplante Aufgabe
  • Kursfeld wählbar: Letzter Kurs (last), Geldkurs (bid) oder Briefkurs (ask)
  • Befehl bin/console resourcecalc:vwd:import für den Cronjob oder den Abruf von Hand
  • Der frühere Befehlsname resourcecalcvwd:cron funktioniert weiter
  • Daten-URL ohne Protokoll wird per https:// abgerufen
  • Zugangsdaten per HTTP-Basic-Auth, eine Daten-URL mit Zugangsdaten wird abgewiesen
  • Grenzen je Abruf: 10 s Timeout, 30 s gesamt, höchstens 5 MB und 3 Weiterleitungen
  • Liest eine Semikolon-Datei mit Kopfzeile: Spalten #vwdcode, name und das gewählte Kursfeld
  • Währung aus den Zeichen 4 bis 6 des Codes
  • Setzt Kurs, Währung und Änderungszeit für jeden Rohstoff mit diesem Code, in jedem Kundentyp
  • Unbekannte Codes legt das Plugin einmal im Standard-Kundentyp an
  • Kurse von null, negativ oder nicht numerisch werden verworfen, der gespeicherte Kurs bleibt
  • Eigenes Log var/log/SwpResourceCalcVwdSix-JJJJ-MM-TT.log mit Zusammenfassung je Import
  • Mit dem Plugin Artikelankauf folgt der Ankaufpreis im Warenkorb dem importierten Kurs
Einrichtung & Pflege

Brauchst du Hilfe bei der Installation?

Wir installieren, konfigurieren und pflegen das Plugin auch dauerhaft, als Teil unserer Shop-Betreuung. Damit es bei Updates nicht plötzlich Schwierigkeiten gibt.

Screenshots

dein-shop.de
Rohstoffberechnung Kursimport VWD | Kurse per Import statt Abtippen. Screenshot 1
Rohstoffberechnung Kursimport VWD | Kurse per Import statt Abtippen. Screenshot 2
Rohstoffberechnung Kursimport VWD | Kurse per Import statt Abtippen. Screenshot 3
Rohstoffberechnung Kursimport VWD | Kurse per Import statt Abtippen. Screenshot 4