Reservations

In Microsoft Dynamics NAV, it is possible to do reservations on inventory. This can help us manage our inventory more effectively. Let's discuss the reservation process with a customer scenario.

One of our customer orders 100 black t-shirts size M on January 22, 2015. Currently, we have 120 in our inventory so we can ship them without any problems. The customer wants to have them delivered on November 18. We enter a sales order with the shipping date and release the order.

The next day, another customer calls for 40 black t-shirts size M. Our inventory is still 120. This customer wants to have them delivered on May 31. We enter the sales order without a warning. Lastly, we will create a new sales order for 90 of the same t-shirts with a delivery date on July 25. Now, we get the following error message:

Reservations

And if we now go back to the second sales order and re-enter the quantity, we get a similar message.

The reason this happens lies in the way Microsoft Dynamics NAV calculates the gross requirement:

Check-avail. period calc.

This is a two-step method where first, the requirement is calculated until the shipment date of the sales line and secondly, a Lookahead function is called using a date formula that is defined in the company information table.

The C/AL code that is used to calculate the Lookahead can be found in the QtyAvailabletoPromise function in codeunit Available to Promise (5790).

If this Lookahead functionality is not detailed enough, we can start using the reservation process.

The Reservation option can be activated on the item level and customer level and can be set to Never, Optional, and Always, as shown in the following screenshot:

Always versus optional reservation

Let's see what these options signify:

Microsoft Dynamics NAV uses the Reservation Entry (337) table to store the reservation entries. Reservation entries can be connected to all outstanding documents and journals and posted entries. This is done using the following source fields:

There are four types of Reservation Entries in Microsoft Dynamics NAV represented by the Reservation Status field:

Let's go into the application and create a reservation to see what entries we get in the database.

We will do this using a new item. The item should have a Description, Base Unit of Measure, and a Gen. Prod., VAT Prod., and an Inventory Posting Group. The default value for Reserve is Optional, which we will use for this example. The default costing method is FIFO, which we will also use.

Let's have a look at the Reservation Entries created in the database by running the table from the Object Designer:

Creating a reservation

A reservation entry of the type Reservation always uses to lines with the same entry no. The Source Type for the first entry links to the Sales Line table (37) and the second uses the Item Ledger Entry Table (32).

We ship and invoice the sales order and look at the Item Ledger Entries for our item:

Creating a reservation

We see that Microsoft Dynamics NAV has used the second item ledger entry, but the cost is 500, not the 600 from the second entry.

To correct this, we run the report Adjust Cost - Item Entries (795) and have another look at the Item Ledger Entries and the Value Entries to see that it is corrected.

Creating a reservation

We have seen that reservation entries are not only used for the reservation process of inventory and item tracking but also for balancing supply and demand. This is an internal option within Microsoft Dynamics NAV that allows us to link inventory internally.

The entries are used in the supply and demand calculation to create the requisition worksheets.

In Microsoft Dynamics NAV 2013, the Reservation Entry table was redesigned to use the Auto increment feature to determine unique numbering. This improves application performance and reduces locking.