View Issue Details

IDProjectCategoryView StatusLast Update
0007696module Country VATGeneralpublic2024-07-12 11:11
Reportermetropolis Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status confirmedResolutionopen 
Product Version1.0.4 
Summary0007696: Price calculation of VAT free orders are wrong when module is activated
DescriptionWhen ordering from EU countries and using a VAT ID to get VAT free orders, the shop should use the VAT from the country in which the shop is located to deduct the VAT.
Instead of this behavior the VAT is deducted with the VAT from the order country.

Example:
Shop is located in Germany, VAT there is 19%
We get an order from Belgium (21% VAT)

We have an item with 119 EUR inkl. VAT
If you are ordering this item with a Valid VAT ID the price should be show with 100 EUR.
With deactivated Country VAT module the price is 100 EUR, after activating the Country VAT module the price is 98,35 EUR.
Steps To ReproduceInstall clean shop CE 6.4.4 and the Country VAT module. Base VAT is set to 19% in the shop settings (standard after installation with German as shop target business country)
Activate a EU Country e.g. Belgium additional to Germany.

Make a test item with 119 EUR price and a test customer account with a valid VAT ID

With deactivated module the price is show with 100,00 EUR, after activating and setting 21% VAT for Belgium,
the price will change to 98,35 EUR.
After deactivating module the price changes to 100 EUR again, so clearly an issue from the Country VAT module.

As the VAT value must be deducted with the % setting in the shop base setting at VAT setting this behavior is wrong and causes wrong prices in the shop
for customers with a VAT ID.



TagsNo tags attached.

Activities

SvenBrunk

2024-07-12 09:15

manager   ~0017247

Our first analysis has revealed that the shop does not fully support this usecase. Indeed should B2B-customers always get the VAT from the shop owners country. Either deducted if the VAT ID given was invalid or only informative if it was valid.
There is a few issues with this: The shop does not (unless using the B2B Edition) know for sure if a customer is a B2B customer. The only indication it currently has, is that the VAT ID is given.
Another aspect we seem to have missed is the 10.000 EUR boundary that a shop owner might want to use. In that case he also would not want the customer country to apply. In the easiest case he might just not use the country VAT module, but it might very well be that he sells different amounts to different countries.

We will take this into account in one of the upcoming versions of the module.
In case you want to adapt this yourself:
We think we can fix this by extending:
https://github.com/OXID-eSales/country-vat-module/blob/1f8fffde5b740327363b63956942042c938d5a07/src/Model/User.php#L22
Adding some check if the user is a B2B customer and in that case returning the country of the shop owner instead of one of the countries of the user might already solve this issue.