c2c-oerpscenario team mailing list archive
-
c2c-oerpscenario team
-
Mailing list archive
-
Message #36597
[Bug 865387] Re: wrong currency rounding
Once again OpenERP must be set up to comply to fiscal standards
* countries have their individual rules or habits
we have to distinguish between
* outgoing / customer invoices
the method used (column/line) must be configurable in res_company to allow SAAS and multicompany whit different needs
* incoming / supplier invoices
>>> the company is obliged to post the same VAT amount that is printed on the invoice <<< hence
- the method must be set in res_country, because it is most likely that a suppiler will conform to his "home" rules
- if a supplier uses a different method it must be stored at partner level
for comfort - incoming invoices should be checked according to these rules and the appropirate rule should be applied
for this to happen it is necessary to enter the VAT amount for each invoice. otherwise it is up to the users to check visually and correct the VAT amount
give that total - vat may not be net caculcated by OpenERP an easy way
must be established to correct VAT and NET
--
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to OpenERP Project Group.
https://bugs.launchpad.net/bugs/865387
Title:
wrong currency rounding
Status in OpenERP Addons (modules):
Confirmed
Bug description:
openobject-addons/6.0 revno 4863
Steps:
- Configure 'account' module using EUR currency
- Configure a bank journal for USD currency
- Create a new rate for USD currency, with date 2011-10-01
- Create a new invoice, with date 2011-09-01, selecting USD currency and inserting one line of 3638.97 amount
- Pay the invoice selecting 'Reconcile with Write-Off' (with today's date)
The write.off entry is not created (it should be produced by the different currency rates).
This is because of line 88 of base/res/res_currency.py :
round(amount / currency.rounding) * currency.rounding
3638.9700000000003
and this makes false the line 719 of account_voucher.py (line.amount
== line.amount_unreconciled)
I think the line
return round(amount / currency.rounding) * currency.rounding
should be replaced by something like
float(Decimal(str(amount)).quantize(Decimal(str(currency.rounding)),
rounding=ROUND_HALF_UP))
To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-addons/+bug/865387/+subscriptions
References