Sales orders are received from hundreds of stores in the beginning of the week, but you don’t have enough stock to fulfill all orders. There are several ways to set up reservations when the sales demand occurs, and it could happen at different stage of the process.
The company makes the choice to reserve inventory (hard reservation) when the sales orders are added into a load and the load is released into the warehouse.
It happens late in the process, and it would be better to spot supply shortage earlier in the process. We don’t want to hard reserve inventory as soon as the sales order is raised, but keep it flexible to reallocate stock to a different order if needed. That’s why we open the door of soft reservation.
Soft reservations are managed and stored in the Inventory Visibility add-in within Microsoft Dynamics 365 Supply Chain Management. A dedicated soft reservation center enables tracking of failed reservations for necessary follow-up actions. At this time the physical inventory quantity remains the same.
The following process can be implemented :
1 - Register a new application
Go to the Azure portal
Select Microsoft Entra ID, and open App registrations
Click New registration
Click Register
Open Certificates & secrets, then New client secret
Save in a txt file the client ID, the tenant ID and the secret value of the client secret for later.
2 - Install the add-in in LCS
Go to Lifecycle Services (LCS)
Select the environment.
Extend the Power Platform Integration tab.
Click Install a new add-in, and select Inventory visibility.
Enter the Client ID and the tenant ID you saved above.
Once the installation is completed, go to Power apps.
The following solutions were automatically created, and the Inventory visibility app is available.
Open the app, then navigate to the Admin settings tab and open Show Service details.
Copy the service endpoint, and save it in the same txt file as above.
As a next step, we need to configure D365 Supply Chain Management.
3 - D365 Supply Chain Management settings
Go to the Feature management workspace.
Turn on the following features:
Go to Inventory management > Setup > Inventory Visibility integration parameters
Paste the service endpoint and leave the default number of requests in a single request.
Then turn on Enable WMS items.
In the Enable soft reservation tab, the default soft reserve block level should be Warning as we don’t want to block the sales order but just receive a warning message.
Navigate to Inventory management > Periodic tasks > Inventory Visibility integration
Click Enable
You may get the error message “cannot synch more than 5000 records in the same warehouse”. That means that there are additional steps to run.
1. Clear User data in the Inventory Visibility Power app.
2. Open Postman and import the collections for inventory visibility
Click Import and paste the URL in the Link tab: https://www.getpostman.com/collections/95a57891aff1c5f2a7c2
Repeat the same for that link: https://www.getpostman.com/collections/496645018f96b3f0455e
3. Get the AAD token
Method: GET
URL: https://login.microsoftonline.com/{EnvironmentId}/oauth2/v2.0/token
Body: Enter the values below
Copy the outcome (AAD token).
4. Fetch an access token
Method : POST
Body: JSON
{
"grant_type": "client_credentials",
"client_assertion_type": "aad_app",
"client_assertion": "{Your_AADToken}",
"scope": "https://inventoryservice.operations365.dynamics.com/.default",
"context": "{LCS_environment_id}",
"context_type": "finops-env"
}
Copy the outcome (Access token)
5. Update the partition schema using the POST API
URL : {ServiceEndpoint}/api/environment/{EnvironmentId}/updatePartitionSchema?newversion=2
The Authorization type is Bearer Token and paste the access token you saved above.
Finally, the body is none.
You can now enable the inventory visibility from D365 SCM.
We also need to turn on the soft reservation feature in Power apps.
Sign in to Power Apps and open Inventory Visibility.
Open the Feature Management tab, turn on the OnHandReservation feature.
4 - Business process
We can trigger a soft reservation from a sales order in D365 SCM and then make an offset back to Inventory visibility when the order lines are hard reserved.
Go to Accounts Receivable > Sales orders > All sales orders
Select New to create a sales order.
Enter a sales line.
To view the soft reservation status, select the line on the Sales order lines Fast Tab. The soft reservation status is Not started and the block level is Warning as set up above.
There are two ways to make a soft reservation from a sales order. Follow these steps :
On the action pane, select Inventory Visibility integration > Soft reservation. Then select Reserve entire order by batch. That means that a reservation request is added in a batch queue that synchronizes D365 SCM with inventory visibility.
When the soft reservation is successfully made, a soft reservation id is automatically returned and recorded for each line.
In my opinion, it is very cumbersome to send the soft reservation request manually for each sales order. I hope Microsoft will amend that behavior very soon.
As a next step, we need to fulfill the order. First, add the sales order into a load.
On the action pane, select Warehouse > Load planning workbench
Select the sales order line, and go to Supply and demand > To new load
Select the load template ID
Click OK
Select Release > Release to warehouse
Go back to the sales order
Check the inventory service reservation details
The soft reserve quantity is offseted as the inventory transactions was hard reserved.