Price rounding and conversion fees
A straight conversion gives prices like €45.08 or £23.41, which look odd on a shop page. Rounding turns them into tidy prices that end the way you choose, such as €45.99 or £24.00. A conversion fee adds a percentage to every converted price in a currency, for example to cover what your bank or card processor charges you to exchange that currency. Both are set separately for each currency.
How it works#
The plugin first converts the price with the exchange rate, then adds the fee, then rounds. See How converted prices are worked out for the full order.
Rounding Target is the ending you want: .99, .95, .49 or .00 (whole). Think of it as a ladder of allowed prices, one step per whole unit. With target .99 the steps are 21.99, 22.99, 23.99, 24.99 and so on. With .49 they are 22.49, 23.49, 24.49. With .00 they are whole numbers.
Rounding Type decides which step a price moves to:
| Rounding Type | What it does |
|---|---|
| None | No rounding. The price is shown as converted. This is the default. |
| Round Up | Moves to the nearest step at or above the price. A price already on a step stays as it is. |
| Round Down | Moves to the nearest step at or below the price. |
| Round to Nearest | Moves to whichever step is closer. A price exactly halfway between two steps goes down. |
Because there is only one step per whole unit, Round Down can lower a price by almost a full unit, and Round Up can raise it by almost a full unit. For example, 23.40 with target .49 rounds down to 22.49, not 23.49.
Set it up#
- Go to WooCommerce > Currency Switch > Pricing.
- Click the currency to expand its panel.
- Enter a Conversion Fee % (0 to 100, default 0). Leave it at 0 for no fee.
- Choose a Rounding Type (default None) and a Rounding Target (default .99). The target has no effect while the type is None.
- Click Save Changes.
Your store currency’s panel has none of these settings, because store prices are never converted.
Examples#
Rounding the same prices four ways#
Each cell shows the result for that type and target.
| Converted price | Rounding Type | .99 | .95 | .49 | .00 (whole) |
|---|---|---|---|---|---|
| 23.40 | Round Up | 23.99 | 23.95 | 23.49 | 24.00 |
| 23.40 | Round Down | 22.99 | 22.95 | 22.49 | 23.00 |
| 23.40 | Round to Nearest | 22.99 | 22.95 | 23.49 | 23.00 |
| 19.50 | Round Up | 19.99 | 19.95 | 20.49 | 20.00 |
| 19.50 | Round Down | 18.99 | 18.95 | 19.49 | 19.00 |
| 19.50 | Round to Nearest | 19.99 | 19.95 | 19.49 | 19.00 |
| 7.96 | Round Up | 7.99 | 8.95 | 8.49 | 8.00 |
| 7.96 | Round Down | 6.99 | 7.95 | 7.49 | 7.00 |
| 7.96 | Round to Nearest | 7.99 | 7.95 | 7.49 | 8.00 |
| 24.00 | Round Up | 24.99 | 24.95 | 24.49 | 24.00 |
| 24.00 | Round Down | 23.99 | 23.95 | 23.49 | 24.00 |
| 24.00 | Round to Nearest | 23.99 | 23.95 | 24.49 | 24.00 |
A few results worth a closer look:
- 23.40, Round to Nearest, .99: the steps either side are 22.99 and 23.99. 23.40 is 0.41 above 22.99 and 0.59 below 23.99, so it goes to 22.99.
- 19.50, Round to Nearest, .00: 19.50 is exactly halfway between 19.00 and 20.00, so it goes down to 19.00.
- 7.96, Round Up, .95: 7.95 is below 7.96, so the next step up is 8.95.
- 24.00, Round Up, .99: 23.99 is below 24.00, so the next step up is 24.99.
Fee, then rounding#
EUR has a Conversion Fee % of 3 and Round Up to .99. A product converts to €23.00.
- Fee: 23.00 × 1.03 = 23.69
- Rounding: the next step at or above 23.69 is 23.99
The shopper sees €23.99. Without the fee, 23.00 would also round up to 23.99, so in this case the fee is absorbed by the rounding. With a 2% fee, a converted €50.00 becomes 50.00 × 1.02 = €51.00 before rounding.
A currency with no decimals#
JPY is shown with 0 decimal places. At 1 USD = 153.24 JPY, a $10.00 product converts to 10.00 × 153.24 = 1,532.40.
- Round Up to .00 (whole) gives 1,533, shown as ¥1,533.
- Round Up to .99 gives 1,532.99, which is also shown as ¥1,533 because JPY has no decimal places.
For currencies with 0 decimal places, use .00 (whole) so the rounded price is exactly the price shown.
Good to know#
- Rounding works one whole unit at a time. It cannot round to the nearest 10 or 100 (for example to 1,530 or 1,500 yen).
- A price is never rounded below zero. With targets .99, .95 and .49, a price below the first step moves up to it: 0.30 with target .99 becomes 0.99 with any rounding type, even Round Down.
- With target .00 (whole), Round Down or Round to Nearest turns a small price into 0.00: Round to Nearest does this for prices of 0.50 or less, and Round Down for anything under 1.00. Use Round Up if you sell very cheap items in that currency.
- The fee and rounding also apply to shipping costs and fixed-amount coupons. Free shipping minimums, coupon spend limits and the price filter get the fee but no rounding.
- Fixed product prices are never changed by the fee or rounding.
To charge a little extra in one currency without odd-looking prices, combine a small fee with Round Up to .99. The fee raises the price and rounding keeps it tidy.
Related docs#
- How converted prices are worked out
- Fixed exchange rates
- Number format and currency symbols
- Free shipping minimums, coupons and the price filter