Payments between companies are allowed as net payments (=without tax) under very specific conditions only. The better and safer way is to collect the tax between companies as well. The "vendor-to-admin" payments always seem to be net, don't they?
Let's say the vendor plan costs 29 EUR. Unfortunately, you cannot specify here whether the 29 EUR are net or gross. So we assume net.
If the vendor admin clicks on "Refill balance" and enters 29 EUR, then (e.g. as part of credit card payments) an invoice for 29 EUR will be issued. But: it does not contain any tax.
If you now set a suitable tax_id for the hidden product "Marketplace fees" in the database, EUR 29 plus tax (5.51) will be shown on the invoice as desired. So the invoice looks good.
But: the balance, which was previously -29 EUR, is now not 0, but +5.51 EUR. This means: the tax is wrongly used to refill the balance.
How can you achieve that vendor plans have gross prices and vendors pay the "marketplace fees" gross?
I appreciate any support!