Zum Inhalt springen
Tägliche Währungsupdates: EZB-Kurse automatisch im Shop, Plugin-Icon
Shopware 6 Bald verfügbar

Tägliche Währungsupdates: EZB-Kurse automatisch im Shop

Wechselkurse von Hand nachzupflegen kostet jeden Tag Zeit. Das Plugin holt die offiziellen EZB-Referenzkurse und schreibt sie in jede passende Währung deines Shops.

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 aktualisieren sich einmal täglich von selbst, du machst gar nichts
  • Offizielle EZB-Referenzkurse statt geschätzter Werte aus dem Netz
  • Du legst die Uhrzeit fest, jede volle Stunde von 00:00 bis 23:00
  • 29 Fremdwährungen liegen nach der Installation fertig im Shop
  • Sofort-Update per Klick, wenn du nicht bis morgen warten willst

Der Dollar steht heute anders als gestern, der Franken auch. In deinem Shop steht er noch auf dem Wert von letzter Woche. Wer international verkauft, pflegt die Umrechnungsfaktoren entweder regelmäßig von Hand nach oder lebt damit, dass die Preise in Fremdwährung schief liegen.

Das Problem

Shopware rechnet Fremdwährungen über einen festen Umrechnungsfaktor pro Währung. Den trägt einmal jemand ein. Danach altert er still vor sich hin. Ein paar Wochen alte Kurse bedeuten je nach Marktlage ein paar Prozent weniger Marge oder Preise, die deutlich über dem Wettbewerb liegen. Auffallen tut das meistens erst, wenn ein Kunde nachfragt oder die Buchhaltung stutzt.

Die Lösung

Das Plugin holt die offiziellen Euro-Referenzkurse der Europäischen Zentralbank und schreibt sie in den Umrechnungsfaktor jeder Währung deines Shops, deren ISO-Code in der EZB-Liste steht. Einmal am Tag, zu einer Uhrzeit, die du selbst festlegst. Der Euro bleibt die Basis mit dem Faktor 1,0. Installieren, aktivieren, fertig: Der erste Kursabruf läuft schon beim Aktivieren.

Was du davon hast

Du pflegst keine Kurse mehr von Hand. Kein Blick auf ein Kursportal, kein Übertragen von Zahlen in die Währungsverwaltung, keine vergessene Woche. Das Plugin macht das jeden Tag, auch wenn niemand daran denkt.

Deine Preise beruhen auf einer Quelle, die niemand anzweifelt. Die EZB veröffentlicht ihre Euro-Referenzkurse an jedem Bankarbeitstag öffentlich. Wenn ein Kunde oder dein Steuerberater fragt, woher der Kurs kommt, hast du eine Antwort in einem Satz.

Du bestimmst, wann aktualisiert wird. Wähle eine volle Stunde zwischen 00:00 und 23:00 Uhr Serverzeit. Standard ist 06:00 Uhr, also früh genug vor dem Verkaufstag. Wenn nachts mehr Ruhe auf deinem System herrscht, leg es dorthin.

Fremdwährungen sind sofort da. Bei der Installation legt das Plugin 29 international gehandelte Währungen an, sofern sie im Shop noch fehlen: USD, GBP, CHF, JPY, SEK, PLN und weitere, jeweils mit ISO-Code und Symbol. Vorhandene Währungen bleiben unangetastet, Dubletten entstehen keine.

Ein Klick, wenn es schnell gehen muss. In der Konfiguration sitzt der Button “Währungen aktualisieren”. Er stößt den Abruf sofort an, ohne auf den nächsten Tageslauf zu warten. Praktisch vor einer Preisprüfung oder direkt nach der Installation.

Für die IT ist es ein kleines Plugin. Ein ausgehender Aufruf pro Update, keine personenbezogenen Daten, keine eigene Datenbanktabelle und kein zusätzlicher Query im Checkout.

So arbeitet das Plugin

Ein geplanter Task wacht einmal pro Stunde auf und prüft, ob deine eingestellte Uhrzeit erreicht ist. Ist sie es und lief heute noch kein Update, lädt er die EZB-Datei eurofxref-daily.xml, liest die Kurse aus und schreibt den Faktor auf jede Währung mit passendem ISO-Code. Jeder weitere Aufruf an diesem Tag tut nichts und kostet keine Verbindung nach außen. Währungen, die die EZB nicht führt, bleiben unverändert stehen.

Zusätzlich zum Tageslauf gibt es zwei manuelle Wege: den Button in der Plugin-Konfiguration und den Konsolenbefehl “bin/console swp-ecb:currency”, den du in einen eigenen Cronjob oder ein Deployment hängen kannst. Alle drei Wege benutzen dieselbe Logik, es gibt also keine zweite Wahrheit im System.

Typische Einsatzszenarien

Shop mit Schweizer und britischen Kunden. CHF und GBP schwanken gegenüber dem Euro spürbar. Statt einmal im Quartal nachzujustieren, laufen beide Kurse jede Nacht mit.

