We have an open issue/feature request for SimpleCart to make it add taxes to the shipping costs. After doing a bit of research, it seems there are two possibilities for handling that VAT, at least for the Netherlands
Add a standard 21% VAT to the shipping costs. In the Netherlands, 21% is the highest VAT rate, so the logic behind that is that it is a safe assumption that is easier to implement than 2.
Calculate the VAT based on the VAT on each product. If you have two products with 6% VAT, and one product with 21% VAT, your shipping costs would be taxed at 6% for 2/3rds, and 21% for the remaining 1/3rd.
To give an example calculation of the second option with 2 6% products and 1 21% product, if the shipping costs are €9, the additional tax on that would be 6% on €6 (€0,36) and 21% on €3 (€0,63) for a total of €0,99 VAT on the shipping costs. With option 1 it would simply be 21% of 9, or €1,89.
While I’m thinking of implementing option 2 (though given the current SC release, option 1 would be a lot easier by simply specifying a VAT rate on the delivery method object), I want to make sure that it is indeed the expected behaviour in other countries and jurisdictions. Can anyone confirm this is also how it should work for their areas?
As above, in the UK, if the item is subject to VAT then the delivery is too.
However, zero rated items do not have VAT applied to the shipping and neither do non-EU deliveries or EU businesses supplying a valid VAT number. Complicated!
Yeah taxes are lovely That’s probably a fairly easy piece of logic to implement though compared to, say, US sales tax which differs per state, county and sometimes even city.
It was not. It came up again just this week for another customer too, they ended up adding shipping as a product so it would follow along the same rules as that.
My solution: Since I have a dynamic shipping module that preselects from the available options, I was able to create a custom placeholder for the total including shipping. I used a similar method on my custom payment processor to add shipping tax to the price before charging. Finally, I created a preHook on the finalize order snippet that actually put the tax into the order totals.