By using this website, you agree to our Terms of Use (click here)
Many people want the Acumatica picking process to pick the oldest inventory layer first even if you are not Lot/Serial tracking items.
Yes, you can use the Pick Priority column on the Warehouses (IN204000) screen to specify which Bin Location gets picked first, but the oldest inventory layer could exist in any Bin Location.
There is a Valuation Method field on the Stock Items (IN202500) screen:
But that is only stores Cost Layers, not Quantity Layers in the database. And you'd need Quantity Layers to be stored in the database to influence the picking process.
There is an Issue Method field on the Lot/Serial Classes (IN207000) screen:
But that only works if the Tracking Method is Track Lot Numbers or Track Serial Numbers. It doesn't work for a Tracking Method of Not Tracked like in the screenshot above. I wish it did, but I just tested it and it doesn't. This makes sense though because I can't think of where the data would come from in the database to make it happen. You have to track Lot/Serial numbers in order to get Quantity Layers to be stored in the database.
So I don't have simple a solution for picking oldest inventory layers unless you are Lot/Serial tracking the Item.
Unless you want to go with something that is not so simple 🙂
In that case, you can define a Lot/Serial Class that looks like this:
Technically we are lot tracking here, but the Auto-Incremental Value of 9 makes Acumatica always assign a default Lot of 0 for every Receipt (weird huh?).
As long as you just let Acumatica assign the Lot of 0 and don't change it on every receipt (maybe use field-level security to prevent access to changing it), then you will get the Quantity Layers in the database that Acumatica needs (all with a Lot of 0) to issue the oldest layer during the picking process.
You get the Quantity FIFO functionality with this workaround. The only annoying thing is that every Receipt will have a Lot of 0 assigned to it:
Final note. The Issue Method of FIFO functionality that we are using here only works when creating a Shipment record. It does not work when creating a transaction in the Issues (IN302000) screen.
Tim, I have run into this for years. The crux of the issues is a conflation of an accounting methodology and an inventory physical control methodology.
Under FIFO, we don't care which actual physical item is pulled from inventory, we are simply assuming that it is the oldest item on-hand. Same with LIFO which is often used in accounting for oil reserves. With oil reserves, there is no way to know if the product pulled from a tank or reservoir is from the first batch collected or the latest. It is simply an accounting construct.
To actually pull the oldest product in the warehouse, you must have a way to physically differentiate different units of product from one another. This requires either serialization or lot tracking. It also requires product labeling in one form or another. I've seen some try to use locations or bins to control lots or batches but in generally runs into issues when warehouse staff fails to properly capture inter-bin transfers.
Good point Shawn. If you have multiple Items in the same Bin Location, but you aren't Lot Tracking, then they aren't labeled appropriately and you don't really know which one is the oldest one.