← Back to team overview

c2c-oerpscenario team mailing list archive

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

 

Hello,

We have discovered new regression  in Pay invoiced wizard :

Preset :
-------

you have a company in EUR
You have a rate for USD for  1 Jan 2009 at 1.3785
You have a rate for USD for  1 feb 2009 at 1.6000
You have a rate for CHF for 1 Jan 2009 at 1.55

Use Case :
------------

    Scenario: Make payments in different rate with the pay invoice wizard
    
      Given I have recorded on the 1 jan 2009 a supplier invoice (in_invoice) of 450,0 USD 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 completely pay the residual amount in USD on the 2 feb 2009
      Then I should see a residual amount of 0.0 USD.-
      And I should see the invoice MySupplierInvoicePayWizard paid
      And I should see amount in currency equal to 0 

THIS TEST FAILED BECAUSE THE AMOUNT IN CURRENCY IS EQUAL TO -72.31 USD INSTEAD OF 0.0, IT WILL CAUSE A PROBLEM IN CURRENCY AMOUNT WHEN YOU WILL PRINT THE GENERAL LEDGER IN CURRENCY
      
      Given I have recorded on the 1 jan 2009 a supplier invoice (in_invoice) of 450,0 USD without tax called MySupplierInvoicePayWizard2
      When I press the validate button
      Then I should see the invoice MySupplierInvoicePayWizard2 open
      
      When I call the Pay invoice wizard
      And I partially pay 200.0 USD.- on the 2 feb 2009
      Then I should see a residual amount of 250 USD.-

ERROR THAT RESIDUAL AMOUNT IS EQUAL TO 277.69 INSTEAD OF 250
      
      When I call the Pay invoice wizard
      And I completely pay the residual amount in CHF on the 2 feb 2009
      Then I should see a residual amount of 0.0 USD.-
      And I should see the invoice MySupplierInvoicePayWizard2 paid
      
      
      
      Given I have recorded on the 1 jan 2009 a supplier invoice (in_invoice) of 450,0 USD without tax called MySupplierInvoicePayWizard3
      When I press the validate button
      Then I should see the invoice MySupplierInvoicePayWizard3 open

      When I call the Pay invoice wizard
      And I partially pay 200.0 USD.- on the 2 feb 2009
      Then I should see a residual amount of 250 USD.-
      
      When I call the Pay invoice wizard
      And I partially pay 300.0 CHF.- on the 2 feb 2009
      Then I should see a residual amount of -59.68 USD.-
      
      When I call the Pay invoice wizard
      And I finally paid 30.0 USD.- on the 2 feb 2009
      Then I should see a residual amount of 0.0 USD.-
      And I should see the invoice MySupplierInvoicePayWizard3 paid

ERROR : THE RESIDUAL AMOUNT IS EQUAL TO -89.68 INSTEAD OF 0.0
ERROR : THE WRITE OFF OF THE FINAL PAYMENT GENERATED TWO LINES IN PAYMENT TAB (BOTH LINES ARE RECONCILED), IT SHOULD BE THE PARTNER LINE ONLY.


You can test this bug using openerp-scenario trunk version with the tag @511104

Thanks for your help,

Vincent

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

Status in OpenObject Addons Modules: Fix Released

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,