Dynamic Currency Sync keeps your Blesta package prices correct in every currency. Whenever Blesta updates its exchange rates, the plugin recalculates prices in your non-base currencies, adds your safety margin and applies the price ending you choose.
Requirements #
-
Blesta 5.0 to 6.x
-
PHP 7.4 or later
-
MySQL 5.7+ or MariaDB 10.2+
-
The free Blesta Topeta Framework v1.1.0 or later
-
A Dynamic Currency Sync license key from your Topeta account
Back up your Blesta database before installing any plugin.
1. Install the Blesta Topeta Framework #
Skip this step if the Topeta Helper plugin is already installed.
-
Download the free Blesta Topeta Framework.
-
Extract the ZIP in your Blesta root folder (the folder that contains
plugins/). It createsplugins/topeta_helper/. -
In Blesta, go to Settings → Company → Plugins → Available and click Install next to Topeta Helper.
2. Install Dynamic Currency Sync #
-
Download
blesta-dynamic_currency_sync-vX.X.X.zipfrom Downloads in your Topeta account. -
Extract the ZIP in your Blesta root folder. It creates
plugins/dynamic_currency_sync/. -
Go to Settings → Company → Plugins → Available and click Install next to Dynamic Currency Sync.
3. Activate your license #
-
Go to Tools → Topeta Helper.
-
Find Dynamic Currency Sync in the list.
-
Paste your license key from Licenses in your Topeta account and click Save License Keys.
-
The status changes to active, and a green PRO badge appears on the plugin’s settings page.
Important: the license is checked when you save it in Topeta Helper. Until you do, the plugin shows “License verification pending” and does not sync prices. If you renew or change your license, open Tools → Topeta Helper and save again.
4. Configure the plugin #
Open Settings → Company → Plugins → Installed → Dynamic Currency Sync → Manage, or Tools → Dynamic Currency Sync. Settings are saved per company.
| Setting | What it does | Default |
|---|---|---|
| Enable Automatic Price Sync | Turns automatic recalculation on or off. | Off |
| Safety Margin (%) | Added on top of the exchange rate. For example, 2.5 adds 2.5%. | 0 |
| Default Rounding Strategy | The price ending used for all currencies. | Standard 2 decimals |
| Target Currencies | The currencies to update. Leave empty to update all non-base currencies. | All |
| Excluded Packages | Packages that keep the prices you set by hand. | None |
| Per-Currency Rounding Overrides | A different price ending for a specific currency. | None |
Buttons #
-
Save Settings saves everything above.
-
Preview (Dry Run) calculates the new prices and shows them next to the current ones, without saving anything.
-
Sync Prices Now recalculates and saves prices immediately.
We recommend running a preview first, then Sync Prices Now, then turning on automatic sync.
How prices are calculated #
New price = base price × exchange rate × (1 + safety margin ÷ 100), then the rounding rule is applied.
Example: a $10.00 package, EUR rate 0.92, 3% margin and the .99 ending gives 10 × 0.92 × 1.03 = €9.48, shown as €9.99.
Rounding rules #
| Rule | Example input | Result |
|---|---|---|
| .99 ending | 12.34 | 12.99 |
| .95 ending | 12.34 | 12.95 |
| .90 ending | 12.34 | 12.90 |
| .49 ending | 12.34 | 12.49 |
| .50 ending | 12.34 | 12.50 |
| Nearest whole number | 12.34 / 12.60 | 12.00 / 13.00 |
| Round up to whole number | 12.01 | 13.00 |
| Nearest 10 | 14.50 / 16.00 | 10.00 / 20.00 |
| Standard 2 decimals | 12.345 | 12.35 |
The ending rules keep the whole-number part and replace the decimals, so 12.34 becomes 12.99, not 13.99.
Terms priced at 0.00 in your base currency always stay at 0.00.
When syncing happens #
-
When Blesta updates exchange rates automatically.
-
When you edit an exchange rate or a currency in Blesta.
-
Once a day through the Sync Prices cron task (Settings → System → Automation), as a backup.
Only catalog package prices change. Existing client services and their renewal prices are never changed.
Staff access #
Go to Settings → Company → Staff → Staff Groups, edit a group, and under Plugins tick Dynamic Currency Sync Main Access.
Audit log #
Each automatic sync is recorded under Settings → System → System Logs.
Troubleshooting #
Prices don’t update when exchange rates change
-
Check that Enable Automatic Price Sync is on.
-
Check that your license is active under Tools → Topeta Helper. If it says “License verification pending”, click Save License Keys once.
-
Check that the currency is selected under Target Currencies, or that the list is empty.
-
Check that the package isn’t in Excluded Packages.
“A valid Topeta Premium License is required”
Your key is missing, expired, on another domain or not yet verified. Open Tools → Topeta Helper and save the key again. If the problem continues, open a support ticket.
Will this change my clients’ renewals?
No. Only prices for new orders are updated.
What if something fails during a sync?
All price changes run in one database transaction. If an error happens, nothing is saved.
Upgrading #
-
Download the new version from your Topeta account.
-
Extract it over
plugins/dynamic_currency_sync/. -
Go to Settings → Company → Plugins → Installed and click Upgrade next to Dynamic Currency Sync.
Need help? #
Open a support ticket from your account. The developers who built the plugin answer it.
