We had the following requirements based on which a small customization was needed:
- To allow the system to reserve the items for the orders which are in inventory by taking deposits from the customer. The whole payment history has to show for the specific order of the customer.
Customer Abc asked to reserve a dress which they will pick it on xyz day by giving some advance payment.
- To allow the system to order(Pre-Order) the items which are not in inventory and not in the system by taking deposits from the customer. The whole payment history has to show for the specific order of the customer.
Customer Abc asked to order a dress of the same brand which is in stock with some other alteration which they will pick it on xyz day by giving some advance payment.
In Case 1, item is already in stock/system. In Case 2, item is not in the system. Both the cases are being handled through this blog.
Using Customer Order out of the box Functionality in Retail we will be using the reservation of the items and for pre-order we will be customizing the customer order functionality a little.
In pre-order the major challenge is that AX/Retail architecture is designed in a manner that items are created from AX and pushed to POS for the utilization but in pre-order scenario, items are not present in the system and we have to create a customer’s custom item from POS in case to give the receipt and receive the deposit for the specific custom item.
To achieve the above pre-order scenario, we created a new service item which will be having zero sales price and comment will be mandatory to put in so that the user will be selecting the above item by giving the custom description according to the customer’s description as shown below:
Based on the “Must key in comment” , the user has to type in the comment which will become the item name on the cart and on all the places. In the same way “Key in price” to “Must key in new price” will force user to put in the sales price other than zero.
The customization is only for the items which is having item group as Pre-order in my scenario as shown above.
In the above screen , the item name changed automatically from its original name to the comments typed for the pre-order item.
Recalling customer order, to settle the remaining amount and delivering the item.
By clicking on Pick up order, you will see the same item name as what we given in Comments:
Payment history :
To put the item name from comment we are customizing the operation trigger as shown below:
The above code will change the added item description to its comment when ever comment triggered and also when item is recalled from customer order but only for “Pre-order” item-group items.
To make it constant on Item details screen on customer order, we need to customize sales order dll by using the following code in ItemDetailsViewModel class as shown below:
To enable pre-order in Retail POS we are using Service item with customer order functionality to track the payment history of the specific item ordered by customer and also user don’t need to create multiple item as the service item will take care for all the items based on the custom demands.
Once the actual item is procured the system user (Microsoft dynamics AX) will create a movement journal to reduce the actual item from the inventory so that the cost will be effected.
Happy Daxing with Rizz 😉