Odoo Help


Invoice in a different currency than the Sales Order

Nicolas Lopez
on 11/21/13, 1:00 PM 7,965 views

Hi All

I would like to know hoy to perform the following in OpenERP 7:

1) Create a quotation + sales order in one currency (let's say USD)

2) Invoice the previous sale order in a different currency (EUR)

I already have multicurrency, exchange rates and 2 pricelists (USD and EUR) configured.

The problem is when I perform the invoice from the sales order, OpenERP assumes the same currency must be used. And if I edit the invoice and change the currency, it does not update the amounts based on the currency exchange (if the invoice was USD100, I change the currency of the invoice and remains EUR100).


Nicolas Lopez
On 2/16/16, 8:22 AM

So this is the module requested (and paid) by the company where I work, that solved the issue: account_sale_different_currency

Mehmet Demirel
On 4/16/15, 4:45 PM

I have same problem. This problem is big problem. This problem must be resolved immediately!

Nicholas Hamilton
On 7/23/14, 7:38 PM

I would be moving to a different country.

On 2/16/16, 1:26 AM

 Hi Nicolas Lopez,

W.r.t your query, I have gone through it and tried to replicate it. Few recommendations which I would like to suggest you which might cater to your needs are as follows:-

1) In odoo if you have a Sales Quotation in a particular currency then the whole process of generating invoices(i.e. the Accounting part) would be in the same currency.

2) The reason behind this to keep track and avoid discrepancy of information/Data which is the major function of implementing an ERP

3) Hence, if Sales Quotation is in different currency and customer wants to pay in different one then the only option we have currently is through Customer Payments. Here we can make Customer payments in any currency as per our requirement and to track payments we can either mention Invoice Number or payment ref, so that we can refer back to the payment later.

Hope this helps


Hi Nilim, thanks for your answer. Just a few comments: 1) Yes, that's exactly the issue for this business case, the whole process in the same currency. 2) I do not agree with this statement. If you keep record of the exchange rated used to "translate" from one currency to another, there would be no discrepancy at all. 3) This is not the business case I described, it should be: Quotation in one currency, INVOICE in another currency. Finally the solution was to develop a custom module: now when we create a quotation, we set the currency that will be used for invoicing. Then when the invoice is created, Odoo uses the currency exchange set for that day and sets the amounts of the items accordling. Cheers Nicolas.

Nicolas Lopez
on 2/16/16, 8:16 AM

Hi Nicolas, Hope my answer helped you.As you were of the view that the requirement would need a custom module to be developed hence I would like to convey you that,We are one of the leading provider of Odoo customized modules, hence in case you require any customization feel free to get in touch with us anytime. We will be glad to help you. To get in touch with us you can simply follow the link http://webkul.com/ticket/ Regards Nilim

on 2/16/16, 8:50 AM

Fabrice Henrion (fhe)

--Fabrice Henrion (fhe)--
| 7 7 9
San Francisco, United States
--Fabrice Henrion (fhe)--

Director Odoo Americas

Fabrice Henrion (fhe)
On 11/24/13, 6:28 PM

Could you precise the business scenario where you need to do this because it doesn't sound like something you should do at all. If it was allowed, you would end up with an invoice that refers to an order that is different (because of a different currency). OpenERP doesn't allow that.

If your customer asks you to get an invoice in a different currency than the quotation (or order) you sent him, you should create another quotation (or order) with the correct currency and create the invoice out of that correct quotation (or order).
On the other hand, if your scenario is that your customer got the invoice in USD but is going to pay you in EUR, then what you need is to keep your invoice in USD and create a customer payment in EUR that will reconcile it (which OpenERP supports).

Dear Fabrice, thanks for your answer. The business scenario is very tipical in my country: due to inflation, some companies quote in USD, and when it's confirmed they invoice in local currency using the exchange rate of the invoicing day. Your suggested approach (creating a new quotation/order in local currency when it's confirmed) has a drawback: in my case many times we invoice 50% at the begining of the project, and 50% when it's finished, therefore the currency exchange rate is different for those two invoices.

Nicolas Lopez
on 11/24/13, 9:11 PM

Why can't you invoice in USD and request the payment in local currency? This way it will take the exchange rate into account, even if 50% is paid at the beginning and 50% at the end.

Fabrice Henrion (fhe)
on 11/24/13, 11:30 PM

Just because of the local regulation, invoices must be in local currency. I know it could sound a bit strange for you, but it is what it is. So this kind of operation is very frequent here: quotation in USD, invoice in local currency using the day's exchange rate.

Nicolas Lopez
on 11/25/13, 12:37 AM

This problem is not only for AR, it happens in different countries. For example in Chile is usual to quote in UF, and to invoice in CLP. The difference between these is not so big, but in long contracts, or in properties for example is very useful.

Daniel Blanco
on 9/15/15, 8:34 AM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 11/21/13, 1:00 PM
Seen: 7965 times
Last updated: 2/16/16, 8:22 AM