A good question was raised in person about taxes handling in GNU Taler so let me put it here.
For now, the Taler Merchant Backend doesn’t embed an internal logic for managing taxes because of the complexity of the topic and considering that this question is already handled by ERPs and e-Commerce platforms.
I would expect the backend to be able to accept a known series of taxes (e.g., per-country and per-product-category VAT percentages). They should be stored, like I believe they are currently, as absolute value in a JSON field.
The Merchant backend UI should indeed make visible the taxes from a legal perspective)
With my experience about taxes in Germany (based on my contribtions to Tryton ERP), I strongly suggest to not open this can of worms. Taxes are soooo complicated, you can not imagine.
For example in Germany VAT depends on (AFAIR):
the product or service
the registered office of the customer: in Germany, in the EU (or associated), other countries
I agree with @htgoebel: determining which tax applies is out of scope for GNU Taler. That must be done by the merchant prior to the purchase.
And regarding @how’s suggestion: GNU Taler communicates the tax details to the customer during purchase, as part of the contract terms, see the definition of a Product in an Order in the merchant API. That is, when a wallet “claims an order” (in the GNU Taler lingo), it will receive the contract terms as a response, potentially containing the tax details per product.
These tax details need to come from somewhere. If the merchant uses GNU Taler’s merchant backend with the included implementation of a product inventory, there the taxes can be defined per product:
(NB: It turns out that GNU Taler’s own point-of-sales app, where a merchant use pre-defined products from a json-file, currently only allows to set a price for a product, but no tax. I have filed a bug.)