Skip Navigation

This thread is resolved. Here is a description of the problem and solution.

Problem:
The client is developing a site using WooCommerce and WPML Multicurrency plugin, with two currencies set: CZK for the Czech Republic and € for Slovakia, each with different VAT rates. The issue arises when the manually set price for € is only applied if the billing address is in the Czech Republic. If the billing address is in Slovakia, a lower price is used due to the different VAT rates.
Solution:
The issue was identified as related to WooCommerce's tax calculation rather than the WPML or WCML plugins. The tax calculation works as follows:
- For the Czech Republic, the price of €23 includes a 21% VAT, calculated by dividing the total price by 1.21 to get the original price without VAT.
- For Slovakia, the original price is then recalculated with a 20% VAT, resulting in €22.8.
This behavior is consistent regardless of whether WPML or WCML plugins are enabled or disabled. The client was advised that this is a standard WooCommerce functionality based on the tax settings for each country.

If this solution does not resolve your issue or seems irrelevant due to being outdated or not applicable to your case, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If the problem persists, please open a new support ticket for further assistance.

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

This topic contains 9 replies, has 2 voices.

Last updated by Kor 10 months, 2 weeks ago.

Assisted by: Kor.

Author Posts
August 2, 2024 at 6:15 pm

jiriP-10

Background of the issue:
I am developing a site using WooCommerce and WPML Multicurrency plugin. I have set up two currencies: CZK for the Czech Republic with a 21% VAT and € for Slovakia with a 20% VAT. I have configured WooCommerce to apply VAT based on the customer's billing address and to include VAT in the entered prices. I manually added prices for the second currency using WPML Multicurrency plugin.

Symptoms:
The manually set price for the second currency (€) is only applied if the billing address is in the Czech Republic. When the billing address is in Slovakia, a lower price is used due to the different VAT rates.

Questions:
How can I ensure that the price I set in WPML Multicurrency plugin is used regardless of the VAT rate applied based on the billing address?

August 2, 2024 at 7:12 pm
August 2, 2024 at 7:22 pm #16034729

Kor
WPML Supporter since 08/2022

Languages: English (English )

Timezone: Asia/Singapore (GMT+08:00)

Thanks for your patience.

Please use this link hidden link to login to the sandbox site. I've installed the WPML and Woocommerce plugin and you can set it up so that the issue can be replicated.

Please let me know how it goes.

August 3, 2024 at 2:02 pm #16035591

jiriP-10

Hello,

I hope you are doing well.

I've set WooCommerce and WPML Multicurrency as it is on my site and the problem is in the sandbox too. You can see how to replicate it in the attached video (no plugins or themes uploaded or set from my side, so the shop is kinda confusing).

Thank you in advance.

Best regards
Jiří Pázler

August 5, 2024 at 4:03 pm #16041008

Kor
WPML Supporter since 08/2022

Languages: English (English )

Timezone: Asia/Singapore (GMT+08:00)

Thanks for your reply.

I guess you left out your screen recording. I've tested it and I cannot replicate this issue as shown in this screen recording hidden link . Could you list the steps to replicate it?

August 5, 2024 at 5:14 pm #16041281

jiriP-10

Hello Kor,

thank you for the reply.

As I've found out, Woocommerce works according to post codes (and sometime even city), so you have to add any Slovakian post code and city after selecting country (Slovakia). For example post code 91701 and city Trnava as I used in the video before.

Thank you in advance and have a nice day!

Best regards
Jiří Pázler

August 6, 2024 at 8:44 pm #16045709

Kor
WPML Supporter since 08/2022

Languages: English (English )

Timezone: Asia/Singapore (GMT+08:00)

Thanks for your reply.

I've checked and are you saying that the price should not display
€22,81 ? But instead, it should still display
€23 ?

here is the screen recording hidden link

August 6, 2024 at 9:52 pm #16045752

jiriP-10

Hello Kor,

thank you for the reply.

Yes, exactly. I set price 23 €, so I'd like to use this price. This price shouldn't be changed according to countries (tax rates), but it should be still the same, because I use adding price with tax. I know, that the price without tax will be different according to tax rate in specific country, but the price with tax should be the same everywhere. So for Czech republic 23 € and for Slovakian republic also 23 €.

I hope I've explained it well.

Thank you in advance and have a nice day!

Best regards
Jiří Pázler

August 11, 2024 at 7:32 pm #16060028

Kor
WPML Supporter since 08/2022

Languages: English (English )

Timezone: Asia/Singapore (GMT+08:00)

Thanks for your reply.

I apologize for the delay in response. I've escalated this to our 2nd Tier Support and I will come back to you once I've feedback.

August 11, 2024 at 7:47 pm #16060034

jiriP-10

Hello Kor,

thank you for the update. Ok, I'll be waiting.

Have a nice day!

Best regards
Jiří Pázler

August 12, 2024 at 4:21 pm #16063199

Kor
WPML Supporter since 08/2022

Languages: English (English )

Timezone: Asia/Singapore (GMT+08:00)

Our 2nd Tier Support has reviewed the issue, and it is not related to our WPML or WCML plugins.

The issue pertains to WooCommerce's tax calculation. Whether you disable WCML and WPML or not, the price of 599 remains 594.05 Kč.

Here’s the breakdown of the tax calculation:

- The store base is Czech, and the 23 price is inclusive of a 21% tax.
- Calculation:
- Original price + 21% tax = 23
- Original price = 23 / (1 + (21/100)) = 19

When you’re in Slovenská republika, the price will include a 20% tax:
- 19 + (19 * 20/100) = 22.8, which is what you are seeing. I've attached the screenshot of the tax setup.

This example is based here hidden link

image (1).png
August 13, 2024 at 8:35 am #16065266

jiriP-10

Hello Kor,

thank you for your reply.

Ok, I understand, I'll try to solve this problem by myself.

Best regards
Jiří Pázler