Support invoice payment and deposit with currency exchange
First we support reconciliation based on amount of secondary currency by creating currency exchange move for the difference in company currency. Then we enforce to pay the invoice always in its currency and base on the amount in the invoice currency to manage write-off of the payment if needed (and let the reconciliation creates the exchange rate move).
For the deposit we limit the recall to only account with the same currency and we use the amount in second currency when needed to compute the deposit amount to use.
Closes #11500 (closed), #4922 (closed)
Edited by Cédric Krier