B2B-Händler mit USD-Preisliste. Deine Kunden in den USA sehen Preise, die auf dem Kurs von heute Morgen beruhen, nicht auf dem aus dem letzten Katalog.

Shop mit skandinavischen Verkaufskanälen. SEK, NOK und DKK werden gemeinsam mit allen anderen Währungen im selben Lauf aktualisiert, ohne dass jemand drei Kurse einzeln abschreibt.

Händler mit eigenem Deployment-Rhythmus. Der Konsolenbefehl hängt sich an deinen bestehenden Cronjob, wenn du den Shopware-Scheduler nicht dafür nutzen willst.

Technische Fakten für deine IT

Shopware 6.7, PHP 8.2 oder neuer, benötigt die PHP-Erweiterung SimpleXML. Das Plugin legt keine eigene Datenbanktabelle an und verändert keine Shopware-Tabellenstruktur. Es schreibt ausschließlich das Standardfeld “Faktor” der Währung über die Data Abstraction Layer und legt bei der Installation fehlende Währungen als reguläre Shopware-Datensätze an.

Externe Verbindungen: genau eine, ein HTTPS-GET auf die öffentliche Kursdatei der EZB unter www.ecb.europa.eu, ohne Zugangsdaten und mit einem Timeout von 20 Sekunden. Es werden keine Daten an die EZB gesendet und keine personenbezogenen Daten verarbeitet, gespeichert oder geloggt. Wer den Abruf ganz unterbinden will, schaltet den Hauptschalter oder die tägliche Aktualisierung aus, dann geht kein Aufruf mehr nach außen.

Kursdaten aus der Quelle werden geprüft, bevor sie im Shop landen: negative, nicht endliche und unplausibel große Werte werden verworfen. Ein Ausfall der EZB-Seite wird abgefangen und protokolliert, weder der Message-Worker noch der Shop stoppen deswegen. Das manuelle Update hängt an einem eigenen Recht in der Rechteverwaltung, ohne dieses Recht bleibt der Button gesperrt. Storefront-Templates werden nicht überschrieben, es gibt keine zusätzliche Abfrage im Checkout, und der Kursabruf läuft im Hintergrund, nicht im Kundenrequest.

Ehrlich gesagt

Die EZB veröffentlicht ihre Referenzkurse nur an Bankarbeitstagen. Am Wochenende und an Feiertagen bleibt der Kurs vom letzten Werktag stehen, das ist so gewollt und lässt sich nicht beschleunigen. Wer handelsgenaue Kurse im Sekundentakt oder eigene Auf- und Abschläge pro Währung braucht, ist mit diesem Plugin nicht gut bedient: Es schreibt den Referenzkurs, nichts anderes.

Die automatische Aktualisierung setzt einen laufenden Scheduled-Task-Worker voraus. Läuft keiner, bleibt der Button oder der Konsolenbefehl. Und die 29 mitgelieferten Währungen tragen englische Bezeichnungen wie “US Dollar” in der Systemsprache deines Shops. Wenn dir das nicht passt, benennst du sie in der Währungsverwaltung um, das Plugin fasst den Namen danach nicht mehr an.

Wenn du Wechselkurse heute noch von Hand pflegst, probier es einfach aus.

Häufige Fragen

Woher kommen die Kurse?

Aus der offiziellen Datei eurofxref-daily.xml der Europäischen Zentralbank. Das ist dieselbe Quelle, die auch Banken und Behörden als Referenz nutzen. Basis ist immer der Euro mit dem Faktor 1,0.

Wie oft wird aktualisiert?

Einmal pro Tag, zu der Uhrzeit, die du in der Konfiguration einstellst. Der geplante Task schaut stündlich nach, ruft die EZB aber nur einmal täglich ab. Alle anderen Aufrufe tun nichts.

Brauche ich dafür einen laufenden Worker?

Ja, für die Automatik. Der geplante Task läuft nur, wenn Shopwares Scheduler beziehungsweise die Message Queue verarbeitet wird. Ohne Worker aktualisierst du über den Button in der Konfiguration oder über den Konsolenbefehl.

Was passiert mit Währungen, die die EZB nicht führt?

Die bleiben unverändert. Das Plugin schreibt den Faktor nur auf Währungen, deren ISO-Code in der EZB-Liste steht. Alles andere fasst es nicht an, auch selbst angelegte Währungen nicht.

Überschreibt das Plugin meine bestehenden Währungen?

Nur den Umrechnungsfaktor, und nur bei den Währungen, die die EZB führt. Namen, Symbole, Rundungsregeln und Verkaufskanal-Zuordnungen bleiben so, wie du sie eingerichtet hast.

Kann ich das Plugin pro Verkaufskanal abschalten?

