Here I am going to explain how to encode invoice in multi currency. there are two ways to do the that.
- Create Sale Order with Price List
- Direct Create Invoice
Situation arise like https://blueprints.launchpad.net/openobject-addons/+spec/multi-currency-invoice when we do sales order in different currency and want to do invoicing in different currency then we must be able to change the currency of invoice either on created invoice or before creating invoice.
For first situation when we create a invoice from sale order its normal case because everything is calculated based on the price list. lets take an example billow we have created sale order in USD as per the party requirements
for that we required price list in USD, so during encoding sale order it will computer the product value directly in USD.
Here we can see Basic PC which cost 450 in EUR its encoded 620.33 in USD now we create a Invoice from same sale order. which will also looks like as follows.
Now if customer required this invoice in EUR instead of USD then ? before implementing “Change Currency“. it was not possible but now we can change the currency after creating invoice.
After changing currency from USD -> to -> EUR invoice will back to EUR as follows.
On the Confirmation of Invoice multi currency accounting is already implemented like all the accounting will be written in company base currency so no need to worry about that.
we will improve to select the currency rates based on the user required date and not based on current rates.