Techno-Functional MS Dynamics 365 F&S Data Model Explanations for Reporting, Part 19 of 25 – Inventory Reservation Process

Techno-Functional MS Dynamics 365 F&S Data Model Explanations for Reporting, Part 19 of 25 – Inventory Reservation Process

Inventory Reservation Process MS Dynamics 365 Data Model

Inventory Reservation Process Microsoft Dynamics 365 Data Model

Inventory reservation process in Microsoft Dynamics D365 data model tutorial 19 explains about data model functionality & ERD tables to simplify the process for end users. Today, we’re going to look at one of the most frequently used processes in the application – Inventory Reservation Process.

Learning the functional and technical processes for Inventory Reservation may seem difficult; therefore we are going to break it down into a step-by-step guide and make it easier for you with this tutorial.

Beginning with the basic functional processes, we will guide you through data model functionality, ERD and tables to simplify the process as much as possible.

Let’s start with the Inventory Reservation Process.

How to Begin Inventory Reservation Process through Sales Order Manually: Dynamics 365 F&SC Functional Walk-through

Step 1: Navigate to All Sales Orders

Navigate to ‘All sales orders’ by clicking on ‘Modules’ > ‘Accounts receivable’ > ‘Orders’ > ‘All sales orders.’ Open any Sales Order having status ‘Open Order’ and Check for on-hand inventory for product added in sales order line before reservation.

Step 1: Navigate to All Sales Orders

Step 2: Make a Reservation

Click on Inventory to select the Reservation button to Make a Reservation.

Step 2: Make a Reservation

Step 3: Enter Reservation Quantity

Enter Reservation Quantity on Reservation Form.

Step 3: Enter Inventory Reservation Quantity

Step 4: Check On-Hand Reservation

Check On-hand Inventory after Reservation.

Step 4: Check On-Hand Inventory Reservation

Now, let us move on to the technical aspect of Inventory Reservation Process.

The Data Model behind Inventory Reservation Process: MS Dynamics 365 F&SC Technical Walk-through

Entity Relationship Diagram (ERD):

Below we have added some of the important tables involved in Inventory Reservation Process in Dynamics 365.

Additionally, you can see the primary tables and the cardinality constraints with ‘InventTable’ and ‘InventTrans’ and ‘InventSum’.

Entity Relationship Diagram (ERD):

Below you will see a Runnable Class (job) for the Inventory Reservation Process:

class ibCreateSalesOrderReserveInventory
    /// Runs the class with the specified arguments.
    public static void main(Args _args)
        SalesTable		     salesTable;
        SalesLine		     salesLine;
        InventTrans             inventTrans;
        InventTransOrigin       inventTransOrigin;
        InventMovement          inventMovement;
        InventUpd_Reservation   inventUpd_Reservation;
        SalesId		     salesId = '001360'; // Sales Order Number
        int64			     reserveQuantity = 2; //Quantity that need to be reserved
        // Reserve an item
        salesTable = SalesTable::find(salesId);
        // retrieved the first sales order line of selected sales order
        select firstonly salesline exists join salesLine
            where salesLine.SalesId == salesTable.SalesId;
        //Find InventTrans from salesLine.InventTransId 
        inventTrans = InventTrans::findTransId(salesLine.InventTransId);
            Inventmovement = inventTrans.inventmovement(true);
            inventUpd_Reservation = InventUpd_Reservation::newInventDim(inventmovement,salesline.inventDim(), -1*reserveQuantity, false);

Although there are many tables included in this process, we are going to focus on two major tables.


InventTrans table contains information about inventory transactions.

When order lines (such as sales order lines or purchase order lines) are created, they generate a related record in inventTrans table.

These records represent the flow of material that goes in and out of inventory. This table is extremely useful in Dynamics 365; all things considered.

Let’s have a look at some types of data InventTrans contains:

  • It has customer account details, which include customer balances and transactions.
  • The return orders (including updates) are processed through this table.
  • These tables contain all the details of transactions related to inventory; which is why this table is very useful for making inventory-related reports.
  • These tables contain all the information of financial and physical transactions; not only that but we can also get open sales orders and posted sales orders information through it.

Below we have listed other significant fields of the InventTrans along with their respective descriptions:

Field Data Type Description
ItemId string Item number for sales order
Qty real Quantity for items which are added in sales order line
StatusIssues Enum StatusIssues stored in this table
SalesReceipt Enum Receipt Status of sales order line

Now let’s take a look at InventSum.


InventSum table contains information about the present and expected on-hand stock of items.

Let’s have a look at some characteristics of the InventSum table:

  • Contains the information related to summaries data (related to inventory) which is very helpful for making reports.
  • InventSum contains information of OnHand inventory per dimension e.g. site, color, config Id, warehouse etc.

Next, we will show you a few of the important fields of this table along with their description.

Field Data Type Description
ItemId string Unique numeric Item Id
AvailPhysical real Physical available quantity on hand quantity
ReservOrder real Reserve order quantity which are ordered
ReservPhysical real Physical reserve quantity on sales order line

Overview: Inventory Reservation Process MS Dynamics 365 Data Model

In this blog post Inventory Reservation Process MS Dynamics 365 Data Model, we have covered the technical and functional aspects of Inventory Reservation.

You can create policies on Inventory and Warehouse Management. In hindsight, every organization creates their own policies as per their needs.

In our case, we manually reserved (10) as the quantity for the sales order.

The purpose of reservation is to ‘save some quantity which will not be used in any other business processes’. Reservation is a reversible process; you can reverse the quantity if it is no longer needed by a customer.

In addition, we sincerely hope that you enjoyed part 19 of our exciting series on Microsoft Dynamics 365 Data Model. In short we aim to provide quality service at all times. Moreover, if you need to reach me, you know how to get in touch by reaching out to me here.  – Brandon Ahmad, founder of Instructor Brandon and Dynatuners.