openerp-expert-accounting team mailing list archive
-
openerp-expert-accounting team
-
Mailing list archive
-
Message #02200
[Bug 452854] Re: Cannot validate invoices with foreign currency
Hi I had this issue.
Would this be appropriate:
if abs(amount) dp.get_precision('Account'):
--
You received this bug notification because you are a member of OpenERP
Accounting Experts, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/452854
Title:
Cannot validate invoices with foreign currency
Status in Odoo Addons (MOVED TO GITHUB):
Opinion
Bug description:
Hello,
have stumbled upon interesting problem. Latvian Lats (LVL) is the base currency for Accounting. Try to issue (or encode received from supplier) invoice in Euros(EUR). The same would happen between any other currencies too.
Invoice totals:
Total w/o VAT (Untaxed): 1158,00 EUR
Tax VAT 21% : 243,18 EUR
Total: 1401,18 EUR
Try to Confirm invoice and you will get "You can not validate a non
balanced entry !"
Made some investigation what is wrong, and have found that the problem
is.
Obviously the totals are calculated perfectly right, but as the base
currency for accounting is different from the currency we are issuing
invoice the accounting moves are done in the base currency, in this
case LVL.
So goes the currency exchange
Total w/o VAT (Untaxed): 1158,00 EUR ->(813,8470320 ~813,85 LVL)
Tax VAT 21% : 243,18 EUR ->(170,9078767 ~170,91 LVL)
Total: 1401,18 EUR ->(984,7549087 ~984,75 LVL)
Which again are technically right, with one difference, that the
totals for posting are now not dependent on each other anymore. They
are being rounded before posting.
If you would issue invoice in a base currency the difference is in 0.01LVL, which is lost during rounding process. Notice the Total sum.
Example:
Total w/o VAT (Untaxed): 813,85 LVL
Tax VAT 21% : 170,91 LVL (VO_VAT * 21% = 170,9085000)
Total: 984,76 LVL (VO_VAT + VAT_21)
To deal around floating point storage in Python (as well as other
programming languages), allowed difference between sums are allowed
0.0001. This is the place where postings do not pass validate(...)
function in "account.py".
This is right as balance between credit and debit should be equal.
What should be done - accountant would probably create write-off entry
for the missing sum to make the balance right. This functionality is
missing in OpenERP, and is fundamental for foreign trade.
Any ideas?
P.S. version 5.0.6.
Kaspars
To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-addons/+bug/452854/+subscriptions