Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Small and medium business | Business Central, N...
Answered

FIFO Bin Replenishment, FIFO Picking - not possible?

(0) ShareShare
ReportReport
Posted on by 350

this seems like a very basic function and i would expect Business central to be able to at least idetify the bins where the oldest movement was, or some other indicator to get the oldest items out of the storage area first.

it seems that for replenishment examples, the "from-bin chosing algorithm" is simply: "alphabetical order"

am i missing something? is there no way this can be achieved in BC?

Is there maybe an addon, that can achieve this? 


for every quality-management-certified company, this is a very ghard must, for all picking/replenishment processes. Material flow goes FIFO through the shop-floor (not alphabetically)

i am eager for suggestions, help and hints :) 

  • Verified answer
    benovic Profile Picture
    350 on at
    RE: FIFO Bin Replenishment, FIFO Picking - not possible?

    ok i think i solved it.

    the extension code is really small for this one:

    it should work well when you avoid moving new parts into bins that contain old ones. also the picker should be advised to always take the oldest (bottom) parts first.

    codeunit 51337 ReplenishmentExt

    {

        [EventSubscriber(ObjectType::Codeunit, Codeunit::Replenishment, 'OnFindReplenishmtBinOnAfterFromBinContentSetFilters', '', false, false)]

        local procedure OnFindReplenishmtBinOnAfterFromBinContentSetFilters(var FromBinContent: Record "Bin Content"; var ToBinContent: Record "Bin Content");

        begin

            FromBinContent.SetCurrentKey(

                      "Location Code", "Item No.", "Variant Code", "Cross-Dock Bin",

                      "Qty. per Unit of Measure", "Bin Ranking", SystemModifiedAt

            );

            FromBinContent.Ascending(true);

        end;

    }
  • Guy McKenzie Profile Picture
    1,330 on at
    RE: FIFO Bin Replenishment, FIFO Picking - not possible?

    I assume you are using directed put-away and pick from the description of bin replenishment.

    Can you deploy bin rankings to achieve this? It can be made to work but it may not be practical depending on the nature of the stock turn of the item and whether your space utilisation is fixed or chaotic.

    Key thing to note is that you can cascade bin rankings to achieve this but, you will have a daisy chain of gradually moving the stock from bin to bin to bin until it eventually arrives at the pick face when it is the oldest stock.

  • benovic Profile Picture
    350 on at
    RE: FIFO Bin Replenishment, FIFO Picking - not possible?

    i am not sure how this is applicable for us.

    We have a pallete rack that is the bulk storage for our pick bin.

    this pick bin, we replenish by calculating bin replenishment

    our issue is, that the replenishment algorithm will not chose the longest sitting items from the pallette rack (which it should always do in FIFO environments), but just start filling the order from the bin with the alphabetial order to lowest. (which is in almost all cases wrong)

    i will update my comment shortly, with a more specific idea on how to change this

  • Guy McKenzie Profile Picture
    1,330 on at
    RE: FIFO Bin Replenishment, FIFO Picking - not possible?

    If you don’t need robust management and lot tracking is overkill…

    Isn’t there a simple process change that can fulfil the need.

    Make the default bin the pick bin. Only replenish your pick bin with the next lot of stock as it empties.

  • benovic Profile Picture
    350 on at
    RE: FIFO Bin Replenishment, FIFO Picking - not possible?

    i am currently looking into query 7300 "Lot Numbers By Bin" - i guess there i'll find an answer?

    i hope ot is not too complicated , to change this from alphabetical to oldest entry

    edit: this discussion is very close to what i think needs to be changed to achieve "quasi-fifo" 

    www.dynamicsuser.net/.../11

  • benovic Profile Picture
    350 on at
    RE: FIFO Bin Replenishment, FIFO Picking - not possible?

    Hi Zhu and Guy,

    thanks for your answers. yes, if we want to do strictly FEFO, then we could go ahead and inplement item tracking here. the problem i have with this,: it is alot of effort in other places and t.b.h. very much an overkill when i just want this to be in the bulk storage areas.

    Guy you wrote "robustly rotate stock". then you are right.

    What if we don't need it very robustly, but "sensibly" better?

    I can think of better algorithms then "go through the bins in alphabetical order.

    e.g.:

    pick first from the bin that has the oldest positive ledger line.

    that would fit our needs already, and would not need process changes except in the "calculate replenishment" code.

    By the way - is there a way to change this, in an extension,  where would i start?

    edit 2:

    after a fair bit of poking around, i guess it is in this codeunit:

    codeunit 7308 Replenishment
    ...
           with ToBinContent do begin

                FromBinContent.Reset();

                FromBinContent.SetCurrentKey(

                  "Location Code", "Item No.", "Variant Code", "Cross-Dock Bin",

                  "Qty. per Unit of Measure", "Bin Ranking");

                FromBinContent.Ascending(false);

                FromBinContent.SetRange("Location Code", "Location Code");

                FromBinContent.SetRange("Item No.", "Item No.");

                FromBinContent.SetRange("Variant Code", "Variant Code");

                FromBinContent.SetRange("Cross-Dock Bin", false);

                FromBinContent.SetRange("Qty. per Unit of Measure", "Qty. per Unit of Measure");

                FromBinContent.SetFilter("Bin Ranking", '<%1', "Bin Ranking");

                OnFindReplenishmtBinOnAfterFromBinContentSetFilters(FromBinContent, ToBinContent);
    i guess i have to check if i can re sort here:
    FromBinContent.Ascending(false);


    or use this hook/action somehow?

    OnFindReplenishmtBinOnAfterFromBinContentSetFilters(FromBinContent, ToBinContent);

    I need to sort the results befor the next loop goes over the lines and "fills" the Tobincontent quantities.

    the new sorting should be, instead by bin code, be by SystemModifiedAt field in bin content table.

    i still don't know how to approach this in my extension file.

  • Suggested answer
    YUN ZHU Profile Picture
    85,918 Super User 2025 Season 1 on at
    RE: FIFO Bin Replenishment, FIFO Picking - not possible?

    Hi, hope the following info will help.

    Standard Feature:

    https://docs.microsoft.com/en-us/dynamics365/business-central/warehouse-picking-by-fefo

    Other Solution:

    https://appsource.microsoft.com/en/product/dynamics-365-business-central/PUBID.yaveon%7CAID.pb365lotmgt%7CPAPPID.6767990e-845c-4f4c-aff3-ad0dcb2faa9a?tab=Overview

    Hope this will help.

    Thanks.

    ZHU

  • Guy McKenzie Profile Picture
    1,330 on at
    RE: FIFO Bin Replenishment, FIFO Picking - not possible?

    Do you use item tracking?

    if so, use expiry dates on the items and turn on pick by FEFO on the location card.

    the expiry date does not need to be an actual expiry date as such but BC can use this date to recognise and prioritise picks of the earliest expiring stock. 


    if you use an expiry date calculation on the item card, the earliest received items will naturally have the earliest expiry dates and hence be picked first.

    if you are not using Item tracking, I don’t believe you can achieve this other than by bin management. If you have a need to robustly rotate stock, you should probably be using item tracking in some form..

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Ramesh Kumar – Community Spotlight

We are honored to recognize Ramesh Kumar as our July 2025 Community…

Congratulations to the June Top 10 Community Leaders!

These are the community rock stars!

Announcing the Engage with the Community forum!

This forum is your space to connect, share, and grow!

Leaderboard > Small and medium business | Business Central, NAV, RMS

#1
Sohail Ahmed Profile Picture

Sohail Ahmed 2,655

#2
Mansi Soni Profile Picture

Mansi Soni 1,574

#3
YUN ZHU Profile Picture

YUN ZHU 1,453 Super User 2025 Season 1

Featured topics

Product updates

Dynamics 365 release plans