Post by marvinkleinmusic » Wed Feb 20, 2019 10:09 pm

Hey there,

I could not find any posts regarding my issue, if there are any, please link them.

I have an issue with the calulation of taxes based on the shipping address. I've tested this issue in 2.2.0, and 3.0.2.

We are shipping to EU customers and a few not EU customers (e.g. Switzerland). People from Switzerland are not paying any taxes, while EU customers do.

Sometimes we get a call from the non EU customers and they want to change their order (e.g. wrong payment address). When I edit the order now, the edit mechanism will add taxes to his order on the last screen of editing.

It seems that Opencart calulates them from my session login but it should take the country and zone_id from the edited order itself to determine whether the customer should pay taxes or not.


Sat Nov 17, 2018 3:32 am

Post by OSWorX » Wed Feb 20, 2019 11:48 pm

Well, you did not specify from which Country you are selling, but I assume Germany (or at least inside the EC).

But also Swiss customers have to pay a tax, called there 'Bezugssteuer' (like a Reverse Charge, especially from Germany).
Second, if the Geozone is correct (the customer is assigned to), and his address is within this defined Geozone, the further calculations are made correct.
Third, further Taxrate and Taxclass with 0 Tax has to be defined.
Fourth, this customer has to be assigned to the customergroup which has to be defined (e.g.Taxfree) for not paying taxes.

Finally, editing an existing order and the tax calculation is made in the defined and assigned (Geozone, Taxclass and Taxrate) values.

Just tested that - and works as described.
No session based calculation, only value based.

Just a side note: calculating taxes based on shipping address is completely wrong.
Case: Customer has his living address in Germany.
But he is registered in Switzerland.
He now want to buy somenthing from you.
And deliverd to his address in Germany.

Based on your prior logic, you have to calculate the tax.
Wrong, his payment address is Switzerland, Germany is only his delivery address.

Assume case 2: same customer.
But now he want the shipping to Sitzerland to his home address.
After your prior logic, you have no tax to calculate.

But before you have added the tax to the same customer, only because the shipping address was Germany.
If you can declare these 2 cases your Finanzamt and pay no punishment after all .. you are lucky.

So, tax calculations have to be made always on the payment address, never shipping address.

Forum Rules [en]: viewtopic.php?f=176&t=200480
Forumregeln [de]: viewtopic.php?f=37&t=114208
Commercial Request: viewforum.php?f=88

Image Image Image

User avatar
Guru Member


Mon Jan 11, 2010 10:52 pm
Location - Austria

Post by fringi » Fri Feb 22, 2019 5:42 pm

OSWorX wrote:
Wed Feb 20, 2019 11:48 pm
But also Swiss customers have to pay a tax, called there 'Bezugssteuer'
Just tested that - and works as described.
No session based calculation, only value based.
You are providing false information.
In Germany the tax basically follows the so-called "Bestimmungslandprinzip", i.e. taxation should take place in the country of consumption.
So i have to calculate the tax on the shipping destination(country of consumption).

Also i doubt that you tested it, this is a know issue to me, if you set up the shop with, tax by shipping address, set up the tax for e.g. Switzerland to 0% and edit an order at the Adminpanel, this order will end up with 19% tax.



Tue Feb 17, 2015 5:57 pm
Location - Germany
Who is online

Users browsing this forum: No registered users and 5 guests