← Back to team overview

openerp-expert-accounting team mailing list archive

[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 OpenERP
Accounting Experts, which is subscribed to the bug report.
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