Dynamics 365 Field Service : Adjust inventory levels
Managing inventory is a critical part of field service operations. Whether it’s correcting stock discrepancies, accounting for damaged goods, or handling returns, adjusting inventory levels ensures your records reflect reality. Dynamics 365 Field Service provides robust tools for inventory adjustments that are seamlessly integrated with its Work Orders, Warehouses, and Product tracking.
In this blog, we’ll dive deep into why and how to adjust inventory levels, and explore the technical underpinnings that make it work.
Why Adjust Inventory Levels?
Inventory adjustments are used when:
- A field technician finds fewer items than recorded during a stock check.
- Damaged or expired items need to be written off.
- Extra stock is discovered and needs to be added back into the system.
- Transfers between warehouses didn’t update the inventory properly.
Key Goal: Ensure real-time, accurate inventory tracking to prevent overstocking or stockouts.
Inventory Adjustment
1. Identify the inventory discrepancy
- Triggered by stock audits, returns, or system reconciliation.
2. Choose adjustment type
- Increase: Adding items to inventory.
- Decrease: Removing items from inventory.
3. Select the product and warehouse (or van)
4. Enter adjustment quantity and reason
5. Submit and process
6. System updates inventory levels
- Reflects changes in Inventory Journals, Warehouse records, and Available Quantity.
Technical Process: How It Works in D365 Field Service
🔑 Key Entities Involved
Step-by-Step Process in the App
1. Navigate to Inventory Adjustments
- Go to Field Service → Inventory → Inventory Adjustments.
2. Create New Adjustment Record
- Click New.
- Enter a name and select the warehouse (or van location) where the adjustment is being made.
3. Add Products
- In the Inventory Adjustment Products subgrid, add each product:
- Select the product.
- Enter the adjustment type: Increase or Decrease.
- Specify the quantity.
- Optionally, provide a reason (e.g., Damaged, Found during audit).
4. Save and Submit
- Once all products are added, save the record.
- Status changes to Submitted.
5. System Processing
The system automatically:
- Updates Product Inventory records.
- Generates corresponding Inventory Journal entries for audit.
- Adjusts On Hand Quantity at the specified warehouse/van.
Technical Deep Dive: Behind the Scenes
Business Rules and Workflows
- Validation Rules: Ensure that only products stocked in the selected warehouse can be adjusted.
- Plugins/Workflows (if customized): Can trigger alerts or integrate with ERP systems (e.g., Dynamics 365 Finance & Operations).
- System Jobs: Handles bulk adjustments asynchronously for performance.
Data Model Relationships
Inventory Adjustment
↳ Inventory Adjustment Product
↳ Product
↳ Warehouse (via Product Inventory)
API & SDK (Developer Perspective)
You can create adjustments programmatically using the Dataverse Web API or SDK.
Sample C Code:
var adjustment = new Entity("msdyn_inventoryadjustment");
adjustment["msdyn_name"] = "Stock Correction - July";
adjustment["msdyn_warehouse"] = new EntityReference("msdyn_warehouse", warehouseId);
var adjustmentId = service.Create(adjustment);
var adjustmentProduct = new Entity("msdyn_inventoryadjustmentproduct");
adjustmentProduct["msdyn_inventoryadjustment"] = new EntityReference("msdyn_inventoryadjustment", adjustmentId);
adjustmentProduct["msdyn_product"] = new EntityReference("product", productId);
adjustmentProduct["msdyn_adjustmenttype"] = new OptionSetValue(690970001); // 690970001 = Increase
adjustmentProduct["msdyn_quantity"] = 10;
service.Create(adjustmentProduct);
This will create an adjustment and update the warehouse stock.
Security Considerations
- Only users with the Field Service – Inventory Management privilege can perform adjustments.
- Role-based security ensures that field technicians can adjust stock only for their assigned vans.
Pro Tips
For Functional Consultants:
- Configure reason codes for adjustments to capture detailed insights.
- Set up business process flows to guide users through complex adjustments.
For Developers:
- Leverage Azure Functions + Power Automate for custom integrations (e.g., sync adjustments with external ERP).
- Use Plugins on `Create`/`Update` of `Inventory Adjustment Product` for validation.
For Admins:
Audit logs and Inventory Journals are critical for tracking all adjustments.
Benefits of Accurate Inventory Adjustment
- Reduces failed service visits due to unavailable parts.
- Minimizes financial loss from unnoticed stock discrepancies.
- Improves customer satisfaction with faster response times.
Final Thoughts
Adjusting inventory levels in Dynamics 365 Field Service is not just a housekeeping activity—it’s a vital process to maintain operational efficiency and customer trust. By understanding the business logic and technical framework, both functional consultants and developers can implement adjustments effectively and even automate parts of the process.
Published on:
Learn moreRelated posts
Power Platform Environment Deep Dive (Part 2)
In Microsoft Power Platform, choosing the right environment type is important because each environment is designed for a different business pu...
Power Platform Environment Deep Dive (Part 1)
Today, in the business enterpriese world, Power Platform enables organization to build application, automate workflow, analyze data crea...
Book Review : Life 3.0 by Max Tegmark
This is the third book I’ve read this year, and even though I’m still in the early chapters, it already feels like my favorite read of the yea...
Dataverse Views Demystified: Making Data Work for You
In Microsoft Dataverse, users do not always see all the data stored in a table. What they can view depends on their security permissions, role...
Decode & Fix : Shared App host initialization has timed out in Microsoft Power Apps
Issue :While working with apps in the Microsoft Power Platform, we encountered a critical issue where the application failed to load pro...
Dataverse Integration Patterns: Sync vs Async vs Event-driven (Real Use Cases)
As organizations start using Microsoft Power Platform, Microsoft Dataverse is no longer just a place to store data—it becomes a key part of ho...
Book Review : Don't Believe Everything You Think by Joseph Nguyen
My second book of this year is "Don’t Believe Everything You Think" by Joseph Nguyen. This book was recommended by a friend who strongly belie...
Book Review : Scary Smart by Mo Gawdat
The first book I read in 2026 was Scary Smart by Mo Gawdat, the former Chief Business Officer at Google.In today’s world, Artificial Intellige...
Managing Temporary User Access in Dataverse with Access Teams
Access Teams let you give people access to one specific record, not the whole table.Access Teams in Microsoft Dataverse are a powerful way to ...

