Docs

How shipping costs are converted

4 min readUpdated November 4, 2026

You set up your shipping costs once, in your store currency, as you always do in WooCommerce. WC Currency Switch converts them for shoppers paying in other currencies. If your flat rate is $5.00 and a shopper is paying in EUR, they see the shipping cost in EUR at the cart and checkout, worked out with the same rules as your product prices.

How it works#

When WooCommerce works out the shipping options for a cart, each shipping method adds its rates in your store currency. After all methods have added their rates, the plugin converts each rate’s cost to the shopper’s currency in the same order as product prices:

  1. Cost x exchange rate (or the Fixed Exchange Rate, if you set one for that currency).
  2. Plus the Conversion Fee % for that currency.
  3. Then rounding, with that currency’s Rounding Type and Rounding Target.

All of these are set per currency on the Pricing tab.

Taxes on shipping#

Most shipping methods leave the tax to WooCommerce, which then works it out as a percentage of the already converted cost. If a shipping method adds its own tax amounts to a rate, the plugin converts those amounts too.

Never converted twice#

WooCommerce saves the shipping rates it has worked out in the shopper’s session, so it does not recalculate them on every page. When the shopper switches currency, those saved rates are in the old currency. The plugin notices the currency has changed and clears the saved rates, so WooCommerce works them out again from your store currency and they are converted only once.

Set it up#

There is nothing extra to turn on.

  1. Enter your shipping costs in your store currency under WooCommerce > Settings > Shipping, as usual.
  2. Go to WooCommerce > Currency Switch > Pricing and set the Conversion Fee % and rounding for each currency, if you want them. They apply to shipping as well as products.
  3. Test: switch to another currency, add a product to the cart and check the shipping cost at the cart or checkout.

Examples#

Round Up to .99. Your store currency is USD and the EUR rate is 0.924. A $5.00 flat rate converts to 5.00 x 0.924 = 4.62 EUR. With Round Up and target .99, it shows as 4.99 EUR.

Fee and rounding. A $12.00 rate, with a EUR rate of 0.92, a 2% conversion fee and Round to Nearest with target .99:

  1. Rate: 12.00 x 0.92 = 11.04 EUR
  2. Fee: 11.04 x 1.02 = 11.26 EUR
  3. Rounding: the nearest price ending in .99 is 10.99 (0.27 away), not 11.99 (0.73 away), so it shows as 10.99 EUR.

With Round Up instead, the same rate shows as 11.99 EUR.

Free shipping. A free shipping rate stays at 0 in every currency.

Free shipping minimum. Your free shipping method has a “Minimum order amount” of $50.00. For a shopper in EUR at 0.924, the minimum becomes 46.20 EUR. Minimums use the exchange rate and the conversion fee, but no rounding, so a shopper never misses free shipping because of a rounded number.

Good to know#

  • Rounding applies to shipping. If you round prices to .99, shipping costs end in .99 too. If you would rather not, set the currency’s Rounding Type to None, but note this also affects product prices.
  • Fixed product prices do not affect shipping. A fixed price on a product only replaces that product’s price. Shipping is still converted from your store currency.
  • Settle orders in base currency. With this option on, the cart and checkout are in your store currency, so shipping is not converted there.
  • Instant switching (beta). In Instant mode, shipping costs update on the next page load, not straight away. The cart and checkout always reload, so they are always correct.
  • Store currency. A shopper paying in your store currency sees your shipping costs exactly as entered.
  • Live carrier rates from FedEx, UPS and Royal Mail are converted the same way. See FedEx, UPS and Royal Mail.
  • FedEx, UPS and Royal Mail
  • How converted prices are worked out
  • Price rounding and conversion fees
  • Free shipping minimums, coupons and the price filter