Subscriptions, bookings and memberships
Subscriptions, bookings, deposits and memberships all add prices of their own on top of the normal product price: a sign-up fee, a cost per night, a deposit, a member discount. WC Currency Switch converts these so the shopper sees one consistent currency. For example, a monthly box at 20 USD with a 5 USD sign-up fee shows to a shopper in GBP as the converted monthly price and the converted sign-up fee.
How it works#
You enter every amount in your store currency (the currency set in WooCommerce, also called the “base currency”). Where a plugin reads its prices through WooCommerce, the plugin converts them with no extra code. Where a plugin keeps an amount of its own (a sign-up fee, a booking cost, a fixed deposit), WC Currency Switch hooks into that plugin’s own price filter and converts it. Everything is detected automatically.
Check what has been detected on WooCommerce > Currency Switch > Integrations, in the WooCommerce Add-ons group.
Supported plugins#
WooCommerce Subscriptions#
- What works: the recurring price converts like any product price. The sign-up fee is read separately by Subscriptions, so the plugin converts it through Subscriptions’ own sign-up fee filter.
- Renewals: renewal orders are created by WooCommerce Subscriptions. WC Currency Switch has no renewal-specific code, so place a test subscription and process a renewal on a staging site before launch.
- With Settle orders in base currency: the cart and checkout run in your store currency, so new subscriptions are bought in your store currency.
Discounts for WooCommerce Subscriptions#
- What works: fixed discounts work as they are. Percentage discounts on the first payment and on renewals are corrected by the integration, so the discount is not converted twice. The correction uses the plain provider rate, so with a fixed rate, fee or rounding set for a currency, check the discounted price in that currency.
- Limit: the Role-Based Pricing add-on replaces the product price with its stored role price after the plugin has converted it. Products with a role price therefore show in your store currency’s number.
WooCommerce Bookings#
- What works: “From” prices on shop and product pages convert. The live “Booking cost” shown after the shopper picks dates also converts, covering block, person and resource costs.
- Good to know: the live booking cost is calculated in the background. If you are logged in as an administrator or shop manager, that preview stays in your store currency. Test it logged out.
WooCommerce Deposits#
- What works: fixed deposit amounts convert through Deposits’ own multi-currency filter. Percentage deposits and payment plans are worked out from the converted product price, so they are right automatically.
- Limit: none known.
WooCommerce Memberships#
- What works: percentage member discounts. Memberships applies them after the plugin has converted the price.
- Limit: a fixed-amount member discount takes off your store currency’s number from the converted price. A 5 USD discount takes 5.00 off a EUR price, not the EUR equivalent. Use percentage discounts if you sell in several currencies.
YITH WooCommerce Name Your Price#
- What works: the minimum, maximum and suggested prices convert, so the shopper sees a range in their own currency and the plugin checks their amount against that converted range. The amount the shopper types is converted back to your store currency when it is added to the cart. If the shopper switches currency later, the cart amount is worked out again from what they typed.
- Limit: the typed amount is converted back with the plain exchange rate from your rate provider. If the currency has a Fixed Exchange Rate, a Conversion Fee % or rounding on the Pricing tab, the cart price can differ slightly from what the shopper typed. Test with your real pricing rules.
This is YITH Name Your Price. The separate WooCommerce Name Your Price plugin by Kathy Darling is not supported. See Plugins that are not supported.
Examples#
Store currency USD, EUR rate 0.90, no fee, no rounding.
- Subscription: 20 USD a month with a 5 USD sign-up fee shows as 18.00 EUR a month and a 4.50 EUR sign-up fee.
- Deposit: a fixed 50 USD deposit shows as 45.00 EUR. A 25% deposit on a 200 USD product is 25% of 180.00 EUR, also 45.00 EUR.
- Membership, fixed discount: a 100 USD product with a 10 USD member discount shows 90.00 EUR minus 10.00 = 80.00 EUR, not the correct 81.00 EUR. A 10% discount gives the correct 81.00 EUR.
- Name Your Price: with no fixed rate set for EUR, the shopper types 45 EUR. It is stored as 45 / 0.90 = 50 USD and shown back to the shopper as 45.00 EUR.
How to test#
- On a staging site, set a simple Fixed Exchange Rate on WooCommerce > Currency Switch > Pricing so the maths is easy. For Name Your Price and percentage subscription discounts, test again with your real pricing rules, because of the limits above.
- Log out (or use a private window) and switch to the test currency.
- Check the product page, the cart and the checkout for each product type you sell.
- For Bookings, pick dates and check the live booking cost.
- For Subscriptions, place a test order and run a renewal, then check the renewal order’s currency and total.
Related docs#
- Checkout currency options
- Fixed exchange rates
- Plugins that are not supported
- The currency and exchange rate saved on each order