← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 688493] [NEW] Stock wizard_partial_picking Average price computation doesnt work as expectet

 

Public bug reported:

In the wizard_partial_picking.py in line 146 the new standard_price of a product (cost_method = average) is calculated:
new_std_price = ((product.standard_price * product.qty_available) + (new_price * qty))/(product.qty_available + qty)

I've a product with a standard_price of 1500 and an available qty of 2,
now i purchase 2 additional product with a unit price of 1000:

if ive one move_line with qty:2 price 1000 the calculation works fine:

((1500 * 2) + (1000 * 2)) / (2 + 2) = 1250

but if i split the the line in 2 lines each with a qty of 1 and a price
of 1000 the product_qty_available will not be taken in count wich causes
this problem:

((1500 * 2) + (1000 * 1)) / (2 + 1) = 1333,33 
after calculating the new cost_price for the first line the new price is written in the product but the qty_available doesnt change
as the workflow action that ends the move is called later in the method.
((1333,33 * 2) + (1000 * 1)) / (2 + 1) = 1222,22 
This average price is wrong, the right one would take the additional qty of the first line in count :
((1333,33 * 3) + (1000 * 1)) / (2 + 1) = 1250

** Affects: openobject-server
     Importance: Undecided
         Status: New

-- 
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/688493

Title:
  Stock wizard_partial_picking Average price computation doesnt work as expectet

Status in OpenObject Server:
  New

Bug description:
  In the wizard_partial_picking.py in line 146 the new standard_price of a product (cost_method = average) is calculated:
new_std_price = ((product.standard_price * product.qty_available) + (new_price * qty))/(product.qty_available + qty)

I've a product with a standard_price of 1500 and an available qty of 2, now i purchase 2 additional product with a unit price of 1000:

if ive one move_line with qty:2 price 1000 the calculation works fine:

((1500 * 2) + (1000 * 2)) / (2 + 2) = 1250 

but if i split the the line in 2 lines each with a qty of 1 and a price of 1000 the product_qty_available will not be taken in count wich causes this problem:

((1500 * 2) + (1000 * 1)) / (2 + 1) = 1333,33 
after calculating the new cost_price for the first line the new price is written in the product but the qty_available doesnt change
as the workflow action that ends the move is called later in the method.
((1333,33 * 2) + (1000 * 1)) / (2 + 1) = 1222,22 
This average price is wrong, the right one would take the additional qty of the first line in count :
((1333,33 * 3) + (1000 * 1)) / (2 + 1) = 1250





Follow ups

References