← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 511104] Re: Pay invoice wizard regression in foreign currency

 

hello everyone,

did i miss something or the simple lines that follow fix the problem?? 
         for inv in data_inv:
+            if inv.reconciled: 
+                res[inv.id] = 0.0
+                continue

I'm proposing a patch that include also a rewrite of the residual amount
computation on the debit/credit in company currency and only computed
once in foreign currency, which seems much more easy and less error
prone.

Note that i didn't check the other proposed patch, i just check with the
latest revision of the stable addons and check out the use case exposed
in joel spreadsheet (there was still one error that my refactoring
solves), and the latest problem of residual amounts of paid invoices...

Kindly check that with your automatized tests battery and let us know,
OERPScenario folks :-)

Quentin

** Patch added: "residual_amount_invoice.patch"
   https://bugs.launchpad.net/openobject-addons/+bug/511104/+attachment/1753185/+files/residual_amount_invoice.patch

-- 
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/511104

Title:
  Pay invoice wizard regression in foreign currency

Status in OpenObject Addons Modules:
  In Progress

Bug description:
  Hi !


There is a regression introduce by commit 2537 into addons on the pay invoice wizard !

The amount in currency are wrongly computed !!!

Here the test case :
  Background:
      Given I am loged as admin user with password admin used
      And the company currency is set to EUR 
      And the following currency rate settings are:
      |code|rate|name|
      |EUR|1.000|01-01-2009|
      |CHF|1.644|01-01-2009|
      |CHF|1.500|09-09-2009|
      |CHF|0.6547|10-10-2009|
      |USD|1.3785|01-01-2009|
      And a cash journal in USD exists
      And a cash journal in CHF exists
      And a cash journal in EUR exists

    Scenario: make_and_validate_payments_with_pay_invoice_wizard
      Given I have recorded on the 1 jan 2009 a supplier invoice (in_invoice) of 1000,0 CHF without tax called MySupplierInvoicePayWizard
      When I press the validate button
      Then I should see the invoice MySupplierInvoicePayWizard open

      When I call the Pay invoice wizard
      And I partially pay 200.0 CHF.- on the 10 jan 2009
      Then I should see a residual amount of 800.0 CHF.-
      
      When I call the Pay invoice wizard
      And I partially pay 200.0 USD.- on the 11 jan 2009
      Then I should see a residual amount of 561.48 CHF.-
      
CRASH HERE  expected: 561.48,
           got: 600.0 (using ==)


      When I call the Pay invoice wizard
      And I partially pay 200.0 EUR.- on the 12 jan 2009
      Then I should see a residual amount of 232.68 CHF.-
      
      When I call the Pay invoice wizard
      And I completely pay the residual amount in CHF on the 13 sep 2009
      Then I should see a residual amount of 0.0 CHF.-
      And I should see the invoice MySupplierInvoicePayWizard paid


THANKS TO REVERT THIS COMMIT ASAP !!

Regards,