Kundenservice und Bestellverpackung auf Ihrem Handy - testen Sie die PrestaShop Pocket App 📦

- Aktuelle Wechselkurse der NBP in Ihrem PrestaShop-Shop
- Aktueller NBP-Wechselkurs bei Bestellungen
- Manueller Wechselkurs – für den Kunden sichtbarer Preis
- Alle Vorgänge rund um die Wechselkurse an einem Ort
- Automatisierung im Hintergrund – ein Token, zwei Optionen
- Sicherheit
- Für wen ist PrestaShop NBP gedacht?
- Erleichterungen für Programmierer
- PrestaShop-Hooks
- Technische Anforderungen
Wechselkurse direkt von der NBP – offizieller Feed
PrestaShop bezieht die Wechselkurse standardmäßig aus einer eigenen, externen Quelle, die an den Euro gekoppelt ist – und nichts mit der Polnischen Nationalbank zu tun hat. Unser Modul ersetzt diese durch die offizielle, öffentlich zugängliche Wechselkurstabelle der NBP.
Automatisierung im Hintergrund – URL-Link und CRON
Ein einziges, gesichertes Token unterstützt CRON – es eignet sich sowohl für Shared Hosting als auch für Server mit SSH-Zugriff.
Zusätzlicher, manuell festgelegter Wechselkurs zur Umrechnung des Produktpreises – eine fertige Lösung für die Rechnungsstellung
Unabhängig vom NBP-Wechselkurs können Sie einen zusätzlichen Wechselkurs festlegen, der zur Umrechnung der Produktpreise verwendet wird. Dieser Wechselkurs ist für den Kunden nicht sichtbar. Jede Bestellung in Fremdwährung wird mit dem tatsächlichen NBP-Wechselkurs am Tag des Kaufs gespeichert.

Konformität mit der NBP
Die Wechselkurse werden direkt aus der offiziellen, öffentlichen API api.nbp.pl abgerufen – Tabelle A (Hauptwährungen, täglich) oder B (übrige Währungen, einmal wöchentlich).
Die Standardwährung des Shops wird niemals geändert – ihr Kurs bleibt gemäß den Anforderungen von PrestaShop stets bei 1.
Kontrolle über den Wechselkurs zur Preisumrechnung
Legen Sie einen eigenen, festen Wechselkurs für eine beliebige Währung fest – z. B. für Werbeaktionen oder Tests – mit einer Live-Vorschau der Umrechnung im Browser.
Der Referenzkurs der NBP wird weiterhin im Hintergrund verfolgt, unabhängig vom festgelegten manuellen Kurs.
Kein manueller Aufwand bei Rechnungen
Jede Bestellung in einer Fremdwährung erhält den NBP-Wechselkurs vom Tag des Kaufs oder vom Werktag vor dem Tag des Kaufs.
Dies ist die einzige Funktion dieser Art unter den Wechselkursmodulen für PrestaShop.
- Bei einer Bestellung in Fremdwährung übernimmt das Modul den aktuellen Wechselkurs aus einem zuvor abgerufenen Referenzkurs der NBP – der Checkout stellt keine Verbindung zur NBP her, sodass ein Ausfall der NBP keinen Einfluss auf den Zeitpunkt der Bestellung hat.
- Der aktuelle Wechselkurs überschreibt das Feld „conversion_rate“ der Bestellung in PrestaShop, das für Berichte und Statistiken verwendet wird.
- Der vom Kunden bezahlte Betrag ändert sich niemals – die Daten werden zum Zeitpunkt der Bestellerstellung gespeichert.
- Der vollständige Datensatz wird in eine separate Tabelle übertragen: Wechselkurs aus dem Checkout, tatsächlicher NBP-Wechselkurs, NBP-Tabelle und -Datum sowie Brutto-/Nettobeträge, umgerechnet in die Standardwährung des Shops.
Manchmal möchte der Shop dem Kunden Preise anzeigen, die von der Umrechnung abweichen – beispielsweise für Werbezwecke, Rundungen oder Tests.
- Sie geben denselben Wechselkurs wie die NBP oder einen beliebigen anderen ein.
- Live-Vorschau der Umrechnung im Browser, noch vor dem Speichern.
- Durch Leeren des Feldes wird die automatische Umrechnung anhand der NBP-Wechselkurse wiederhergestellt.
- Der Referenzkurs der NBP ist neben dem Feld stets sichtbar und wird aktualisiert – unabhängig vom eingestellten manuellen Kurs.
- Zwei Angaben werden in die Bestellung übernommen: der NBP-Wechselkurs – für die Buchhaltung – und der manuell eingegebene Wechselkurs – für die Preisberechnung.
Das Modul-Dashboard zeigt jede Währung des Shops in einer Zeile an: den aktuellen NBP-Kurs (Referenzwert), den manuell festgelegten Kurs – für den Kunden sichtbar – sowie einen übersichtlichen Status.
- Aktueller Wechselkurs – unabhängiger, ständig aktualisierter NBP-Wechselkurs, der sogar für Währungen mit manuell festgelegtem Wechselkurs sichtbar ist.
- Für den Kunden sichtbarer Wechselkurs – der Wert, der tatsächlich in die PrestaShop-Variable „conversion_rate“ übernommen wird und die Preise auf der Kundenseite bestimmt.
- Status – Standard, Aktualisiert, Manueller Kurs, Ausgeschlossen oder Inaktiv.
- Die Schaltfläche „Jetzt aktualisieren“ funktioniert immer, unabhängig von der Automatisierung im Hintergrund.

- Option 1 – URL-Link – für Control Panels wie home.pl, OVH, nazwa.pl oder cron-job.org, die Cron-Jobs nur durch Aufruf der Adresse ausführen.
- Option 2 – crontab – fertige Zeile für Server mit SSH-Zugriff.
- Das Token kann jederzeit mit einem Klick ungültig gemacht und ein neues generiert werden.

Zufälliges, erneuerbares Token
Der Link zur automatischen Aktualisierung enthält ein geheimes Token – ohne dieses gibt der Server den Fehler „403 Forbidden“ zurück. Das Token kann jederzeit ungültig gemacht und mit einem Klick im Kontrollpanel ein neues generiert werden.
Zufälliges, wiederherstellbares Token
Der Link zur automatischen Aktualisierung enthält ein geheimes Token – ohne dieses gibt der Server den Fehler „403 Forbidden“ zurück. Das Token kann jederzeit ungültig gemacht und mit einem Klick im Dashboard ein neues generiert werden.
Ein Endpunkt, keine Duplikate
Beide Cron-Optionen (URL-Link und Crontab) führen genau an denselben, gesicherten Ort – es gibt kein separates Skript, das die Token-Überprüfung umgehen könnte.


Buchhaltungsbüros und Shop-Buchhaltung
Fertige, dokumentierte Daten für Rechnungen in Fremdwährung, die den Anforderungen zur Verwendung des NBP-Wechselkurses entsprechen – ohne manuelle Suche nach dem Wechselkurs am Tag der Bestellung.

Test- und Entwicklungsshops
Volle Kontrolle über den dem Kunden angezeigten Wechselkurs, unabhängig vom tatsächlichen NBP-Wechselkurs, der im Hintergrund verfolgt wird – praktisch beim Testen von Preisen und Umrechnungen.
Erleichterungen für Programmierer
- Die gesamte Logik der Wechselkurse befindet sich in unabhängigen Diensten (NbpClient, CurrencyRateUpdater, OrderRealRateApplier) – einfach zu erweitern und wiederverwendbar.
- Spezielle Tabelle „ps_pshownbp_order_rate“ (eine Zeile pro Auftrag) – minimale Belastung der Datenbank, bereit zum Auslesen durch einen eigenen Rechnungsgenerator.
- Durch PHPUnit-Einzeltests abgedeckt – sicheres Vornehmen eigener Änderungen.
PrestaShop-Hooks
- actionValidateOrder – Speicherung des aktuellen NBP-Wechselkurses und der Rechnungsdaten bei der Bestellung.
Technische Anforderungen
Kompatibel mit den aktuellen Versionen von PrestaShop und PHP.
- PrestaShop: 1.7.x, 8.x und 9.x
- PHP: 7.1 oder höher
- Ausgehender HTTPS-Zugriff auf api.nbp.pl – öffentliche, kostenlose API der NBP, ohne Schlüssel und Registrierung
- Keine externen Abhängigkeiten – es sind keine zusätzlichen Bibliotheken erforderlich

-----
* Fix: `OrderRealRateApplier::apply()` now checks the excluded-currencies list — an excluded
currency is left completely untouched, including a rate that was cached before it got excluded.
* Fix: excluding a currency (or leaving its manual-rate field blank on submit) no longer silently
discards a previously-saved manual rate for a *different*, still-excluded currency.
* Fix: `saveManualRates()` now validates the cached reference rate (numeric, > 0) before writing
it to `Currency::conversion_rate`, matching the same guard already used elsewhere.
* Fix: `Db::insert()`/`Db::update()` now pass `$null_values = true` — an empty
`nbp_effective_date` was being stored as `''` instead of `NULL`, which fails under strict SQL
mode against the `DATE NULL` column and silently dropped the whole audit write.
* A failed cron sync (NBP unreachable, or no default currency configured) is now logged via
`PrestaShopLogger` and answers with a non-200 HTTP status, instead of a silent HTTP 200 —
previously nothing told the seller the cron had stopped working while orders kept getting an
increasingly stale cached rate.
* Replaced `PSHOWNBP_LAST_SYNC_SUMMARY` (a pre-rendered, already-translated string) with
`PSHOWNBP_LAST_SYNC_STATS` (raw numbers) — the "last sync" summary is now built in the current
viewer's admin language every time the page renders, instead of being frozen in whichever
language was active when the sync ran (an issue for cron-triggered syncs).
* Source strings for `trans()`/`{l s=}` are now English (translated PL/EN via the usual
`translations/*.php` files), matching the convention used by the module's other language files.
* `composer.json`'s `test` script no longer depends on PHPUnit (not present in the CI's
`--no-dev` build) — added `tests/run.php`, a dependency-free integration test that
actually runs in CI, covering `CurrencyRateUpdater::run()` and `OrderRealRateApplier::apply()`.
The PHPUnit suite stays available for local development via `composer run test:unit`
(equivalent to the existing `composer run phpunit`).
* Fixed a PHP 7.4-only typed property in a test file that failed to parse on the declared PHP 7.1
minimum.
* Fix: `Currency::resetStaticCache()`, used to make the new multistore sync loop below work
correctly, doesn't exist before PrestaShop 1.7.4.0 — calling it directly would fatal on the
1.7.0.0–1.7.3.x range this module declares support for. Now guarded with `method_exists()`.
* Multistore: a single cron hit now syncs every active shop, not just whichever shop's domain
received the request — `conversion_rate` and the reference-rate cache are per-shop, so one
shop's sync could otherwise never refresh another's. Excluded currencies and manual rates are
also independent per shop. The cron secret, the "auto update" switch and the NBP table choice
remain a single, installation-wide setting. `Order`-side behaviour is unaffected —
`OrderRealRateApplier::apply()` already runs in the placing order's own shop context, so it
always reads that shop's own reference rate. The "Update now" button is unchanged — it still
only syncs the shop currently selected in the admin, matching the rates table shown right below
it on the same page.
## 1.2.1 - 2026-09-04
-----
* Fix: `pshownbp_order_rate.nbp_effective_date` now stores the actual NBP-published date of the
applied rate table, instead of the date the sync happened to run on — the two could differ
after a weekend/holiday or when cron fires before NBP's daily publication.
* Checkout is now resilient to any unexpected error while recording the real-rate audit data
(e.g. a database hiccup) — the order is always saved normally; the error is only logged.
* The suggested crontab example moved from 8:30 to 13:00 — NBP typically publishes Table A by
12:15, so an earlier cron run was silently fetching the previous business day's rate.
## 1.2.0 - 2026-09-02
-----
* New: when an order is placed in a currency other than the shop's default one, the module
overwrites `Order::conversion_rate` with the real NBP reference rate (never the seller's manual
display rate) and records a full audit trail in the new `pshownbp_order_rate` table — checkout
vs. real rate, NBP table/date, and gross/net totals converted to the default currency, ready for
invoicing. The amount the customer paid never changes.
* Checkout never makes a live call to NBP — the real rate is read from the already-cached
reference rate kept fresh by "Update now"/cron, so a slow or unavailable NBP cannot affect
checkout time.
* Both cron delivery options (URL link and real crontab) now hit the exact same token-protected
front controller — no separate standalone script to keep in sync.
* Extracted all remaining inline CSS/JS from admin templates into dedicated files.
* In-admin manual (PL/EN) and README updated to document the new feature.
## 1.1.0 - 2026-08-19
-----
* New "Rate visible to customers" column on the main "Currency rates" table: type your own rate
(e.g. "4.5" for EUR, meaning 1 EUR = 4.5 PLN) and it's converted live, in the browser, to the
PrestaShop `conversion_rate` that actually applies on the storefront.
* The "Current rate" column now also shows the reciprocal (1/rate) next to the raw PrestaShop
value, so it reads in both directions at a glance.
* The automatic NBP sync (button and cron) keeps tracking the real market rate as a reference
even for currencies with a manual rate set — it just stops overwriting the applied rate for
those, until the manual rate is cleared.
* Extracted the last remaining inline `` blocks (main page, in-admin manual) into
dedicated CSS files — no CSS/JS left inline in templates.
* Added a module sanity test suite (`ModuleTest`) matching the other PrestaShow modules.
## 1.0.0 - 2026-08-18
-----
* init module
* Fetch currency exchange rates directly from the official NBP (Narodowy Bank Polski) API,
replacing PrestaShop's default EUR-anchored external feed.
* Manual "Update now" button plus optional cron/HTTP automation with a secret-token link.
* Per-currency exclusion list; default shop currency is never touched (its rate always stays 1).
* Status table showing every shop currency's current rate and update state.
* PL/EN in-admin manual and translations.
Technische Anforderungen
Technische Voraussetzungen
- PHP 7.1 - 8.x
- Server-Erweiterung ionCube Loader
- Nur PrestaShop Importer: PHP libxml Version > 2.9.3
- Nur PrestaShop Facebook Integrator: PHP 7.2 oder höher
- Nur für PrestaShop VAT Validator: PHP SOAP
Mehr zu den technischen Anforderungen in der Wissensdatenbank
Unterstützung = Updates + HelpDesk
Sie erhalten 90 Tage (3 Monate) Zugriff auf das komplette PrestaShow-Supportpaket.
Modul-Aktualisierungen
Die Module informieren Sie über verfügbare Updates. Lesen Sie das Änderungsprotokoll und führen Sie ein 1-Klick-Modul-Update direkt von Ihrem Shop aus durch.
HelpDesk-Bereich
Dies ist der Bereich, in dem wir Ihnen Hilfe anbieten. Im HelpDesk können Sie Probleme melden, kostenlose Modulinstallationen und -updates bestellen sowie Änderungen und individuelle Entwicklungsarbeiten in Auftrag geben.
Support verlängern
Nach Ablauf des Supports können Sie das Modul ohne Einschränkungen nutzen. Sie können Ihren Zugang zum Support jederzeit verlängern, wenn Sie ihn benötigen.
Wissensdatenbank & FAQ
Für immer kostenlos
Die Wissensdatenbank ist für jeden zugänglich. Hier finden Sie die Modul-Dokumentation sowie Anleitungen, Videos und Antworten auf häufig gestellte Fragen.
Lebenslange Lizenz für das Modul
- Sie können das Modul ohne Einschränkung für 1 Shop = 1 Domain nutzen.
- Sie können eine zusätzliche Domain nutzen, z.B. für eine Entwicklerkopie.
- Gegen eine geringe Gebühr können Sie die Domain für das Modul selbst ändern.
Zusätzliche Domains für Multistore
- Alle unsere Module unterstützen PrestaShop Multistore.
- Unterstützung für eine unbegrenzte Anzahl von Domains für PrestaShop Multistore erfordert den Kauf von Multistore-Unterstützung für das Modul.
Ändern des Codes
- Der Modulcode in Bezug auf die Integration mit dem Shop und das Design (.tpl, .css, .js) ist Open Source und kann von Ihnen frei verändert werden.
- Der Quellcode des Moduls (.php) ist mit ionCube verschlüsselt und eine Änderung führt zum Erlöschen der Garantie.
Demo
Demo - Testen Sie das Modul
- Dieses Modul verfügt nicht über einen Demo-Shop
Noch keine Einträge.










Im Moment liegen noch keine Kundenrezensionen vor.