Reservation sequence in AX 2012

I have received some questions on how does Dynamics AX 2012 decide what on-hand to select when reserving. Some thinks it is the inventory model (FIFO etc), but it is not. Some times it can seam like AX 2012 has it’s own will can selects randomly.


If the same item is located in many different buffer locations, there is a rule. It all comes down so sorting of inventory dimensions, that is specified in the InventoryDimensions group on the table InventDim.


So this means that the Inventsum is sorted on these inventory dimensions alphanumeric ascending. Meaning that items on location A001 will be reserved before A002 if available physical.

If you dig deep into the following method you find the code (InventSum::newQueryReservation()):




There are ISV solutions that addresses this, and that solves this in a very elegant way.  But now you know where to look if you want to challenge reservation sequence in AX 2012 with a good old customization.

(There are FEFO reservation sequences in AX 2012 but this is not addressed here)

Happy Daxing

11 thoughts on “Reservation sequence in AX 2012

  1. Hi

    Is the information above in regard to “Reservation sequence in AX 2012” still valid? My Customer needs to know that the reservation is true FIFO – they do not mind making a customisation.


  2. Hi Kurt,

    Can you please share some information on FEFO method of reservation.

    In my case I have site, warehouse, location, pallet and batch dimensions active.

    What I have realized is that system looks for the batch with oldest expiry date (method being expiry date) and then within that batch reserves items (using all bulk locations – pallet transports) from pallets based upon “LastupddatePhysical” and where this is same pallets are picked up in the sequence of inventdimID.

    Is my understanding correct?

    I have seen many times that some batches are skipped altogether when they should have been picked up first as per FEFO (expiry date) and a younger batch is selected. Then later when it is consumed completely the older batch which should have been selected earlier gets selected. I have tried to research but could not get any answers.

    Any insights will be helpful



  3. Pingback: Thinking Enterprise Solutions

  4. Hi Kurt
    Thanks for the interesting blog! About the reservations, we have the requirement that the available on-hand stock needs to be reserved against specific sales order line. This is because we manufacture to order against specific customer specifications (we are in the metal industry). We are trying to use the shipment functionality, but the system reserves, as you pointed out, based on the sorting of the inventory dimensions. Would like to hear your thoughts on this?


  5. hello readers…I appreciate this post.
    I had a extensive experience in advance warehouse management. if any of you need effective reservation of pallets and load management, you got the right person here.



    • Thanks Kurt for sharing this!! It’s great.
      Hi, Mohamed. I’m having some troubles now so It’s great to here you can help πŸ™‚
      I’m trying to understand how the reservation works when selecting pallets to generate the transport. I can see now that with the current setup*, AX does not take into consideration the sorting order for the locations. I tested different scenarios in order to understand it is reserving using FIFO.
      * Set Ups:
      – Item Model Group is not set for FIFO reservation.
      – Ails and Locations got their sorting orders.
      – Reservation combination is setup for “Output Transport – All Bulk Locations” only, because the shipments are always completed with full pallets.
      It would be great if I could accomplish what Kurt says here, at my environment, because that’s what my Client wants. I need to accomplish the reservation for Locations Sorting Order (or at least alphanumeric).
      My Client has AX 2012 Feature Pack, maybe we are not at the same RollUp 😐 even though I checked the code and it’s the same.
      Thanks again!


      • Hi Juli. Pallet reservation in a consolidated shipment scenario is controlled by the method wmspallet::findpallet() It is a nightmare method ! And it is sorted by LastDatePhysical.(or FIFO)


      • Hi Kurt. I was trying to “fix” this. Have you done it already? I’m adding a “Order By WMSLocationId” at the select nofetch forceplaceholders RecId from inventSum. But it’s not working so far.
        I’d really appreciate your help!! πŸ™‚


  6. Pingback: Reservation sequence in AX 2012 - Warehouse Management and Distribution - Microsoft Dynamics AX - Microsoft Dynamics Community

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.