Additional source currencies
Running more than one supplier currency across a catalogue, and what happens to those products if Pro goes away.
The free plugin owns one primary foreign source currency, used across any number of products. Pro adds every additional source currency, and lets each product and each variation choose independently among the enabled sources.
When you actually need this
The upgrade threshold here is operational, not artificial. A USD-only importer can stay on the free plugin forever. You need Pro when you have a real second supplier — one product line bought in USD, another in EUR — and pricing them from a single currency would mean converting twice and losing accuracy at both steps.
How it is wired
Pro appends currencies through the free plugin’s public source-currency filter. Every mutation, REST validation, rate fetch and price calculation asks the same single method for the entitled source list, so the boundary cannot be bypassed by posting a value the UI never rendered. Pro cannot remove or reorder the free plugin’s primary source; it can only extend the list.
Changing the primary source currency
If you change the primary while Pro is active, the previous primary is retained as an additional source. Products already anchored to it keep working. The same applies if you change it while Pro is inactive and later reactivate Pro — the old primary is not silently orphaned.
Migrating from a legacy multi-source configuration
If a site somehow carries a multi-source row from an earlier configuration while running only the free plugin, the non-primary entries migrate into Pro when Pro is activated. Nothing is deleted in the meantime.
If Pro is deactivated
Deactivation never deletes or rewrites product metadata. A product anchored to a Pro-only source:
- keeps its source currency, source regular price and source sale price;
- keeps its last written WooCommerce price, so it stays sellable at a sensible number;
- is shown as unavailable in the product editor rather than silently reverting to something else;
- is excluded from repricing passes until the source is enabled again;
- returns to normal on reactivation with no repair step.
Rates for multiple sources
All enabled sources are fetched in one rate table, so adding a second currency does not double your outbound requests. Cross-rates are derived by division from a single base, which is why the plugin works with any store currency rather than only European ones.