It has been required in a recent post, that the mini-cart and cart displayed 'tax included prices'.
Tax calculation is a 4 dimensitions matrix wich depends on :
- the store fiscal administration or country ;
- the buyers's country or state ;
- the product ;
- the buyer's status as a professional (b2b) or an end user (b2c)
The problem is that, at the time of displaying the mini-cart or cart, only points 1 and 3 and known. The user may still be anonymous, and/or may have a delivery adress that will be known later.
To make things even more difficult, the tax for of a single line of order can depend on another products. I recently ordered a software from an american vendor to Europe. Had I just downloaded the software, the price had be ex-VAT. But I also decided to buy the concrete pack with a cd and a plastic box, and that cost me the VAT on the total amount of the purchase (software + pacakge). As a company, I will be refund this VAT, but if I were an end user, that little CD would have cost me a lot.
So, from a programmer's point of view, displaying the price ex-tax (VAT in Europe) is the right thing to do, especialy if we want Store to work in all the gin joints in all the towns in all the world. Tax can only be known in the final stage.
And the good news is that this is exactly how Store works now.
That said, what about the little guy like you or me, who only wants to sell a normal product to normal custumers in our own country or state ? We would probably prefer to display prices including taxes (or including VAT), because that's what our client will pay.
So we have been discussing this with Gilles, and we come with various ideas.
Templating the mini-cart seems to be to much complication. Store needs to remain simple.
first idea is to provide some way to display a message, like "hey, be carefull, theses prices are ex-vat, be ready to see bigger numbers when you check out"
(for the time beeing you might change the header of the price column in the ressource file, to display a more explicit message like 'ex-vat price' - but using localization files for this kind of purpose is no good practice)
Second idea, we might provide a checkbox like 'cart prices include taxes ?' and let the store admin set what he wants. Again, be aware that this would display a sort of 'default price' that might change at checkout.
Your comments are welcome.