Den Hauptschalter stellst du pro Verkaufskanal ein. Wichtig zu wissen: Die Kurse selbst sind in Shopware eine shopweite Einstellung. Ein aktualisierter Faktor gilt deshalb immer für alle Kanäle, die diese Währung nutzen.

Sendet das Plugin Daten an externe Server?

Es ruft genau eine öffentliche Datei bei der EZB ab und sendet dabei keine Daten von dir mit. Keine Kundendaten, keine Bestelldaten, keine Statistik. Alles andere bleibt in deiner Shopware-Datenbank.

Was passiert bei der Deinstallation mit meinen Währungen?

Die Währungen bleiben im Shop stehen, samt der zuletzt geschriebenen Faktoren. Das ist Absicht: Preise, Bestellungen und Kanäle hängen daran. Nicht mehr benötigte Währungen entfernst du in der Währungsverwaltung selbst.

Funktioniert das mit meinem Theme?

Ja. Das Plugin bringt keine eigenen Storefront-Templates mit und überschreibt keine. Es arbeitet ausschließlich auf den Währungsdaten, die dein Theme ohnehin schon anzeigt.

Bremst das meinen Shop aus?

Nein. Der Abruf läuft im Hintergrund über den geplanten Task, nicht im Kundenrequest. Im Checkout und auf Produktseiten entsteht keine zusätzliche Abfrage.

Kann das Plugin auch eigene Auf- oder Abschläge auf den Kurs rechnen?

Nein. Es schreibt den EZB-Referenzkurs, nichts anderes. Wer mit einem Risikoaufschlag pro Währung kalkuliert, braucht dafür eine eigene Lösung oder pflegt die betroffene Währung weiter von Hand.

Wer darf das manuelle Update auslösen?

Nur Benutzer mit dem passenden Recht. Das Plugin bringt ein eigenes Recht in der Rechteverwaltung mit. Fehlt es, ist der Button sichtbar, aber gesperrt, und ein Hinweis erklärt warum.

Features im Überblick

  • Tägliche Aktualisierung der Wechselkurse aus den offiziellen EZB-Referenzkursen (Basis Euro)
  • Uhrzeit frei wählbar, jede volle Stunde von 00:00 bis 23:00 Uhr Serverzeit, Standard 06:00
  • Button "Währungen aktualisieren" in der Konfiguration für ein sofortiges Update
  • Konsolenbefehl bin/console swp-ecb:currency für eigene Cronjobs und Deployments
  • Erster Kursabruf läuft automatisch beim Aktivieren des Plugins
  • Hauptschalter zum Abschalten des Plugins, je Verkaufskanal einstellbar
  • Schalter "Tägliche Währungsupdates" trennt Automatik und rein manuelle Pflege
  • 29 international gehandelte Währungen werden bei der Installation angelegt, falls sie fehlen
  • Vorhandene Währungen bleiben unangetastet, es entstehen keine Dubletten
  • Nur Währungen mit passendem ISO-Code werden aktualisiert, alle anderen bleiben stehen
  • Eigenes Recht für das manuelle Update, ohne Berechtigung bleibt der Button gesperrt
  • Rückmeldung in der Administration nach jedem manuellen Update, mit Fehlertext bei Problemen
  • Fehler beim Abruf werden protokolliert und stoppen weder den Worker noch den Shop
  • Unplausible Kurswerte aus der Quelle werden verworfen, bevor sie im Shop landen
  • Oberfläche und Hilfetexte in Deutsch, Englisch und Niederländisch
Live testen

Im Demo-Shop ausprobieren

Statt Screenshots: Plugin direkt im Frontend und Backend eines echten Shopware-6-Shops sehen.

sw6plugindemo.bui-demo.com
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.

Plugin-Insider DACH

Plugin-Updates direkt ins Postfach

Neue Releases, Kompatibilitäts-Hinweise, „Stack des Monats". Eine Mail pro Monat.

Mit dem Klick stimmst du der Zusendung zu (Art. 6 Abs. 1 lit. a DSGVO). Jederzeit abbestellbar. Mehr in der Datenschutzerklärung.

Screenshots

dein-shop.de
Tägliche Währungsupdates: EZB-Kurse automatisch im Shop. Screenshot 1
Tägliche Währungsupdates: EZB-Kurse automatisch im Shop. Screenshot 2
Tägliche Währungsupdates: EZB-Kurse automatisch im Shop. Screenshot 3
Tägliche Währungsupdates: EZB-Kurse automatisch im Shop. Screenshot 4
BuI Insights

Plugin-Updates & Praxistipps direkt ins Postfach

Release-News zu unseren Shopware-Plugins, Kompatibilitäts-Hinweise und Best Practices aus dem Plugin-Alltag. Ein Mal im Monat, jederzeit abbestellbar.

Mit dem Klick stimmst du zu, dass wir dir den Newsletter zusenden dürfen (Art. 6 Abs. 1 lit. a DSGVO). Mehr in der Datenschutzerklärung.