Odoo evaluate returned products with current cost not original cost (using FIFO - Real price) any one can help ?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
Totally agree with Mohamed & Talal.
Simple scenario Odoo v13. Product with AVCO - Realtime.
- You purchase have 10U in stock with AVCO 10$ (+100$).
- Next you purchase 10 U at 6$, receive them, result: 20U at 8$. (+160$)
- Then you return this whole purchase, it was made by mistake. 10U at 8$(-80$) so resulting AVCO is 8$ per 10 ud (+80$)
Without any effective purchase, your stock value changes, -20$
This happens to some of our customers frequently, some mistakes with units (ie 100U in place of 10U) and similar situations.
Is there any change planned on this??
Thanks!
We decided to add the function which lets a user to choose the lot/SN or product move that costs should be returned.
For example, a user made a mistake and purchased 100qty per $5.00 instead of $0.5. In that case you may select what exactly lot should be returned. The return cost has to be equal to received cost. https://erpixel.com/
Any luck on this??
You can use this application https://apps.odoo.com/apps/modules/14.0/real_costing_method/#attr=
it works fine, but it requires Lots/Serial Numbers
@Fabian, you have to fix this problem
Thanks brother i checked this app https://apps.odoo.com/apps/modules/14.0/cost_method_lot/ this also seems fine
We have the same problem. I've checked v10 model stock_quant and can propose "basic dirty fix".
In database returned moves have id in origin_returned_move_id. So if we want limit domain to related quants we can extend domain in
def _quants_get_reservation_domain
....
if move.origin_returned_move_id:
domain += [('id', 'in', move.origin_returned_move_id.quant_ids.ids)]
return domain
and we should get domain on "action done":
[('qty', '>', 0), ('product_id', '=', 300), ('location_id', '=', 9), ('package_id', '=', False), ('company_id', '=', 1), ('id', 'in', [467722])]
Without limiting to related quants we got FIFO/LIFO for selected product from whole customer zone (what is wrong).
we have the same problem in our company . what is your solution ?
till now i haven't any solutions and i didn't recommend to make any developement for this part
hi miladmahdavi ,u use Odoo in your company with developer helps or by your ability,i think we are in same country ,maybe we could help eachother. axial4(at)yahoo.com
i follow all info and every thing is ok but still get wrong value for return
Returned goods have to follow the regular costing method (whether it's FIFO or Avg), instead of using "Original Cost", otherwise your accounting valuation gets wrong.
Have a look at the following scenario:
1 product in stock, accounting value: 100$
return it to supplier at 90$, it's original cost
result: 0 product in stock, value in accounting: $10
That would be not correct, as a Gaap point of view. Odoo follows the accounting principle, which is to follow FIFO, or average price, instead of "price of original order before return".
Well, you can always return the original cost, unless the stock is going to zero, then you exceptionally use the proper cost.
Other wise, you'll always post different values in the stock and supplier.
So, I strongly vote to use the regular costing method for returns only on the exception mentioned above.
Or, when you reach a 0 stock with value, you simply need to force run a cost adjustment entry
i try your mentioned scenario and here is the result :-
buy 1 unit with 100 $ now inventory = 100
and then buy another one with 120 $ Now inventory valuation = 220
sold 2 units inventory valuation = zero
till now every thing is correct
Customer return 2 items was sold before
and i return the first unit that i purchased with 100 $ to the vendor due to some diffects
the valuation created from sales return with 240 and we acctually evaluate it before with 220
also returned purchase vlaluation c reated with 120 $ and debit not for the vendor bill created with 100 $ and it get different result
all of this cases caused balance in interm and outterm account for stock and this account will not be zero because i found odoo will evalute returned item with current cost on product profile and not consider the original cost for move
Sorry for long describtion
I told you once Fabien, the costing system needs a revisit and revision
Strongly agree with the issue and scenario mentioned by Mohamed ALnawasany and Kyle Robinson.
Was this resolved in v14?
Thanks.
Did you find any solution for this?
We have the same issue..
Thanks
we try to develope a new function to calculate accurate cost and it now under testing
We have it in our que now
Hi Mohamed,
You found any solution for this?
What if we follow real time valuation in all issuance instead of FIFO, will it work?
If you have multiple products in stock for different values, and you need to return one of the inbound receipts, the value of the product delivered should be returned. Today, the value of the one returned is given that of the costing method defined on the product. This makes no sense to our customers CFO's. It leaves a balance in the interim account that can only be resolved through a manual JE.
Fabien, the example you have given doesn't really make sense. What you are describing is what Odoo does today, leaving a balance and could be corrected through using the original value on returns.
Example:
1. Receive a widget for $100 into inventory. (You already have one in inventory for $90.)
2. Manager rejects the widget on the next day (still not billed by vendor).
3. Return widget but Odoo will only credit the interim account for $90 (FIFO).
4. Now you have a balance in the interim account for goods you do not have and the FIFO unit of $90 no longer exists in your inventory. If I sell the remaining unit in inventory Odoo will assign a COGS of $100 but the $100 unit is really what was returned to the vendor.
https://apps.odoo.com/apps/modules/14.0/cost_method_lot/
This module will work in case of Lot/Serial Management valuation layer is fine accounting entries are fine on lot/serial level just cost in product master is showing wrong value but all accounting and valuation entries are ok.