Warehouse Management X++

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

I appreciate that I can be a part of this worldwide blog community—as a consultant working from Norway, the blog lets me share more than 20 years of experience with Microsoft Dynamics 365. Along the way, I participated in developing retail, PDA/RF, barcoding, master data, kitting and WMS-solutions for Dynamics. My blog focuses on my deepest interests and expertise: along with a 360 degree view of digital transformation topics, I welcome opportunities to dive into retail and intercompany supply chain automation, logistics, and production—everything that is moving around in a truly connected enterprise. As Enterprise Architect on Dynamics 365, I specialize in strategic development and planning for corporate vertical solutions and works to build international networks that increase knowledge and understanding for Dynamics 365. As an advocate for both providers and customers, I'm committed to ensure that customers constantly changing needs are meet, and I see community as key for increasing expertise. I welcome you to connect with me.

11 comments on “Reservation sequence in AX 2012

  1. Liam Lawson


    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. Liam Lawson

    Great article. Found it very helpful.


  5. 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?


  6. Mohamed asaraf ali

    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)


      • Thanks Kurt. It’s good to hear I’m not the only one having this nightmare!!


      • 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!! 🙂


  7. 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:

WordPress.com Logo

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

Google photo

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

Twitter picture

You are commenting using your Twitter 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.

%d bloggers like this: