Jump to content
stoycho

Shipping VAT as average VAT of products

Recommended Posts

Hi,

In Switzerland they apply to the shipping cost the average VAT of all the products in the order.

Is it possible to configure PrestaShop carriers/taxes in some way to achieve this, or I have to write some hooks/overrides/modules?


Thanks in advance.

Share this post


Link to post
Share on other sites
1 hour ago, stoycho said:

Hi,

In Switzerland they apply to the shipping cost the average VAT of all the products in the order.

 Is it possible to configure PrestaShop carriers/taxes in some way to achieve this, or I have to write some hooks/overrides/modules?


Thanks in advance.

Can you explain a bit more

 

I can see the VAT rates are

  • Switzerland standard VAT rate: 7.7%.
  • Switzerland reduced VAT rate: 3.8% (Hotels).
  • Further reduced VAT rate: 2.5% (Foodstuffs, books, foodstuffs, water).
  • Exempt from Swiss VAT: insurance, financial services, education, health.

 

So do you mean that if the order is for 1 item at 7.7% and 1 item at 3.8% then the shipping has to be at (7.7+3.8)/2?

 

 

Share this post


Link to post
Share on other sites
1 minute ago, haylau said:

So do you mean that if the order is for 1 item at 7.7% and 1 item at 3.8% then the shipping has to be at (7.7+3.8)/2?

No, not exactly. It depends how much is the amount of the item 1 and item 2 before the tax.

If the amount of item 1 before VAT is 10 and the amount of item 2 before VAT is 100, then the VAT for the shipping would be (( 7.7% * 10 + 3.8% *100) - (10 + 100))/(10 +100) ~ 4.15% (if I didn't make any mistake in my calculs) . The function getAverageProductsTaxRate in Cart.php does the same calculation, I think.

Share this post


Link to post
Share on other sites

Wow, that is weird and complex. I have just tried googling, but I cant see anything like that. Sorry i cant help, good luck

 

 

Share this post


Link to post
Share on other sites

Thanks for the hint, but I have decided to override the getPackageShippingCost method in Cart.php for now.

Maybe later if we have enough time for that we will make something more accurate and consistent with the PrestaShop logic.

Thanks again.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More