Sterling OMS Understanding Supply Demand without Reservation
Sterling OMS Understanding Supply Demand without Reservation
In this post we are going to learn, how Supply and Demand works without inventory reservation during the order flow.
Google Definitions on supply and demand
OMS Definitions on supply and demand
- Supply : How much inventory (Quantity) available at store for sale.
- Demand : How much inventory (Quantity) been already allocated for already received/processing orders
Supply & Demand Table Information
- YFS_ITEM (ORGANIZATION_CODE,ITEM_ID,UOM)
- YFS_INVENTORY_ITEM (ORGANIZATION_CODE,ITEM_ID,UOM,PRODUCT_CLASS)
- YFS_INVENTORY_SUPPLY (INVENTORY_ITEM_KEY, SHIPNODE_KEY)
- YFS_INVENTORY_DEMAND (INVENTORY_ITEM_KEY, SHIPNODE_KEY)
Steps
1. Create new item under Matrix org using API tester
| API Name | Input XML | Query to validate |
| manageItem | <?xml version=”1.0″ encoding=”UTF-8″?> <ItemList> <Item Action=”Manage” CanUseAsServiceTool=”N” GlobalItemID=”” ItemGroupCode=”PROD” ItemID=”MATRIX_ITEM” OrganizationCode=”Matrix” UnitOfMeasure=”EACH”> <PrimaryInformation Status=”3000″ AssumeInfiniteInventory=”N” CostCurrency=”USD” CountryOfOrigin=”” /> <InventoryParameters ATPRule=”” NodeLevelInventoryMonitorRule=”” /> </Item> </ItemList> |
Select * from yfs_item Where item_id=’MATRIX_ITEM’ |
2. Increase inventory for the newly created item with Matrix-R using API tester (same can be done using screen)
| API Name | Input XML | Query to validate |
| adjustInventory | <Items> <Item AdjustmentType=”ADJUSTMENT” ItemID=”MATRIX_ITEM” OrganizationCode=”Matrix” ProductClass=”Good” Quantity=”10″ ReasonCode=”” ReasonText=”” ShipNode=”Matrix_WH1″ SupplyType=”ONHAND” UnitOfMeasure=”EACH” > </Item> </Items> |
1) Select * from yfs_inventory_item Where item_id=’MATRIX_ITEM’; 2) Select * from yfs_inventory_item 3) Select * from yfs_inventory_supply |
Note: Now yfs_inventory_demand does not have record
3) Create Order and make sure order does not have any hold
| API Name | Input XML | Query to validate |
| createOrder | <?xml version=”1.0″ encoding=”UTF-8″?> <Order PaymentStatus=”NOT_APPLICABLE” EnterpriseCode=”Matrix-R” ShipNode=”Matrix_WH1″ OrderName=”WebOrderCapture1″ FreightTerms=”3rd Party” SellerOrganizationCode=”Matrix-R” DocumentType=”0001″ CustomerPONo=”CustomerPONo1″ CustCustPONo=”CustCustPONo1″> <PersonInfoShipTo ZipCode=”71303″ City=”Alexandria” State=”LA” EMailID=”NA” Country=”US” Company=”ABC” DayPhone=”999-999-0100″ AddressLine1=”W BOLTON AVE ” FirstName=”TECH” LastName=”TECH” /> <PersonInfoBillTo ZipCode=”63045″ City=”Earth City” State=”MO” EMailID=”” Country=”US” Company=”ABC” DayPhone=”999-999-999″ FirstName=”XYZ” MiddleName=”” LastName=”ABC” /> <OrderLines> <OrderLine OrderedQty=”1.0″ ShipNode=”Matrix_WH1″ PrimeLineNo=”1″ > <Item ItemID=”MATRIX_ITEM” ItemDesc=”Item Description” ProductClass=”Good” /> <OrderLineTranQuantity TransactionalUOM=”EACH” /> </OrderLine> </OrderLines> </Order> |
1) Select * from yfs_inventory_supply Where inventory_item_key in (Select inventory_item_key From yfs_inventory_item Where item_id=’MATRIX_ITEM’) and shipnode_key=’Matrix_WH1′; Result : No change to supply record 2) Select * from yfs_inventory_demand Result : Demand record created with demand type as OPEN_ORDER |
3) Perform schedule Order using api tester
| API Name | Input XML | Query to validate |
| scheduleOrder | <ScheduleOrder ScheduleAndRelease=”N” OrderNo=”S775285287981187″ EnterpriseCode=”Matrix-R” DocumentType=”0001″ CheckInventory=”Y” /> |
1) Select * from yfs_inventory_supply Where inventory_item_key in (Select inventory_item_key From yfs_inventory_item Where item_id=’MATRIX_ITEM’) and shipnode_key=’Matrix_WH1′; Result : No change to supply record 2) Select * from yfs_inventory_demand Result : Demand record created with demand type as SCHEDULED |
3) Perform release Order using api tester
| API Name | Input XML | Query to validate |
| releaseOrder | <ReleaseOrder OrderNo=”S775285287981187″ EnterpriseCode=”Matrix-R” DocumentType=”0001″ CheckInventory=”Y” /> |
1) Select * from yfs_inventory_supply Where inventory_item_key in (Select inventory_item_key From yfs_inventory_item Where item_id=’MATRIX_ITEM’) and shipnode_key=’Matrix_WH1′; Result : No change to supply record 2) Select * from yfs_inventory_demand Result : Demand record created with demand type as ALLOCATED |
4) Perform confirmShipment using API Tester
| API Name | Input XML | Query to validate |
| confirmShipment | <Shipment Action=”Create-Modify” EnterpriseCode=”Matrix-R”> <ShipmentLines> <ShipmentLine DocumentType=”0001″ OrderNo=”S775285287981187″ PrimeLineNo=”1″ ProductClass=”Good” Quantity=”1″ ReleaseNo=”1″ SubLineNo=”1″ UnitOfMeasure=”EACH”> </ShipmentLine> </ShipmentLines> </Shipment> |
1) Select * from yfs_inventory_supply Where inventory_item_key in (Select inventory_item_key From yfs_inventory_item Where item_id=’MATRIX_ITEM’) and shipnode_key=’Matrix_WH1′; Result : Supply record quantity reduced by one 2) Select * from yfs_inventory_demand Result : All demand records moved to zero quantity |
Happy Learning !!!
Register with us to get more updates



Thank you for this article @Admin. It’s been really a long time since your last article. Please keep posting articles, it helps those who are new to this technology, as there are not much resources out there on Internet on this technology. Thank you once again!!
1. Discussion on Inventory Matrix [Supply/Demand] will be helpful
2. I also felt that mentioning of the factors which affect the supply demand flow would have inlined readers thought process. ex. Safety Factor, YFS_INVENTORY_SUPPLY/DEMAND_ADDNL tables etc.
Thanks,
Sure Praveen. We will work on this. Soon you should see post regarding supply and demand.
Hi , Thank you. Its makes clear understanding for inventory supply and demand for items. Could you please also share how inventory qty changes for dropship items and also how sterling handles future inventory during order creation.
Eg. Warehouse doenst have inventory to proceed order for fulfillment but qty has to be received to warehouse from vendor/any other source systems. In this case order can able to place for future inventory also if design as mentioned to place order for future inventory. So please let me understand how the supply and demand works.
Thanks,
Madhu
ATP (Available to promise) rule needs to apply, it enables us to determine the availability of the item for current and future demand. The availability of an item is based on current and future supply, lead time, and ATP configuration.
Admin,please approve my request for registration.
done
Admin,please approve my request for registration.