Help

1

Selling products from different lots does not take into the account different costs for different lots

Avatar
Marcus

I have automatic FIFO costing method enabled.

Lets say I made two Purchase Orders:

  1. 5 units for $1000

  2. 10 units for $2000

And now I need to make a Sale Order for 8 units.

I have a pricelist based directly on a cost of the products (for simplicity lets assume it is exactly cost without any margin).

With such pricelist order will have 8 units for just $1000 each. Instead of 5 units for $1000 and 3 units for $2000. In totals it is $8000 vs $11000.


Is there any way in Odoo to acctually use FIFO in this situation? Inside inventory management there is proper split between each lot (and correct units are taken from correct lot). But while evaluating cost it seems like it only takes the cost of a first lot.

Am I stuck with average cost (AVCO)?

2 Comments
Avatar
Discard
Avatar
Ricardo Gross
-

For me an interesting challenge that could be solved in the standard version!

Avatar
Ray Carnes (ray)
-

I don't see a way to do this without customization. You could store the cost of each LOT, and then train Users to review the LOTS in stock (and their quantities) but you may want them to select a lot as part of the Sales process. There are complexities to manage as a single LOT might be on several Quotations before being confirmed (in a different order than originally entered) and some even may be cancelled. This also applies to the reservation logic, where a LOT originally reserved for one Delivery Order might be unreserved and used for another. This why FIFO inventory costing in Odoo is based on the Accounting and not Warehouse perspective - Odoo will always book the cost based on first in/first out regardless of the actual selection of specific LOTS of products picked during fulfillment. You could also setup Odoo so that each lot of product is a separate product, with a separate cost, and pricelists would work because the Sales Order would need two lines - one for each product, with a different cost for each line.