c2c-oerpscenario team mailing list archive
-
c2c-oerpscenario team
-
Mailing list archive
-
Message #11350
[Bug 688493] Re: Stock wizard_partial_picking Average price computation doesnt work as expectet
** Also affects: openobject-addons/5.0
Importance: Undecided
Status: New
** Also affects: openobject-addons/trunk
Importance: Medium
Assignee: OpenERP R&D Addons Team 2 (openerp-dev-addons2)
Status: Fix Committed
** Changed in: openobject-addons/5.0
Status: New => Confirmed
** Changed in: openobject-addons/5.0
Importance: Undecided => Medium
** Changed in: openobject-addons/5.0
Assignee: (unassigned) => JMA(Open ERP) (jma-openerp)
** Changed in: openobject-addons/5.0
Milestone: None => 5.0.16
--
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 doesn't work as expected
Status in OpenObject Addons Modules:
Fix Committed
Status in OpenObject Addons 5.0 series:
In Progress
Status in OpenObject Addons trunk series:
Fix Committed
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
References