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.

Check-avail. period calc.

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

QtyAvailabletoPromise
Item.CALCFIELDS(Inventory,"Reserved Qty. on Inventory");
ScheduledReceipt := CalcScheduledReceipt(Item);
GrossRequirement := CalcGrossRequirement(Item);

IF FORMAT(LookaheadDateFormula) <> '' THEN BEGIN
  GrossRequirement :=
    GrossRequirement +
    CalculateLookahead(
      Item,PeriodType,
      AvailabilityDate + 1,

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

Always versus optional reservation

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:

  • Never: Reservations on this item or customer are impossible. If the item is Reserve as Always and the Customer as Never, the item wins.
  • Optional: It is possible to reserve items for this customer; however, salespersons and warehouse employees can decide to overrule the reservation.
  • Always: Shipping is not possible without a proper reservation. If the demand is larger than the supply, the salespersons and warehouse employees must make manual decisions of who gets what.

Reservation entries

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:

  • Source Type: This is an integer field representing the table the record is linked to, for example, 37 means sales line and 5406, prod. order line.
  • Source Subtype: This is an option field, which is linked to the Document Type field when the record is linked to a sales line, purchase line record, or the status of a production order.
  • Source ID: This is the link to the document no. of the record this line is linked to.
  • Source Batch Name: If the record is linked to a journal, this field represents the journal batch name. If this field is used, the source ID is empty and vice versa.
  • Source Prod. Order Line: When the record is used for a production order line or component, this field represents the production order line number.
  • Source Ref. No.: This is an integer field, which is used to link the record to a line no. in a document, journal, or the production component. If the line is linked to a ledger entry, this field represents the entry no. field.

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

  • Reservation: These are real reservation entries, which means that a part of the current or future inventory is reserved for a production order or sales order. If the item uses the Always reservation option, it is not possible to work around this. If the reservation is optional, it is possible that someone else might still use these items in another process.
  • Tracking: This option is used by the Order Tracking Policy option in Microsoft Dynamics NAV. This is an "underwater" process that can link supply and demand automatically. The status Tracking means that there is a supply as well as a demand.
  • Surplus: This option is used for both item tracking as discussed in Chapter 5, Production, and the Order Tracking policy. The records can be identified by using the value of the item tracking field. This is set to None for Order Tracking policy records and Serial No., Lot No., and Lot and Serial No. for item tracking.
  • Prospect: When item tracking is used, a prospect reservation record indicates an internal journal action, for example, assigning a serial number to an item journal line.

Creating a reservation

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.

  1. To demonstrate the real value of reservations, we should create two purchase orders with different dates and unit costs. With FIFO, the system would normally apply the sales order to the first item ledger entry. We will reserve on the second item ledger entry to demonstrate the impact on item costing and application.
  2. When this is done, we can create a new sales order with one sales line containing the item and half the inventory and select Reserve from the Functions tab.
  3. In this screen, we can take a look at the available inventory by clicking on Available to Reserve:
    Creating a reservation
  4. Here, we select the second receipt and navigate to Actions | Functions | Reserve. Then, we close the screen.
  5. In Sales Order Lines, we can now see the Reserved Quantity as 50:
    Creating a reservation

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

Order tracking policy

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.

Example

Let's create a copy of our reservation test item to see the differences between reservations and item tracking. This new item should have the Order Tracking Policy Tracking and Action Msg.

We will create two purchase orders with both a quantity of 50 without receiving them and create a sales order for the same item with a quantity of 80.

Example

If we now select Order Tracking from the Sales Line Functions, we see that the system matches supply and demand.

Let's have a look at the Reservation Entries:

Example

We can see that Microsoft Dynamics NAV is now using the Surplus and Tracking types. The 20 items we have left are not linked to a demand.

Let's start the Requisition Worksheet for this item and see what Microsoft Dynamics NAV can do with this information.

Replenishment

Let's change the reordering policy of the item to Lot-for-Lot and run the Requisition Worksheet for this item:

Replenishment

This will result in the suggestion to combine both purchase orders into one document with a different quantity.

Replenishment

Auto increment

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.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset