Rate Guard and the margin floor
The two Pro controls that exist for one specific fear: the rate moved overnight and you sold a week of stock below cost.
For a merchant importing in USD and selling in a volatile local currency, the fear is not “I cannot add GBP”. It is “the rate moved 12% overnight and I sold a week’s stock below cost.” These two features exist for that sentence.
Rate Guard
Rate Guard watches the size of a rate movement and, past your configured threshold, holds the new table instead of applying it. Nothing reaches the catalogue until a human approves it.
- Both one-step and cumulative movement are considered, so a rate that drifts 3% a day for four days does not slip under a 10% single-step threshold.
- A held table waits on the Approval tab with the old and new rates side by side.
- Approving applies the exact table you reviewed, stored through the free plugin’s own rate repository, followed by the normal rates-updated event. It does not refetch. A merchant who approves a 12% move must not silently receive a 25% one — that is the precise failure the guard exists to prevent.
- Because approval re-applies a table already on disk, it keeps working while the provider is down.
- Discarding a held table leaves your last known good rates in place.
If Pro is deactivated while a table is held, the held row stays on disk but nothing reads it. The free plugin applies the next update normally, and reactivating Pro finds the hold still waiting.
Minimum margin floor
The floor prevents a calculated selling price from falling below the locked acquisition cost plus your configured minimum margin. It is applied after rate and markup and remains effective after rounding, so a rounding rule cannot round a price back under the floor.
The floor depends on locked acquisition cost. A product with no recorded cost has no floor to enforce — the plugin does not invent one from the current market rate.
Price freezes
A freeze pins chosen products or categories against rate movement entirely. Frozen products are skipped by repricing passes and keep their current price until you unfreeze them.
Use it for a printed catalogue, a contracted price, a campaign with a promised price, or anything where the commercial commitment outranks the exchange rate. If Pro is deactivated while a freeze is active, frozen products rejoin normal syncing on the next pass.
Choosing thresholds
There is no universal number. A practical approach: look at your currency pair’s actual daily movement over the last year, take a value that would have triggered a handful of times rather than weekly, and start there. A guard that fires every day trains you to click Approve without reading, which is worse than no guard at all.