Thanks Martin for hinting at that problem. I'll have a look at the source code and hopefully I'll be able to propose a solution after the weekend.
I still want to emphasise that it is not at all sufficient to handle the reverse charge transactions as tax exempt. At least that is the situation here in Germany but I am confident that the implementation of the relevant EU regulations is very similar in other EU countries.
To me that means we really need to model the complete process with all its features. Otherwise I think it would be very risky to use it in a real world environment since there are a number of potential pitfalls involved on both sides of the transaction.
If the seller fails to add a notice on the invoice declaring the use of the reverse charge taxation then he ows the VAT. That is also the case if the VAT number of the customer is wrong on the invoice. The seller is obliged to check the buyers VAT ID for correctness. If the buyer supplies a wrong ID the seller is still liable when that is used on the invoice.
I may also add that also the buyer needs to be careful. Note that the buyer ows the full VAT amount for the purchased goods even in situations where only a partial refund is possible. This should also be accounted for by the iDempiere reverse charge implementation. So a full implementation of that process also has to take care of the buyer side.
addendum:
> But that can be handled, other than tearing apart different reasons of tax exemption.While I think of it: Under german tax law the vat tax empt reason has always to be declared on the invoice. So each VAT exempt reason at least has to be flagged differently to make that possible. (e.g. Reverse charge, deliveries to schools or other VAT exempt organizations.or deliveries from a Small business (with Kleinunternehmer-Status))
reua...@gmail.com schrieb am Donnerstag, 14. Januar 2021 um 15:48:50 UTC+1:> But that can be handled, other than tearing apart different reasons of tax exemption.I still think that the reverse charge process needs to be flagged as such on the seller side. Note that the invoice is only valid with the referring note and that is exclusive to the reverse charge taxation and does not apply to other reasons for tax exemption.> Do you have an example of this?a) A German Kleinunternehmer receives an invoice for construction work (inland reverse charge taxation case) Then he owes the full VAT amount since the transaction is not VAT free per se. In fact the dept is reversed from the seller to the buyer (hence the name). Since he is not allowed to reclaim the "Vorsteuer" he will have to pay the amount.
b) same when a business with VAT exempt status pays their google ads. (since google sends the invoice from Luxembourg I believe)
We are using parent child tax rates. example Slovak purchase from german company.Tax rate mother 0% (used in document)
- child 1. + 20% Account A (used in c_invoicetax and accounting facts)
- child 2. - 20% Account B. (used in c_invoicetax and accounting facts)
we have on tax rates a field tax rate message, which include necessary texts when tax used. (both sales/purchase)for loading proper tax we are using tax definition connect BP tax group, Product Tax Category, This definition has sequence and apply proper combination. Also we are able to specify tax definition rule based on country group. So if company using idempiere selling/purchasing in EU then we automatically select proper tax rate - usually this is defined for goods and services separately, if any other rule like exclude country in EU or outside eu then define this rule and load proper tax.



Thanks Norbert for the input. This looks like a feasible solution that we could use. Apart from that I am contemplating if it would make sense to introduce a sequence field to the tax rate table. the user could then control the evaluation order of the tax rates and use the first one that fits.
like:1) Germany > Germany -> inland VAT
2) Germany > EU -> reverse charge (with germany included in EU country group)3) Germany > World -> export non taxable
The world group could even include all EU countries. As long as it is evaluated last the right tax rite will be found.
On a side note: I have added a tab tax rate to the tax category window. This makes it much easier to work with the taxation setup.
I also think that for newbies the taxation setup might be easier to understand if the dependency tax category > tax rate were made more obvious through that tab.
hi,this solution able to handle most generic scenarios. tax definition window is for defining sequences.one more thing. I designed, introduced concept for Tax schemas. All tax entities as tax rates, tax groups, tax categories and tax definitions is linked to tax schema, tax schema is attached to accounting schema.For example tenant 1 is germans - using german tax schema, tenant 2. french tax schema etc. On document/client/org you can see only selected tax schema well.I can collect inputs, you can help me document we can supply codes behind if necessary.This concept is working at customers from adempiere times.